Spaces:
Sleeping
Sleeping
|
Download .github/AGENTS.md from Leon4gr45/openoperator: direct link, hf CLI and curl.
- Browser
- Download file 2.96 kB
-
https://huggingface.co/spaces/Leon4gr45/openoperator/resolve/main/.github/AGENTS.md
- Command line
-
hf download hf://spaces/Leon4gr45/openoperator/.github/AGENTS.md
-
curl -L -o AGENTS.md https://huggingface.co/spaces/Leon4gr45/openoperator/resolve/main/.github/AGENTS.md
2.96 kB
| # GitHub Automation DOX | |
| ## Purpose | |
| - Own repository automation that runs on GitHub, including workflows and release-planning scripts. | |
| - Keep CI, Docker publishing, stale issue handling, and release-note generation aligned with repository release rules. | |
| ## Ownership | |
| - `workflows/` contains GitHub Actions workflow definitions. | |
| - `scripts/` contains Python helpers called by workflows. | |
| - This file owns release automation rules; user-facing release documentation belongs under `docs/`. | |
| ## Local Contracts | |
| - Docker publishing lives in `workflows/docker-publish.yml` and delegates planning to `scripts/docker_release_plan.py`. | |
| - Hugging Face deployment lives only in `workflows/deploy-huggingface-space.yml`: clean `main` snapshots target `Leon4gr45/openoperator` and record `openoperator-build.json`. Manual runs are restricted to `main`; the legacy sync workflow performs no upload. | |
| - Releasable tags are `vX.Y` tags at or above `v1.0`, matching the workflow environment. | |
| - On `main`, the newest eligible tag publishes both the version tag and `latest`, then creates or updates its GitHub release after the image push succeeds; other allowed branches publish only their branch tag. | |
| - Manual dispatch without a tag backfills missing Docker Hub tags. Manual dispatch with a tag rebuilds that target and refreshes `latest` and the GitHub release only when it remains the newest eligible tag on `main`. | |
| - Release-note generation reads `scripts/openrouter_release_notes_system_prompt.md` from the repository root and requires OpenRouter credentials from workflow environment variables. | |
| - Release notes compare against the previous published GitHub release tag and fall back to `No release notes.` when no meaningful summary is generated. | |
| - Keep workflow secrets in GitHub Actions secrets or environment variables. Do not commit credentials, tokens, or generated release bodies containing private data. | |
| - Workflow scripts must fail loudly with actionable messages when required environment variables or git refs are missing. | |
| ## Work Guidance | |
| - Prefer deterministic, testable Python for workflow planning logic instead of complex inline shell in YAML. | |
| - Preserve manual dispatch behavior when changing Docker publishing. | |
| - Keep branch, tag, and release behavior synchronized between workflow YAML, release scripts, tests, and user-facing release documentation. | |
| ## Verification | |
| - Run `pytest tests/test_docker_release_plan.py` after changing Docker publish planning or release workflow behavior. | |
| - Run targeted tests for any changed script that already has coverage. | |
| ## Child DOX Index | |
| No child DOX files. | |
| The OpenOperator integration workflow explicitly runs the real Argus profile/plugin/ | |
| lifecycle discovery test and verifies its JUnit result contains no skip, error or failure. | |
| It also runs the real ASGI read-only A2A boundary suite; no deployment is triggered by | |
| this workflow. Use the clean branch's own check results, never prior PR evidence. | |