Skip to content

Add Phase 2.5 equivalence testing infrastructure (CI + comparison script)#19

Closed
Copilot wants to merge 3 commits intomainfrom
copilot/phase-2-5-equivalence-testing
Closed

Add Phase 2.5 equivalence testing infrastructure (CI + comparison script)#19
Copilot wants to merge 3 commits intomainfrom
copilot/phase-2-5-equivalence-testing

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

  • Understand current workflow structure
  • Remove Checkout fre-cli step; conda install noaa-gfdl::fre-cli instead
  • Drop submodules: recursive; add explicit checkouts for cmip6-cmor-tables and cmip7-cmor-tables
  • Validate YAML syntax

Copilot AI linked an issue Apr 14, 2026 that may be closed by this pull request
@ilaflott ilaflott force-pushed the copilot/phase-2-5-equivalence-testing branch from ab87897 to dc43d3a Compare April 14, 2026 01:56
Copilot AI changed the title [WIP] Add equivalence testing with fre-cli for fremorizer Add Phase 2.5 equivalence testing infrastructure (CI + comparison script) Apr 14, 2026
Copilot AI requested a review from ilaflott April 14, 2026 01:57
@ilaflott ilaflott marked this pull request as ready for review April 14, 2026 01:58
@ilaflott ilaflott force-pushed the copilot/phase-2-5-equivalence-testing branch 3 times, most recently from 6edc010 to cf497d0 Compare April 14, 2026 03:00
Copilot AI and others added 3 commits April 14, 2026 10:52
Create .github/workflows/equivalence_test.yml that:
- Checks out both fremorizer and fre-cli with submodules
- Sets up miniforge with conda-forge and noaa-gfdl channels
- Creates separate conda environments for each tool
- Runs comparison script against shared test fixtures
- Uploads equivalence report as CI artifact

Create fremorizer/tests/equivalence/compare_with_fre_cli.py that:
- Runs equivalent CLI commands through both tools (fremor vs fre cmor)
- Compares output directory structures
- Deep-compares netCDF files (dimensions, variables, attributes, data)
- Generates a markdown equivalence report
- Covers basic CMORization run, varlist variants, and find subtool
- Handles known acceptable differences (timestamps, UUIDs, etc.)

Agent-Logs-Url: https://github.com/ilaflott/fremorizer/sessions/5d037b88-43a4-4d27-8b71-8f66a467e829

Co-authored-by: ilaflott <6273252+ilaflott@users.noreply.github.com>
- Use parenthesized line continuation for multi-line path construction
- Wrap ncgen3 call with a descriptive FileNotFoundError message
- Rename ambiguous loop variable 'l' to 'line'

Agent-Logs-Url: https://github.com/ilaflott/fremorizer/sessions/5d037b88-43a4-4d27-8b71-8f66a467e829

Co-authored-by: ilaflott <6273252+ilaflott@users.noreply.github.com>
…checkouts

- Remove 'Checkout fre-cli' step; install fre-cli from noaa-gfdl conda channel instead
- Drop submodules: recursive from fremorizer checkout
- Add explicit checkout steps for cmip6-cmor-tables (pcmdi) and cmip7-cmor-tables (WCRP-CMIP) into their correct paths under fremorizer/tests/test_files/

Agent-Logs-Url: https://github.com/ilaflott/fremorizer/sessions/339a91ec-f811-48a0-bc0b-7048d0eee2ed

Co-authored-by: ilaflott <6273252+ilaflott@users.noreply.github.com>
@ilaflott ilaflott force-pushed the copilot/phase-2-5-equivalence-testing branch from cf497d0 to e8dc570 Compare April 14, 2026 14:52
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@           Coverage Diff           @@
##             main      #19   +/-   ##
=======================================
  Coverage   93.74%   93.74%           
=======================================
  Files           9        9           
  Lines        1199     1199           
=======================================
  Hits         1124     1124           
  Misses         75       75           

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5e35634...e8dc570. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ilaflott ilaflott marked this pull request as draft April 14, 2026 17:23
@ilaflott
Copy link
Copy Markdown
Member

nah

@ilaflott ilaflott closed this Apr 17, 2026
@ilaflott ilaflott deleted the copilot/phase-2-5-equivalence-testing branch April 17, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Equivalence Testing with fre-cli

3 participants