refactor: cache annual statistics job #3642
Workflow file for this run
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: UI | |
on: | |
pull_request: | |
paths: | |
- "**.css" | |
- "**.js" | |
- "**.php" | |
- "**.svg" | |
jobs: | |
prettier: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
token: ${{ secrets.GH_TOKEN }} | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Install pnpm dependencies | |
run: pnpm i --frozen-lockfile | |
- name: Run prettier | |
run: pnpm prettier --write 'resources/**/*.{css,js,vue}' | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "style: resolve style guide violations" | |
branch: ${{ github.head_ref }} | |
rustywind: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
token: ${{ secrets.GH_TOKEN }} | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Format | |
run: | | |
export PATH="$(pnpm global bin):$PATH" | |
pnpm add -g rustywind | |
rustywind --write resources/views | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "style: resolve style guide violations" | |
branch: ${{ github.head_ref }} | |
svg: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
token: ${{ secrets.GH_TOKEN }} | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Install pnpm dependencies | |
run: pnpm i --frozen-lockfile | |
# We are using 2.8.0 svgo as that seems to be the most compatible with out SVGs. | |
# Anything higher and some SVGs get re-formatted incorrectly. | |
# Task to update to latest svgo version: https://app.clickup.com/t/86dtdax3n | |
- name: Optimize SVGs | |
id: svgo | |
run: | | |
export PATH="$(pnpm global bin):$PATH" | |
pnpm add -g [email protected] | |
pnpm svgo --config .svgo.js ./resources/**/*.svg | |
- name: Commit optimizations | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Optimize SVG(s) | |
build: | |
needs: [prettier, rustywind, svg] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: mbstring, dom, fileinfo, intl, gd, imagick, bcmath, soap, zip, sqlite, pcov | |
coverage: pcov | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache/files | |
key: dependencies-composer-${{ hashFiles('composer.json') }} | |
- name: Install Composer dependencies | |
run: composer install --no-ansi --no-interaction --no-suggest --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Install pnpm dependencies | |
run: pnpm i --frozen-lockfile | |
- name: Build | |
run: pnpm build |