This repository was archived by the owner on Mar 9, 2026. It is now read-only.
[docker] test PHP 8.5 upgrade #34
This file contains hidden or 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: 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 |