11name : Publish
22on :
33 push :
4- tags :
5- - ' *'
4+ tags : ['*']
65jobs :
76 build :
87 runs-on : ubuntu-latest
98 outputs :
109 hash : ${{ steps.hash.outputs.hash }}
1110 steps :
1211 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
13- - uses : actions /setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
12+ - uses : astral-sh /setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v6.1 .0
1413 with :
15- python-version : ' 3.x '
16- cache : pip
17- cache-dependency-path : requirements*/*.txt
18- - run : pip install -r requirements/build.txt
19- # Use the commit date instead of the current date during the build.
14+ enable-cache : true
15+ prune- cache : false
16+ - uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
17+ with :
18+ python-version-file : pyproject.toml
2019 - run : echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> $GITHUB_ENV
21- - run : python -m build
22- # Generate hashes used for provenance.
20+ - run : uv build
2321 - name : generate hash
2422 id : hash
2523 run : cd dist && echo "hash=$(sha256sum * | base64 -w0)" >> $GITHUB_OUTPUT
26- - uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
24+ - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
2725 with :
2826 path : ./dist
2927 provenance :
@@ -33,18 +31,16 @@ jobs:
3331 id-token : write
3432 contents : write
3533 # Can't pin with hash due to how this workflow works.
36- uses : slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@5a775b367a56d5bd118a224a811bba288150a563 # v2.0 .0
34+ uses : slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1 .0
3735 with :
3836 base64-subjects : ${{ needs.build.outputs.hash }}
3937 create-release :
40- # Upload the sdist, wheels, and provenance to a GitHub release. They remain
41- # available as build artifacts for a while as well.
4238 needs : [provenance]
4339 runs-on : ubuntu-latest
4440 permissions :
4541 contents : write
4642 steps :
47- - uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
43+ - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
4844 - name : create release
4945 run : >
5046 gh release create --draft --repo ${{ github.repository }}
@@ -54,16 +50,14 @@ jobs:
5450 GH_TOKEN : ${{ github.token }}
5551 publish-pypi :
5652 needs : [provenance]
57- # Wait for approval before attempting to upload to PyPI. This allows reviewing the
58- # files in the draft release.
5953 environment :
6054 name : publish
6155 url : https://pypi.org/project/Flask-SQLAlchemy-Lite/${{ github.ref_name }}
6256 runs-on : ubuntu-latest
6357 permissions :
6458 id-token : write
6559 steps :
66- - uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
67- - uses : pypa/gh-action-pypi-publish@15c56dba361d8335944d31a2ecd17d700fc7bcbc # v1.12.2
60+ - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
61+ - uses : pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
6862 with :
6963 packages-dir : artifact/
0 commit comments