mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Action caching
This commit is contained in:
@@ -10,12 +10,14 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache Composer dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.composer/cache/files
|
||||
key: dependencies-composer-${{ hashFiles('composer.json') }}
|
||||
key: composer-screenshots-${{ hashFiles('docs-assets/app/composer.json') }}
|
||||
restore-keys: |
|
||||
composer-screenshots-
|
||||
- name: Set up PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
@@ -23,11 +25,26 @@ jobs:
|
||||
extensions: mbstring, pdo, pdo_sqlite
|
||||
coverage: none
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v2
|
||||
- name: Install dependencies
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
- name: Cache Puppeteer browser
|
||||
id: puppeteer-cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.cache/puppeteer
|
||||
key: puppeteer-${{ runner.os }}-${{ hashFiles('docs-assets/screenshots/package-lock.json') }}
|
||||
- name: Install screenshot dependencies
|
||||
run: |
|
||||
cd docs-assets/screenshots
|
||||
npm ci
|
||||
env:
|
||||
PUPPETEER_SKIP_DOWNLOAD: ${{ steps.puppeteer-cache.outputs.cache-hit }}
|
||||
- name: Cache app npm dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: docs-assets/app/node_modules
|
||||
key: npm-screenshots-app-${{ hashFiles('docs-assets/app/package-lock.json') }}
|
||||
- name: Set up app
|
||||
run: |
|
||||
cd docs-assets/app
|
||||
|
||||
@@ -8,15 +8,25 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.head_ref }}
|
||||
- name: Cache Composer dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.composer/cache/files
|
||||
key: composer-cs-${{ hashFiles('composer.json') }}
|
||||
restore-keys: |
|
||||
composer-cs-
|
||||
- name: Set up PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 8.5
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v2
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: npm
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
composer install --no-interaction
|
||||
|
||||
@@ -36,12 +36,22 @@ jobs:
|
||||
pest-plugin-laravel: ^3.0
|
||||
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache Composer dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.composer/cache/files
|
||||
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
|
||||
key: composer-${{ matrix.php }}-${{ matrix.laravel }}-${{ hashFiles('composer.json') }}
|
||||
restore-keys: |
|
||||
composer-${{ matrix.php }}-${{ matrix.laravel }}-
|
||||
composer-${{ matrix.php }}-
|
||||
- name: Cache PHPStan result
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /tmp/phpstan
|
||||
key: phpstan-${{ matrix.php }}-${{ matrix.laravel }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
phpstan-${{ matrix.php }}-${{ matrix.laravel }}-
|
||||
- name: Set up PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
|
||||
@@ -73,22 +73,21 @@ jobs:
|
||||
cache: npm
|
||||
- name: Install npm dependencies
|
||||
run: npm ci
|
||||
- name: Cache Playwright browsers
|
||||
- name: Install Chromium system dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends libnss3 libatk-bridge2.0-0 libdrm2 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 libcairo2 libasound2t64
|
||||
- name: Cache Playwright Chromium
|
||||
id: playwright-cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.cache/ms-playwright
|
||||
key: playwright-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
|
||||
- name: Install Playwright browsers
|
||||
key: playwright-chromium-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
|
||||
- name: Install Playwright Chromium
|
||||
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||||
uses: nick-fields/retry@v3
|
||||
with:
|
||||
timeout_minutes: 10
|
||||
max_attempts: 3
|
||||
command: npx playwright install --with-deps
|
||||
- name: Install Playwright system dependencies
|
||||
if: steps.playwright-cache.outputs.cache-hit == 'true'
|
||||
run: npx playwright install-deps
|
||||
command: npx playwright install chromium
|
||||
- name: Wait for MySQL
|
||||
if: matrix.db == 'mysql'
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user