1
0

release.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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@v7
  14. with:
  15. persist-credentials: false
  16. sparse-checkout: CHANGELOG.md
  17. sparse-checkout-cone-mode: false
  18. - name: Extract latest changelog entry and attach it to draft
  19. uses: taiki-e/create-gh-release-action@v1
  20. with:
  21. changelog: CHANGELOG.md
  22. draft: true
  23. token: ${{ secrets.GITHUB_TOKEN }}
  24. release:
  25. outputs:
  26. hashes: ${{ steps.hash.outputs.hashes }}
  27. runs-on: ubuntu-latest
  28. steps:
  29. - name: Collect artifacts
  30. run: |
  31. wget -q "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${GITHUB_REF_NAME}.tar.gz"
  32. wget -q "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${GITHUB_REF_NAME}.zip"
  33. - name: Generate hashes
  34. shell: bash
  35. id: hash
  36. run: echo "hashes=$(sha256sum ${GITHUB_REF_NAME}.* | base64 -w0)" >> "$GITHUB_OUTPUT"
  37. provenance:
  38. needs:
  39. - release
  40. permissions:
  41. actions: read
  42. id-token: write
  43. contents: write
  44. uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
  45. with:
  46. base64-subjects: "${{ needs.release.outputs.hashes }}"
  47. draft-release: true
  48. upload-assets: true