release.yml 1.4 KB

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