release: run the first dataset release, pass `CATALOG_VERSION` into the build, and write the version into CITATION.cff
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, javascript
- Domain
- build-system, release
Research direction
Start by reading .github/workflows/release.yml, site/build.mjs, and CITATION.cff; compare the release workflow’s build and tag steps with the version handling described in the issue. Check the workflow’s release notes extraction and the documented reverify script path in site/README.md. Done means a release has all five listed attachments, its data.json version matches the tag, CITATION.cff has the newest tag, and npm run reverify works.
Written by the indexing model from the issue text.
Description
Why it matters
The documented "pin a version by tag" path does not exist yet, and when it does the tag and data.json.version will be computed from two different clocks. Anyone who wants to cite, bundle or reproduce against a fixed snapshot (researchers, the MCP/CLI audience of #115, the CITATION.cff audience) has nothing to point at. #113 is closed, but the user-visible outcome is not there.
Evidence (at 69387df)
gh release listis empty;gh run list --workflow=release.ymlhas no runs. The workflow (.github/workflows/release.yml) hasworkflow_dispatchand a cron for the 1st of each month, so the first scheduled run is 2026-11-01.site/README.md:149-156("Releases") tells readers to "Fetch a fixed version by tag from the Releases page" and thatdata.json"carries the same tag asversion". The builtdata.jsonalready saysversion: v2026.10.23, a tag that does not exist.site/build.mjs:539-540readsprocess.env.CATALOG_VERSION("the tag a dataset release carries (release.yml)"), butrelease.yml:31, 37builds without any env and computestag="v$(date -u +%Y.%m.%d)"in a later step. Nothing asserts the two agree.release.yml:43awk '/^## /{n++} n==1' docs/review-ledger.md: if the newest ledger section is not the first##heading, the notes silently contain only the two appended lines.CITATION.cffhasdate-releasedbut noversion:and noidentifiers:; the workflow never touches it.- Small adjacent gaps:
package.jsonengines.node >=22while.nvmrcand every workflow use 24; there is nonpm run reverifyalthoughsite/README.md:167documents the script by path.
Suggested approach
gh workflow run release.ymlonce now so a real release exists with the five attachments.- In
release.yml, compute the tag in a first step, write it to$GITHUB_ENV, passCATALOG_VERSIONto the build, and fail ifjq -r .version site/dist/data.jsondiffers. Guard the awk with[ -s release-notes.md ] || exit 1. - Have the workflow write
version:anddate-released:intoCITATION.cffand commit tomain(the repo works off main). - Optionally connect the repo to Zenodo so each release mints a DOI, and add it to
CITATION.cffidentifiers. - Set
engines.nodeto>=24; add"reverify": "node site/reverify-batch.mjs".
Done when
At least one release is visible with data.json, catalog.csv, feed.xml, reverified.xml, llms.txt; the attached data.json version equals the tag; CITATION.cff version equals the newest tag; npm run reverify works.
- Dominant language
- JavaScript
- Stars
- 58
- Forks
- 15
- Avg merge
- 16h 53m
- Merged PRs (30d)
- 14
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TMHSDigital/Free-Game-Dev-Assets
-
community marketing priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
TMHSDigital/Free-Game-Dev-Assets#151 ·
Maintainers usually reply within 1 day
-
documentation priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TMHSDigital/Free-Game-Dev-Assets#72 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 1/5 1-3 hours Newbie friendliness 68/100
TMHSDigital/Free-Game-Dev-Assets#3 · 1 comment ·
Maintainers usually reply within 1 day
-
marketing priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
TMHSDigital/Free-Game-Dev-Assets#152 ·
Maintainers usually reply within 1 day
-
feature priority: medium
Difficulty 5/5 Over a week Newbie friendliness 25/100
TMHSDigital/Free-Game-Dev-Assets#144 ·
Maintainers usually reply within 1 day
All issues in TMHSDigital/Free-Game-Dev-Assets
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
glossyio/traffic-monitor#255 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
juice-shop/juice-shop#3706 ·
Maintainers usually reply within 1 day
-
Main workflow runs twice for newly created refsPossibly taken @rustyconover claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
duckdb/duckdb-wasm#2293 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
521xueweihan/HelloGitHub#4115 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
outline/outline#14348 · 1 comment ·
Maintainers usually reply within 1 day