publish-release.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: Publish release
  2. on:
  3. push:
  4. tags:
  5. - 'v*'
  6. jobs:
  7. build:
  8. runs-on: ubuntu-20.04
  9. strategy:
  10. matrix:
  11. php-version: ['7.4', '8.0']
  12. swoole: ['yes', 'no']
  13. steps:
  14. - name: Checkout code
  15. uses: actions/checkout@v2
  16. - name: Use PHP
  17. uses: shivammathur/setup-php@v2
  18. with:
  19. php-version: ${{ matrix.php-version }}
  20. tools: composer
  21. extensions: swoole-4.6.3
  22. - if: ${{ matrix.swoole == 'yes' }}
  23. run: ./build.sh ${GITHUB_REF#refs/tags/v}
  24. - if: ${{ matrix.swoole == 'no' }}
  25. run: ./build.sh ${GITHUB_REF#refs/tags/v} --no-swoole
  26. - uses: actions/upload-artifact@v2
  27. with:
  28. name: dist-files-${{ matrix.php-version }}-${{ matrix.swoole }}
  29. path: build
  30. publish:
  31. needs: ['build']
  32. runs-on: ubuntu-20.04
  33. steps:
  34. - name: Checkout code
  35. uses: actions/checkout@v2
  36. - uses: actions/download-artifact@v2
  37. with:
  38. path: build
  39. - name: Publish release with assets
  40. uses: docker://antonyurchenko/git-release:latest
  41. env:
  42. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  43. ALLOW_TAG_PREFIX: "true"
  44. ALLOW_EMPTY_CHANGELOG: "true"
  45. with:
  46. args: |
  47. build/*/shlink*_dist.zip
  48. delete-artifacts:
  49. needs: ['publish']
  50. runs-on: ubuntu-20.04
  51. strategy:
  52. matrix:
  53. php-version: [ '7.4', '8.0' ]
  54. swoole: [ 'yes', 'no' ]
  55. steps:
  56. - uses: geekyeggo/delete-artifact@v1
  57. with:
  58. name: dist-files-${{ matrix.php-version }}-${{ matrix.swoole }}