Repository navigation
Publish SBOMs with releases, upload to DependencyTrack, upgrade locked deps - #20
Merged
Merged
Conversation
- The release job builds a runtime-only SBOM (package + locked runtime
deps) and attaches SPDX and CycloneDX files to the GitHub release.
- New dependencytrack job uploads the CycloneDX SBOM as version <tag> of
oss/python/django-postcode-lookup, isLatest=true. It holds the DT key,
does no checkout and runs no repo code. It lives in this workflow
because releases made with GITHUB_TOKEN don't trigger release events.
- Pass step outputs and event data through env instead of ${{ }} in run.
- persist-credentials: false on the test checkout.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Same pattern as labd/ecs-deplojo (#33, #34), adapted to this repo's changie release flow.
Dependencies
uv lock --upgrade. Clears all advisories in the locked runtime deps: Django 5.2.14 → 5.2.18 / 6.1.2, sqlparse 0.5.5 → 0.6.0, urllib3 2.7.0 → 2.8.0, djangorestframework 3.17.1 → 3.18.3, idna 3.14 → 3.20.Django>=4.2).Release workflow
uv build, install the package + locked runtime deps only (uv sync --frozen --no-default-groups --no-editable), scan with syft, and attachdjango-postcode-lookup.spdx.jsonand.cdx.json(CycloneDX 1.6) to the GitHub release.dependencytrackjob uploads the CycloneDX SBOM as version<version>ofoss/python/django-postcode-lookup(OSS›OSS Python),isLatest=true.DEPENDENCYTRACK_OSS_APIKEY(upload-only DT key,labdorg secret scoped to selected repos).GITHUB_TOKENdon't triggerreleaseevents.env:instead of${{ }}inrun:.persist-credentials: falseon the test checkout.Checks
ruff checkpasses,pytest6 passed.pinact run --check --verify-comment, zizmor (only the trusted-publishing note).Before the next release
DEPENDENCYTRACK_OSS_APIKEYorg secret's selected repos.setup_project_hierarchy.py --client "OSS" --folder "OSS Python" --library "oss/python/django-postcode-lookup".