Bump phpstan/phpstan from 2.0.4 to 2.1.0 in /tools/phpstan (#1314) #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Baseline | |
on: | |
workflow_dispatch: | |
inputs: | |
tag_name: | |
description: 'Git Tag Name' | |
required: false | |
branch_name: | |
description: 'Git Branch Name' | |
required: true | |
default: '1.x' | |
push: | |
branches: [ 1.x ] | |
paths-ignore: | |
- 'CHANGELOG.md' | |
jobs: | |
build-archives: | |
name: "Build Archives" | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
dependencies: | |
- "locked" | |
php-version: | |
- "8.2" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4" | |
with: | |
fetch-depth: 0 | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: none | |
tools: composer:v2 | |
php-version: "${{ matrix.php-version }}" | |
ini-values: memory_limit=-1 | |
- name: "Get Composer Cache Directory" | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: "Cache Composer dependencies" | |
uses: "actions/cache@v4" | |
with: | |
path: "${{ steps.composer-cache.outputs.dir }}" | |
key: "php-${{ matrix.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: | | |
php-${{ matrix.php-version }}-locked-composer- | |
- name: "Install locked dependencies" | |
run: "composer install --no-interaction --no-progress" | |
- name: "Build PHAR file" | |
run: "composer build:phar" | |
- name: "Validate Flow PHAR" | |
run: | | |
./build/flow.phar --version | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build Docker Image | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
file: ./Dockerfile | |
push: true | |
platforms: linux/amd64,linux/arm64 | |
tags: | | |
ghcr.io/flow-php/flow:latest | |
target: flow | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
- name: "Prepare artifact name" | |
if: ${{ github.event_name == 'push' }} | |
shell: bash | |
run: | | |
BUILD_TAG=${GITHUB_SHA:0:7} | |
echo "BUILD_TAG=$BUILD_TAG" >> $GITHUB_ENV | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: flow-${{ env.BUILD_TAG }}.phar | |
path: build/flow.phar | |
overwrite: true | |
benchmark-baseline: | |
name: "Benchmark Baseline" | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
dependencies: | |
- "locked" | |
php-version: | |
- "8.2" | |
steps: | |
- name: "Set Git Ref" | |
run: | | |
if [[ "${{ github.event_name }}" == "push" ]]; then | |
echo "GIT_REF=${{ github.ref }}" >> $GITHUB_ENV | |
elif [[ "${{ github.event.inputs.tag_name }}" != "" ]]; then | |
echo "GIT_REF=refs/tags/${{ github.event.inputs.tag_name }}" >> $GITHUB_ENV | |
else | |
echo "GIT_REF=${{ github.event.inputs.branch_name }}" >> $GITHUB_ENV | |
fi | |
- name: "Set Benchmark Tag" | |
run: | | |
if [[ "${{ github.event_name }}" == "push" ]]; then | |
echo "PHPBENCH_TAG=1.x" >> $GITHUB_ENV | |
elif [[ "${{ github.event.inputs.tag_name }}" != "" ]]; then | |
echo "PHPBENCH_TAG=${{ github.event.inputs.tag_name }}" >> $GITHUB_ENV | |
else | |
echo "PHPBENCH_TAG=${{ github.event.inputs.branch_name }}" >> $GITHUB_ENV | |
fi | |
- name: "Checkout to specific ref" | |
uses: "actions/checkout@v4" | |
with: | |
ref: ${{ env.GIT_REF }} | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: none | |
tools: composer:v2 | |
php-version: "${{ matrix.php-version }}" | |
ini-values: memory_limit=-1 | |
- name: "Get Composer Cache Directory" | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: "Cache Composer dependencies" | |
uses: "actions/cache@v4" | |
with: | |
path: "${{ steps.composer-cache.outputs.dir }}" | |
key: "php-${{ matrix.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: | | |
php-${{ matrix.php-version }}-locked-composer- | |
- name: "Install locked dependencies" | |
run: "composer install --no-interaction --no-progress" | |
- name: "Benchmark" | |
run: | | |
echo '# Flow PHP - Benchmark - ${{ env.PHPBENCH_TAG }}' >> $GITHUB_STEP_SUMMARY | |
echo ' ' >> $GITHUB_STEP_SUMMARY | |
echo '---' >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
tools/phpbench/vendor/bin/phpbench run --report=flow-report --tag=${{ env.PHPBENCH_TAG }} --progress=none >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
- name: "Store Benchmark baseline" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: phpbench-baseline | |
path: ./var/phpbench/ | |
overwrite: true | |
publish-website: | |
name: "Publish Website" | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: | |
- "8.2" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4" | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
tools: composer:v2 | |
php-version: "${{ matrix.php-version }}" | |
ini-values: memory_limit=-1 | |
extensions: :psr, bcmath, dom, hash, json, mbstring, xml, xmlwriter, xmlreader, zlib | |
- name: "Get Composer Cache Directory" | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: "Cache Composer dependencies" | |
uses: "actions/cache@v4" | |
with: | |
path: "${{ steps.composer-cache.outputs.dir }}" | |
key: "php-${{ matrix.php-version }}-composer-website-${{ hashFiles('web/landing/composer.lock') }}" | |
restore-keys: | | |
php-${{ matrix.php-version }}-composer-website- | |
- name: "Install project dependencies" | |
run: "composer install --no-interaction --no-progress --no-suggest" | |
- name: "Generate documentation" | |
run: "composer build:docs" | |
- name: "Install Landing dependencies" | |
run: "composer install --no-interaction --no-progress --no-suggest" | |
working-directory: "web/landing" | |
- name: "Build" | |
run: "composer build" | |
env: | |
SCHEME: https | |
DOMAIN: flow-php.com | |
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} | |
GOOGLE_ANALYTICS_ID: '${{ vars.GOOGLE_ANALYTICS_ID }}' | |
GOOGLE_CONVERSION_TAG: '${{ vars.GOOGLE_CONVERSION_TAG }}' | |
working-directory: "web/landing" | |
- name: Pushes build to website repository | |
uses: cpina/github-action-push-to-another-repository@main | |
env: | |
API_TOKEN_GITHUB: ${{ secrets.ACCESS_TOKEN }} | |
with: | |
source-directory: 'web/landing/build' | |
destination-github-username: 'flow-php' | |
destination-repository-name: 'flow-php.com' |