-
Notifications
You must be signed in to change notification settings - Fork 2
Publish Standard60 task snapshot #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| # Maintainer Guide | ||
|
|
||
| This guide covers release and publication work. Contributor-facing setup remains | ||
| in [`CONTRIBUTING.md`](CONTRIBUTING.md). | ||
|
|
||
| ## Repository Boundaries | ||
|
|
||
| - `config.toml` is the source of truth for public mock-service metadata. | ||
| - `example_tasks/` contains small runtime fixtures and templates. | ||
| - `tasks/` publishes the exact Standard60 snapshot listed in | ||
| `tasks/STANDARD60_MANIFEST.txt`. | ||
| - Task authoring and benchmark policy remain downstream concerns. | ||
|
|
||
| ## Pull Request Gate | ||
|
|
||
| Before merging a release-affecting pull request: | ||
|
|
||
| ```bash | ||
| scripts/smoke_dev.sh | ||
| python3 -m unittest \ | ||
| tests/test_standard60_tasks.py \ | ||
| tests/test_public_data_hygiene.py | ||
| ``` | ||
|
|
||
| Run the relevant package conformance suite when service behavior changes: | ||
|
|
||
| ```bash | ||
| cd packages/environments/mock-gdrive | ||
| uv run --extra dev pytest tests/test_conformance.py -q | ||
| ``` | ||
|
|
||
| CI additionally: | ||
|
|
||
| - builds the current `VERSION` image; | ||
| - smokes every example-task image; | ||
| - runs one oracle task for each of the eight public mock environments; | ||
| - verifies all 68 task packages use native `task.md` layout. | ||
|
|
||
| ## Standard60 Updates | ||
|
|
||
| When refreshing `tasks/`: | ||
|
|
||
| 1. Keep exactly the names in `tasks/STANDARD60_MANIFEST.txt`. | ||
| 2. Use only `task.md`, `oracle/`, and `verifier/`; do not add `task.toml`, | ||
| `instruction.md`, `solution/`, or task-level `tests/`. | ||
| 3. Use public `mock-*` CLIs and the current | ||
| `ghcr.io/benchflow-ai/env0:<VERSION>`. | ||
| 4. Lock copied seed payloads after image build-time seeding. | ||
| 5. Replace real-person identifiers and credential-shaped values with reserved | ||
| synthetic fixtures before publication. | ||
|
|
||
| ## Base Image Release | ||
|
|
||
| `VERSION` is the base-image semver source of truth. | ||
|
|
||
| After the release PR is squash-merged and `main` CI is green: | ||
|
|
||
| 1. Dispatch the `Publish Base Image` workflow on `main`. | ||
| 2. Confirm it pushes both `ghcr.io/benchflow-ai/env0:<VERSION>` and `latest`. | ||
| 3. Confirm its remote verification step finds all eight `mock-*` CLIs. | ||
| 4. Tag the merged commit using the repository release line, for example | ||
| `v0.2` for `VERSION=0.2.0`. | ||
| 5. Publish a GitHub release from that tag and verify it is marked latest. | ||
|
|
||
| Do not publish the GitHub release before the GHCR workflow succeeds. | ||
|
|
||
| ## Public Data Review | ||
|
|
||
| Before release, verify: | ||
|
|
||
| - no `.env`, auth, token, credential, database, or local runtime files are | ||
| tracked; | ||
| - no real API keys, JWTs, assignable SSNs, local workstation paths, or private | ||
| repository links are present; | ||
| - live-capture fixtures contain only sanitized test-account data; | ||
| - intentional mock credentials and test cards are clearly documented and have | ||
| no authority outside localhost services. | ||
|
|
||
| Report actual vulnerabilities privately according to [`SECURITY.md`](SECURITY.md). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| 0.1.0 | ||
| 0.2.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the publish workflow, this inner
shscript doesn't enableerrexit; inside the loop, a failingcommand -vis overwritten by later iterations. If a pushed image is missing any binary except the last one (mock-stripe), the “Verify remote pull” step can still exit with the final successful check and pass while the published base image is incomplete. Addset -eor explicitlyexit 1on a missing command before the loop continues.Useful? React with 👍 / 👎.