Skip to content

Validate released analysis files against the current EOS release - #3

Open
dvandyk wants to merge 3 commits into
mainfrom
validation
Open

dvandyk wants to merge 3 commits into
mainfrom
validation

Conversation

@dvandyk

@dvandyk dvandyk commented Sep 29, 2026

Copy link
Copy Markdown
Member

Replaces the hand-maintained matrix in validate.yaml with one built from a new
record, .github/analyses.yaml, naming the analysis files of each data set. A
first job turns that record into a job matrix; a second checks out each data
set's branch and validates one analysis file per job, in
docker.io/eoshep/eos:latest. Weekly, plus manual dispatch.

Errors open an issue per data set and analysis file, or update the one already
open; issues are never closed automatically. Only ERROR diagnostics count;
warnings ("prior is unused", "default value may change across versions") are
expected for released data sets and would otherwise be permanent noise. Where
EOS reports a line, the issue links to it at the data set's own commit.

Validated for now: 2025-05, 2025-06, 2026-03. The rest carry skip: True until
they have been looked at; 2026-01 has no analysis file.

Two unrelated commits ride along, both separable:

  • The missing eos_version for 2025-05 and 2025-06 in datasets.yaml. Without it eos.Datasets cannot parse the registry at all.
  • A pre-commit hook bump to v6.0.0.

Not yet run in Actions: schedule and workflow_dispatch only work once the
workflow is on the default branch. Worth dispatching by hand after merging.
Expected: 2025-06 and 2026-03 silent, 2025-05 opening three issues of four
errors each (corner-plot is no longer a task). A second run should update
those three rather than open three more.

Both entries lacked the field, which eos.DataSetDescription requires, so
eos.Datasets could not deserialise the registry at all. The version is the one
stated in each data set's README.
Replace the hand-maintained matrix in the validation workflow with one built
from a new record, .github/analyses.yaml, which names the analysis files of
each data set at its highest released revision. A first job turns that record
into a job matrix; a second checks out each data set's branch and validates one
analysis file per job.

Validation now runs in docker.io/eoshep/release:latest rather than against a
pinned prerelease of eoshep installed with pip.

eos-analysis validate exits 0 whether or not it finds anything, so the check
runs through a driver that reports the errors found as JSON. Releases up to
1.0.21 have no notion of severity and print one line per error; later EOS
returns diagnostics carrying a severity, of which only the errors are reported.
Warnings are expected for released data sets and must not raise an alarm.

Errors open an issue per data set and analysis file, or update the body of the
issue already open for it. Issues are never closed automatically.

The composite action is dropped, having become unused.
v4.4.0 declared the deprecated stage names 'commit' and 'push', which a future
pre-commit will reject.
@dvandyk
dvandyk requested review from mreboud and a balanced review from Copilot September 29, 2026 12:23
@dvandyk dvandyk self-assigned this Sep 29, 2026
@dvandyk
dvandyk requested a review from MJKirk September 29, 2026 12:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The analysis inventory omits three released data sets despite its stated completeness contract.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Introduces scheduled validation of released EOS analysis files against the latest EOS container.

Changes:

  • Builds validation jobs from a centralized analysis inventory.
  • Reports validation errors through annotations and persistent issues.
  • Updates dataset metadata and pre-commit hooks.
File Description
.github/​analyses.yaml Defines analysis files and validation eligibility.
.github/​workflows/​validate.yaml Runs scheduled matrix validation.
.github/​scripts/​build_matrix.py Generates the job matrix.
.github/​scripts/​validate_analysis.py Filters and serializes EOS diagnostics.
.github/​scripts/​report_issue.sh Creates or updates validation issues.
.github/​actions/​validate-analysis/​action.yml Removes the superseded composite action.
datasets.yaml Adds missing EOS versions.
.pre-commit-config.yaml Upgrades pre-commit hooks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/analyses.yaml
analysis_files:
- analysis.yaml

2025-01:
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.

2 participants