action.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. name: Create release
  2. description: Create release
  3. inputs:
  4. token:
  5. description: Token
  6. required: true
  7. deletePatterns:
  8. description: Pattern to delete old assets
  9. required: true
  10. uploadFiles:
  11. description: Files to upload
  12. required: true
  13. runs:
  14. using: composite
  15. steps:
  16. - name: Get release info
  17. id: release-info
  18. if: github.event.head_commit.message == 'increment build number' || github.ref_type == 'tag'
  19. uses: ./.github/actions/release-info
  20. - name: Delete old assets
  21. uses: mknejp/delete-release-assets@v1
  22. if: steps.release-info.outputs.artifacts-tag && github.ref_type != 'tag'
  23. with:
  24. repository: ${{
  25. (steps.release-info.outputs.artifacts-repository != github.repository &&
  26. steps.release-info.outputs.artifacts-repository) ||
  27. null
  28. }}
  29. token: ${{
  30. (steps.release-info.outputs.artifacts-repository != github.repository &&
  31. inputs.token) ||
  32. github.token
  33. }}
  34. tag: ${{ steps.release-info.outputs.artifacts-tag }}
  35. fail-if-no-release: false
  36. fail-if-no-assets: false
  37. assets: ${{ inputs.deletePatterns }}
  38. - name: Release
  39. id: release_try1
  40. uses: softprops/action-gh-release@master
  41. if: steps.release-info.outputs.artifacts-tag
  42. continue-on-error: true
  43. with:
  44. repository: ${{
  45. (steps.release-info.outputs.artifacts-repository != github.repository &&
  46. steps.release-info.outputs.artifacts-repository) ||
  47. null
  48. }}
  49. token: ${{
  50. (steps.release-info.outputs.artifacts-repository != github.repository &&
  51. inputs.token) ||
  52. github.token
  53. }}
  54. name: ${{ steps.release-info.outputs.artifacts-tag-description }}
  55. tag_name: ${{ steps.release-info.outputs.artifacts-tag }}
  56. prerelease: true
  57. overwrite_files: github.ref_type != 'tag'
  58. files: ${{ inputs.uploadFiles }}
  59. - name: Release (retry)
  60. uses: softprops/action-gh-release@master
  61. if: |
  62. steps.release-info.outputs.artifacts-tag &&
  63. steps.release_try1.outcome == 'failure'
  64. with:
  65. repository: ${{
  66. (steps.release-info.outputs.artifacts-repository != github.repository &&
  67. steps.release-info.outputs.artifacts-repository) ||
  68. null
  69. }}
  70. token: ${{
  71. (steps.release-info.outputs.artifacts-repository != github.repository &&
  72. inputs.token) ||
  73. github.token
  74. }}
  75. name: ${{ steps.release-info.outputs.artifacts-tag-description }}
  76. tag_name: ${{ steps.release-info.outputs.artifacts-tag }}
  77. prerelease: true
  78. overwrite_files: github.ref_type != 'tag'
  79. files: ${{ inputs.uploadFiles }}