Files
gantry5/.github/workflows/release.yaml
T
2025-02-25 18:02:16 +01:00

71 lines
2.3 KiB
YAML

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'