Publish release #15
Workflow file for this run
This file contains 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
# Runs on releases | |
name: Publish release | |
on: | |
release: | |
types: [published] | |
permissions: | |
contents: read | |
jobs: | |
stable: | |
runs-on: ubuntu-latest | |
name: Write release to stable branch | |
permissions: | |
contents: write | |
pull-requests: write | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # [email protected] | |
- name: Version Check | |
run: | | |
pip install --require-hashes -r contrib/dev_reqs/requirements.txt | |
python3 .github/scripts/version_check.py | |
- name: Push to Stable Branch | |
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # [email protected] | |
if: env.stable_release == 'true' | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
branch: stable | |
force: true | |
build: | |
runs-on: ubuntu-latest | |
name: Build and attest frontend | |
permissions: | |
id-token: write | |
contents: write | |
attestations: write | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # [email protected] | |
- name: Environment Setup | |
uses: ./.github/actions/setup | |
with: | |
npm: true | |
- name: Install dependencies | |
run: cd src/frontend && yarn install | |
- name: Build frontend | |
run: cd src/frontend && npm run compile && npm run build | |
- name: Create SBOM for frontend | |
uses: anchore/sbom-action@v0 | |
with: | |
artifact-name: frontend-build.spdx | |
path: src/frontend | |
- name: Write version file - SHA | |
run: cd src/backend/InvenTree/web/static/web/.vite && echo "$GITHUB_SHA" > sha.txt | |
- name: Write version file - TAG | |
run: cd src/backend/InvenTree/web/static/web/.vite && echo "${{ github.ref_name }}" > tag.txt | |
- name: Zip frontend | |
run: | | |
cd src/backend/InvenTree/web/static/web | |
zip -r ../frontend-build.zip * .vite | |
- name: Attest Build Provenance | |
id: attest | |
uses: actions/attest-build-provenance@v1 | |
with: | |
subject-path: "${{ github.workspace }}/src/backend/InvenTree/web/static/frontend-build.zip" | |
- name: Upload Provenance | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # [email protected] | |
with: | |
name: frontend-build.intoto.jsonl | |
path: ${{ steps.attest.outputs.bundle-path}} | |
retention-days: 5 | |
- name: Upload frontend | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # [email protected] | |
with: | |
name: frontend-build | |
path: src/backend/InvenTree/web/static/frontend-build.zip | |
retention-days: 5 | |
publish: | |
runs-on: ubuntu-latest | |
needs: ["build"] | |
permissions: | |
contents: write | |
pull-requests: write | |
name: Publish frontend | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
path: artifacts | |
- name: Upload to release | |
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # [email protected] | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: artifacts/* | |
file_glob: true | |
tag: ${{ github.ref }} | |
overwrite: true |