name: Release Builds on: release: ignore-forks: true types: [published] jobs: build: if: "github.repository == 'gantry/gantry5'" runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v3 - name: Extract Tag run: echo "PACKAGE_VERSION=${{ github.ref }}" >> $GITHUB_ENV - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: 8.1 extensions: opcache, gd, zip tools: composer:v2 coverage: none env: COMPOSER_TOKEN: ${{ secrets.GLOBAL_TOKEN }} - name: Install packages run: | sudo apt-get -y update -qq < /dev/null > /dev/null sudo apt-get -y install -qq git zip php-zip < /dev/null > /dev/null - name: Get composer cache directory id: composer-cache run: echo "dir=$(composer config cache-files-dir -d bin/builder)" >> $GITHUB_OUTPUT - name: Cache dependencies uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Build Gantry packages (using CHANGELOG.md to get the version) run: composer build-prod - name: Upload packages to release uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ env.PACKAGE_VERSION }} file: ./dist/*.zip overwrite: true file_glob: true # TODO: Release should also trigger updating of master with prod-versions update # if: "!github.event.release.prerelease" # slack: # name: Slack # needs: build # runs-on: ubuntu-latest # if: always() # steps: # - uses: technote-space/workflow-conclusion-action@v2 # - uses: 8398a7/action-slack@v3 # with: # status: failure # fields: repo,message,author,action # icon_emoji: ':octocat:' # author_name: 'Github Action Build' # text: '🚚 Automated Build Failure' # env: # GITHUB_TOKEN: ${{ secrets.GLOBAL_TOKEN }} # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # if: env.WORKFLOW_CONCLUSION == 'failure'