release.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. name: "Release"
  2. on:
  3. push:
  4. - tags
  5. env:
  6. COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --no-suggest --prefer-dist"
  7. jobs:
  8. build:
  9. name: Upload Release Asset
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Checkout code
  13. uses: actions/checkout@v2
  14. - name: "Install PHP"
  15. uses: "shivammathur/setup-php@v2"
  16. with:
  17. coverage: "none"
  18. extensions: "intl"
  19. ini-values: "memory_limit=-1"
  20. php-version: "7.4"
  21. - name: "Install dependencies from composer.lock using composer binary provided by system"
  22. run: "composer install ${{ env.COMPOSER_FLAGS }}"
  23. - name: "Run install again using composer binary from source"
  24. run: "bin/composer install ${{ env.COMPOSER_FLAGS }}"
  25. - name: "Validate composer.json"
  26. run: "bin/composer validate"
  27. - name: Build phar file
  28. run: "php -d phar.readonly=0 bin/compile"
  29. - name: Create release
  30. id: create_release
  31. uses: actions/create-release@v1
  32. env:
  33. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  34. with:
  35. tag_name: ${{ github.ref }}
  36. release_name: ${{ github.ref }}
  37. draft: true
  38. body: TODO
  39. - name: Upload phar
  40. uses: actions/upload-release-asset@v1
  41. env:
  42. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  43. with:
  44. upload_url: ${{ steps.create_release.outputs.upload_url }}
  45. asset_path: ./composer.phar
  46. asset_name: composer.phar
  47. asset_content_type: application/octet-stream