Skip to content

Extend supported versions to R2022a, R2025a, R2026a - #47

Merged
djankov merged 6 commits into
mainfrom
feat/extend-supported-versions
Apr 30, 2026
Merged

djankov merged 6 commits into
mainfrom
feat/extend-supported-versions

Conversation

@djankov

@djankov djankov commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Widen GmatVersion to {R2022a, R2025a, R2026a}; add a per-version MIN_SIZE_BYTES map with conservative floors verified by HEAD against SourceForge (R2022a 360 MiB, R2025a 390 MiB, R2026a 380 MiB unchanged).
  • Map the smoke sample by version: R2022a/R2025a use samples/Ex_R2014a_HighFidelitySRP.script; R2026a uses samples/Ex_HighFidelitySRP.script (renamed upstream). Both variants verified headless-safe (no OrbitView / OpenFrames / XYPlot resources).
  • Drop R2026a-only prose in README, docs/, and action.yml. The version-matrix tables, the roadmap, the Python-ABI guidance, and yaml/error-message examples are explicitly out of scope and untouched — those go with the v0.2-surface docs issue.
  • Rebuild dist/.

extract.ts needed no change — it was already version-parameterized via path.join(stagingDir, 'GMAT', version), and the GMAT/<version>/api/BuildApiStartupFile.py wrapper layout was confirmed identical across all three tarballs.

NASA never released R2023a or R2024a — there are no SourceForge artifacts, so SUPPORTED_VERSIONS skips those years.

Test plan

  • npm run all (format:check + lint + typecheck + build) green locally.
  • R2022a/R2025a smoke-sample paths and api/BuildApiStartupFile.py paths verified by tar tzf against freshly-downloaded SourceForge tarballs.
  • R2026a smoke-sample and api-script paths verified against the local install at ~/gmat-R2026a/.
  • CI green on the existing Ubuntu × R2026a self-test job.
  • End-to-end run against R2022a and R2025a is not exercised in CI here — the CI matrix expansion is explicitly out of scope per the issue and tracked separately.

Out of scope (per issue)

  • Windows / macOS support.
  • Cache-key SHA-256 fold-in.
  • CI matrix expansion to R2022a / R2025a self-tests.
  • Version-matrix tables in README and docs/inputs-outputs.md (handled by the v0.2-surface docs issue).
  • Per-version Python-ABI guidance (also docs issue).
  • CHANGELOG.md (release-cut only).

Closes #36

djankov added 6 commits April 30, 2026 18:55
Widens the GmatVersion type to {R2022a, R2025a, R2026a} and extends
MIN_SIZE_BYTES with conservative floors based on real installer sizes
verified by HEAD against SourceForge:

  R2022a: 372 MiB observed → 360 MiB floor
  R2025a: 402 MiB observed → 390 MiB floor
  R2026a: 383 MiB observed → 380 MiB floor (unchanged)

NASA never released R2023a or R2024a — no SourceForge artifacts exist
for those years. Refs #36.
R2026a renamed Ex_R2014a_HighFidelitySRP.script to Ex_HighFidelitySRP.script.
The smoke check now resolves the right filename per version: R2022a and
R2025a fall back to the older name, R2026a uses the new one. Both variants
were verified headless-safe (no OrbitView/OpenFrames/XYPlot resources).

Refs #36.
Remove outright 'R2026a is the only supported version' claims that v0.1
left behind in user-facing prose. The version-matrix tables in README
and inputs/outputs.md, the roadmap table, the Python-ABI guidance, and
yaml/error-message examples are explicitly out of scope and untouched
here — those belong to the v0.2 docs issue.

Also update two factual claims that the per-version smoke sample
mapping invalidates:

  - inputs-outputs.md / getting-started.md / troubleshooting.md no
    longer name the smoke sample by filename (it varies per release).
  - run-mission-script.md notes the R2026a rename of
    Ex_R2014a_HighFidelitySRP.script.

Refs #36.
Regenerated bundle after the R2022a/R2025a/smoke-sample changes.
Prettier widened the column to match the longest row after the
samples/ description was rewritten.
The supported-versions expansion ships post-v0.1, so the previous wording
that anchored 'v0.1' as the release that supports R2022a/R2025a/R2026a
was technically wrong. Rewrite the affected paragraphs in present tense
and bump 'scoped for v0.2' to 'tracked under a future milestone' since
the version-matrix landing in v0.2 displaces the prior Windows/macOS
v0.2 commitment.
@djankov
djankov marked this pull request as ready for review April 30, 2026 23:08
@djankov
djankov merged commit 428a214 into main Apr 30, 2026
4 checks passed
@djankov
djankov deleted the feat/extend-supported-versions branch April 30, 2026 23:08
@djankov djankov mentioned this pull request May 1, 2026
2 of 6 tasks
djankov added a commit that referenced this pull request May 1, 2026
- Populate CHANGELOG.md with the [0.2.0] - 2026-05-01 section, aggregated from the 11 merged v0.2 PRs (#47, #48, #49, #50, #51, #52, #53, #55, #56, #57, #58).
- Bump package.json version from 0.1.0 to 0.2.0.

The v0.2 row in the README roadmap was already trimmed-and-relabelled (`v0.2 _(current)_`) by #58 ahead of the cut, mirroring the v0.1 cut precedent (#35), so no README change is needed here.

Closes #46.
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.

Extend supported versions to R2022a, R2025a, R2026a + audit v0.1 R2026a-hardcoding

1 participant