Skip to content

Release artifacts#182

Draft
abkfenris wants to merge 3 commits into
phase-2d-npm-data-packagefrom
phase-2e-release-artifacts-ci
Draft

Release artifacts#182
abkfenris wants to merge 3 commits into
phase-2d-npm-data-packagefrom
phase-2e-release-artifacts-ci

Conversation

@abkfenris

@abkfenris abkfenris commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Generate release artifacts and data package publishing, plus switch workflows to use the release-event trigger so the artifacts can be reliably attached.


This is part 6 of 6 in a stack made with GitButler:

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

Javascript size report

Size
Base (phase-2d-npm-data-package) 462.3 KB
PR 462.3 KB
Delta +0.0 KB (+0.0%)

✅ No size change.

Replace `push: tags: ['*']` + tag-based `if:` guards with
`release: types: [published]` trigger and
`github.event_name == 'release' && github.event.action == 'published'`
guards across all three workflows (javascript.yml, python.yml, rust.yml).

The release process creates tags via the GitHub UI release form, so a
release event is semantically correct and avoids double-triggering on
the implicit tag push that GitHub creates alongside the release.
Run generate_partitions.py once in CI (generate_data job), upload the
data/ directory as the knowledge-data artifact, and consume it in every
downstream job so no script parses YAML independently.

generate_partitions.py:
- Copy _cf_standards.yaml → data/cf_standards.yaml for JS YAML-ingestion

gen-data.mjs:
- Reads from data/ (pre-generated) instead of core/standards/*.yaml
- Removes all YAML parsing; no longer needs the yaml npm package
- Extracts data/all-knowledge.json.knowledge for the flat public/knowledge.json

js-data-pkg/scripts/build.mjs:
- Reads from data/*.json instead of parsing YAML directly
- Removes yaml npm package dependency

javascript.yml:
- New generate_data job: checkout → uv → generate_partitions.py → upload artifact
- test job: needs generate_data, downloads knowledge-data artifact to data/
- build_data_pkg job: needs generate_data, downloads artifact; uploads npm-data-package
- New upload_data_pkg job: publishes standard_knowledge_data to npm on release
- New release_data job: attaches JSON/YAML data files to GitHub Release

noxfile.py:
- js_test and data_pkg_build sessions now run generate_partitions.py first
After bumping the Rust workspace version, read the new version from
Cargo.toml and run npm version --prefix js-data-pkg to keep the
standard_knowledge_data npm package in lockstep.
@abkfenris abkfenris force-pushed the phase-2d-npm-data-package branch from edd4d33 to a2c9065 Compare June 25, 2026 20:36
@abkfenris abkfenris force-pushed the phase-2e-release-artifacts-ci branch from 814d12e to 5b212d6 Compare June 25, 2026 20:36
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.

1 participant