name: Build, tag and attach releases

on:
  release:
    types: [published]

jobs:
  create-phar:
    runs-on: ubuntu-latest
    name: Create Strauss phar on new release
    steps:
      - name: Git checkout
        uses: actions/checkout@v2
        with:
          ref: master

      - name: Install PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 7.4

      - name: Install dependencies
        run: composer install --no-dev --prefer-dist --no-suggest --no-progress

      - name: Create .phar
        run: |
          wget -O phar-composer.phar https://github.com/clue/phar-composer/releases/download/v1.2.0/phar-composer-1.2.0.phar
          mkdir build
          mv vendor build/vendor
          mv src build/src
          mv bin build/bin
          mv composer.json build
          php -d phar.readonly=off phar-composer.phar build ./build/

      - name: Test run strauss
        run: php strauss.phar --version

      - uses: meeDamian/github-release@2.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          files: strauss.phar
          gzip: false
          allow_override: true

      - name: Edit README.md to update the version number
        env:
          CURRENT_RELEASE: ${{ github.event.release.tag_name }}
        run: |
          find . -name 'README.md' -exec sed -i "s/download\/[^\/]*/download\/$CURRENT_RELEASE/" {} +

      - name: Commit updated README.md
        uses: stefanzweifel/git-auto-commit-action@v4.1.1
        with:
          branch: master
          file_pattern: "README.md"
          commit_message: "🤖 Update version number in README.md"
