release.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: Draft Release
  2. on:
  3. push:
  4. tags: '[0-9]+.[0-9]?[0-9]?[0-9]?.?[0-9]+'
  5. permissions: {}
  6. jobs:
  7. draft:
  8. permissions:
  9. contents: write
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Fetch changelog from tag
  13. uses: actions/checkout@v5
  14. with:
  15. sparse-checkout: CHANGELOG.md
  16. sparse-checkout-cone-mode: false
  17. - name: Extract latest changelog entry and attach it to draft
  18. uses: taiki-e/create-gh-release-action@v1
  19. with:
  20. changelog: CHANGELOG.md
  21. draft: true
  22. token: ${{ secrets.GITHUB_TOKEN }}
  23. release:
  24. outputs:
  25. hashes: ${{ steps.hash.outputs.hashes }}
  26. runs-on: ubuntu-latest
  27. steps:
  28. - name: Collect artifacts
  29. run: |
  30. wget -q https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${GITHUB_REF_NAME}.tar.gz
  31. wget -q https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${GITHUB_REF_NAME}.zip
  32. - name: Generate hashes
  33. shell: bash
  34. id: hash
  35. run: echo "hashes=$(sha256sum ${GITHUB_REF_NAME}.* | base64 -w0)" >> "$GITHUB_OUTPUT"
  36. provenance:
  37. needs:
  38. - release
  39. permissions:
  40. actions: read
  41. id-token: write
  42. contents: write
  43. uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
  44. with:
  45. base64-subjects: "${{ needs.release.outputs.hashes }}"
  46. draft-release: true
  47. upload-assets: true