Skip to content
This repository was archived by the owner on Mar 9, 2026. It is now read-only.

[docker] test PHP 8.5 upgrade #34

[docker] test PHP 8.5 upgrade

[docker] test PHP 8.5 upgrade #34

Workflow file for this run

name: Build Pipeline
on:
push:
paths-ignore:
- '**/*.md'
- '**/.gitignore'
concurrency:
group: ci-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: true
jobs:
prepare:
name: Prepare Workspace
runs-on: ubuntu-latest
outputs:
timestamp: ${{ steps.set-vars.outputs.timestamp }}
short-sha: ${{ steps.set-vars.outputs.short-sha }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set variables
id: set-vars
run: |
echo "timestamp=$(date +%Y%m%d-%H%M%S)" >> $GITHUB_OUTPUT
echo "short-sha=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_OUTPUT
php-build:
name: PHP & Composer Dependencies
runs-on: ubuntu-latest
needs: prepare
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP 8.4
uses: shivammathur/setup-php@v2
with:
php-version: "8.4"
extensions: mbstring, intl, pgsql, pdo_pgsql, zip, xsl, gd
- name: Install Composer deps
run: composer install --no-interaction --prefer-dist --no-ansi
- name: Save vendor
uses: actions/upload-artifact@v4
with:
name: vendor-stuff-${{ needs.prepare.outputs.timestamp }}-${{ needs.prepare.outputs.short-sha }}
path: src/vendor
include-hidden-files: true
js-build:
name: JS Build (Rollup)
runs-on: ubuntu-latest
needs: prepare
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install JS deps
run: npm install
- name: Build frontend
run: npm run build
- name: Save JS build output
uses: actions/upload-artifact@v4
with:
name: js-stuff-${{ needs.prepare.outputs.timestamp }}-${{ needs.prepare.outputs.short-sha }}
path: |
node_modules
src/platform/Web2/assets/app.bundle.js
src/platform/Web2/assets/app.bundle.css
src/platform/Web2/assets/app.bundle.js.map
include-hidden-files: true
package:
name: Prepare Full Build Package
runs-on: ubuntu-latest
needs: [prepare, php-build, js-build]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Restore php-vendor
uses: actions/download-artifact@v4
with:
name: vendor-stuff-${{ needs.prepare.outputs.timestamp }}-${{ needs.prepare.outputs.short-sha }}
path: src/vendor
- name: Restore JS build assets
uses: actions/download-artifact@v4
with:
name: js-stuff-${{ needs.prepare.outputs.timestamp }}-${{ needs.prepare.outputs.short-sha }}
path: .
- name: Upload Full Build
uses: actions/upload-artifact@v4
with:
name: full-build-${{ needs.prepare.outputs.timestamp }}-${{ needs.prepare.outputs.short-sha }}
path: |
.
!.git
include-hidden-files: true