nix-publish-flake.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # Make the flake discoverable on https://flakestry.dev and https://flakehub.com/flakes
  2. name: "Publish a flake to flakestry & flakehub"
  3. on:
  4. push:
  5. tags:
  6. - "*"
  7. workflow_dispatch:
  8. inputs:
  9. tag:
  10. description: "The existing tag to publish"
  11. type: "string"
  12. required: true
  13. jobs:
  14. flakestry-publish:
  15. runs-on: ubuntu-latest
  16. permissions:
  17. id-token: "write"
  18. contents: "read"
  19. steps:
  20. - uses: flakestry/flakestry-publish@main
  21. with:
  22. version: "${{ inputs.tag || github.ref_name }}"
  23. flakehub-publish:
  24. runs-on: "ubuntu-latest"
  25. permissions:
  26. id-token: "write"
  27. contents: "read"
  28. steps:
  29. - uses: "actions/checkout@v4"
  30. with:
  31. ref: "${{ (inputs.tag != null) && format('refs/tags/{0}', inputs.tag) || '' }}"
  32. - uses: "DeterminateSystems/nix-installer-action@main"
  33. - uses: "DeterminateSystems/flakehub-push@main"
  34. with:
  35. visibility: "public"
  36. tag: "${{ inputs.tag }}"