Skip to content

Implement Release Packaging#67

Merged
alexrichey merged 4 commits intomainfrom
ar-release-packaging
Apr 9, 2026
Merged

Implement Release Packaging#67
alexrichey merged 4 commits intomainfrom
ar-release-packaging

Conversation

@alexrichey
Copy link
Copy Markdown
Collaborator

No description provided.

Creates releases with:
- metadata-assets-{version}.zip: All generated XLSX data dictionaries
- destination_versions.txt: Complete list of destination versions
- changed_versions.txt: Diff from previous release (added/changed/removed)

Workflow:
1. Manually triggered with release_version input
2. Checks out both data-engineering and product-metadata repos
3. Generates metadata assets using new CLI command
4. Generates destination versions list
5. Diffs against previous release (graceful fallback for first release)
6. Creates GitHub release with all artifacts

Usage:
  Run manually from Actions tab, provide version (e.g., 24v3)
Changes:
1. Use 'dcpy' instead of 'python -m dcpy' (editable install)
2. Use 'dcpy lifecycle package metadata list-versions' instead of inline Python
3. Use 'dcpy lifecycle package metadata diff-versions' for version comparison
4. Simplify release notes (removed per-product details for now)

Commands used:
- dcpy lifecycle package metadata generate
- dcpy lifecycle package metadata list-versions
- dcpy lifecycle package metadata diff-versions
Removes Docker container overhead (~1GB download, slower startup).
Uses actions/setup-python@v5 for Python 3.11 installation.

Benefits:
- Faster startup (no container pull)
- Simpler dependency management
- Sufficient for static file generation tasks
Outputs:
- changed_versions.txt: Human-readable diff
- changed_versions.json: Machine-readable for distribution workflows

JSON format enables downstream workflows to:
1. Parse changed/added destinations
2. Create distribution matrix: [{product, dataset, version}]
3. Spawn parallel distribution jobs per product.dataset

Example JSON usage in distribution workflow:
  strategy:
    matrix:
      include: ${{ fromJson(needs.release.outputs.changed_destinations) }}
@alexrichey alexrichey marked this pull request as draft April 8, 2026 20:19
@alexrichey alexrichey marked this pull request as ready for review April 9, 2026 15:35
@alexrichey alexrichey merged commit 87f812e into main Apr 9, 2026
1 check passed
@alexrichey alexrichey deleted the ar-release-packaging branch April 9, 2026 15:35
@alexrichey alexrichey restored the ar-release-packaging branch April 9, 2026 16:44
@alexrichey alexrichey deleted the ar-release-packaging branch April 9, 2026 16:49
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