Skip to content

fix(ether0): gitignore the auto-installed checkout - #4606

Merged
cmunley1 merged 1 commit into
mainfrom
ananthsub/gitignore-ether0-checkout
Oct 15, 2026
Merged

cmunley1 merged 1 commit into
mainfrom
ananthsub/gitignore-ether0-checkout

Conversation

@ananthsub

Copy link
Copy Markdown
Contributor

What changed and why

The ether0 resources server clones the upstream ether0 repository into resources_servers/ether0/.ether0/ the first time its tests or server start (ensure_ether0() in resources_servers/ether0/setup_ether0.py). That directory was not covered by any .gitignore, so it showed up as untracked after a test run.

The clone also includes .github/workflows/lint-test.yaml. The core unit test TestConfigLoadErrors::test_all_repo_configs_load_without_duplicate_keys in tests/unit_tests/test_global_config.py loads every *.yaml under resources_servers/ with OmegaConf. OmegaConf cannot parse GitHub Actions expressions such as ${{ matrix.python }}, so the test failed with token recognition error at: '{'. As a result, the core unit suite failed on any checkout where the ether0 tests had run.

The fix has two parts:

  • resources_servers/ether0/.gitignore ignores .ether0/. This follows the per-server convention that chemcotbench uses for its .upstream/ and .molopt/ checkouts, and matches the AGENTS.md guidance that auto-installed tools live in a gitignored .<tool_name>/ prefix inside the server directory.
  • The config sweep now skips YAML files under any hidden directory inside the swept trees. Those directories hold local tool checkouts rather than Gym configs, so a future server that clones a tool the same way does not break the test. A new test builds a server directory containing both a real config and a workflow file under a hidden directory, and checks that only the real config is collected.

No issue is linked because this is a small test-environment fix with no user-facing behavior change.

Validation

  • pytest tests/unit_tests/test_global_config.py -x
  • gym env test --resources-server ether0, which cloned .ether0/ with its workflow file. Afterwards git status did not list .ether0/, and pytest tests/unit_tests/test_global_config.py passed. The same config-load test from main fails on that checkout with the token recognition error above.
  • With the hidden-directory filter removed, the new test fails.
  • pre-commit run --files resources_servers/ether0/.gitignore tests/unit_tests/test_global_config.py

Rollout evidence

N/A. The change touches only a .gitignore entry and a unit test's file discovery, and it does not change environment, agent, or verifier behavior.

The ether0 resources server clones the upstream ether0 repository into
resources_servers/ether0/.ether0/ the first time its tests or server start.
That directory was not ignored, so it showed up as untracked after a test run.

The clone also carries .github/workflows/lint-test.yaml. The core unit test
test_all_repo_configs_load_without_duplicate_keys loads every *.yaml under
resources_servers/ with OmegaConf, and GitHub Actions expressions such as
${{ matrix.python }} fail to parse. Any checkout where the ether0 tests had run
therefore failed the core unit suite.

Add .ether0/ to a per-server .gitignore, following chemcotbench. Make the
config sweep skip YAML files under hidden directories inside the swept trees,
since those hold local tool checkouts rather than Gym configs, and add a test
that a workflow file under a hidden directory is not collected.

Signed-off-by: Ananth Subramaniam <ansubramania@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 14, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@ananthsub
ananthsub marked this pull request as ready for review October 14, 2026 17:35
@nemo-automation-bot
nemo-automation-bot Bot requested review from a team October 14, 2026 17:37
@yaoyu-33 yaoyu-33 added area:ci CI workflows, test routing, and repository automation ci CI, automation, test queue, or workflow infrastructure work complexity:low Localized change in one scope with a small, straightforward review surface needs-review PR is ready for code review and waiting on a reviewer labels Oct 14, 2026
@cmunley1
cmunley1 added this pull request to the merge queue Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA-NeMo/Gym/actions/runs/38697834060

@github-actions

Copy link
Copy Markdown
Contributor

🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA-NeMo/Gym/actions/runs/38699487540

Merged via the queue into main with commit fad71b6 Oct 15, 2026
52 of 57 checks passed
@cmunley1
cmunley1 deleted the ananthsub/gitignore-ether0-checkout branch October 15, 2026 07:50

This branch was previously deployed

1 inactive deployment
public — 087cfe99 Deployed Oct 14, 2026 by copy-pr-bot[bot] via release / finalize / notify #5338
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ci CI workflows, test routing, and repository automation ci CI, automation, test queue, or workflow infrastructure work complexity:low Localized change in one scope with a small, straightforward review surface needs-review PR is ready for code review and waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants