build(deps): Bump rollup from 4.15.0 to 4.22.4 #3701
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: Tests | |
on: | |
push: | |
branches: | |
- '*' | |
- '**' | |
tags-ignore: | |
- v* | |
pull_request: | |
jobs: | |
test: | |
name: PHP ${{ matrix.php }} / Composer ${{ matrix.composer }} | |
runs-on: ubuntu-latest | |
concurrency: | |
group: ukcp-api-test-${{ github.ref }}-php-${{ matrix.php }} | |
cancel-in-progress: true | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
php: [ '8.2', '8.3' ] | |
composer: [ 'v2' ] | |
experimental: [ false ] | |
#include: | |
# - php: '8.2' | |
# experimental: true | |
services: | |
mysql: | |
image: mysql:8.0 | |
env: | |
DEFAULT_AUTHENTICATION_PLUGIN: mysql_native_password | |
MYSQL_ALLOW_EMPTY_PASSWORD: false | |
MYSQL_ROOT_PASSWORD: root | |
ports: | |
- 32574:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=10s --health-retries=10 | |
redis: | |
image: redis:alpine | |
ports: | |
- "32575:6379" | |
options: >- | |
--health-cmd "redis-cli ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
# | |
# ENVIRONMENT DEPENDENCIES SETUP | |
# | |
- name: Configure MySQL | |
run: | | |
mysql -e "CREATE DATABASE IF NOT EXISTS ukcp;" -h127.0.0.1 -P32574 -uroot -proot | |
mysql -e "SET GLOBAL sql_require_primary_key = ON;" -h127.0.0.1 -P32574 -uroot -proot | |
- name: Configure PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: pcov | |
tools: composer:${{ matrix.composer }} | |
- name: Setup Yarn | |
uses: actions/setup-node@v1 | |
with: | |
node-version: '20' | |
# | |
# COMPOSER DEPENDENICES | |
# | |
# Add GitHub Auth to Composer | |
- name: Add Composer GitHub Token | |
run: composer config -g github-oauth.github.com ${{ secrets.GITHUB_TOKEN }} | |
# Restore Caches | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- name: Restore Composer Cache | |
uses: actions/cache@v1 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer- | |
- name: Restore Vendor From Cache | |
uses: actions/cache@v1 | |
with: | |
path: vendor | |
key: ${{ runner.OS }}-build-${{ hashFiles('**/composer.lock') }} | |
# Install | |
- name: Install Composer Dependencies | |
run: composer install --prefer-dist --no-interaction --optimize-autoloader --no-suggest | |
# | |
# YARN DEPENDENCIES | |
# | |
# Restore Caches | |
- name: Get Yarn Cache Directory | |
id: yarn-cache-dir-path | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- name: Load Yarn Cache | |
uses: actions/cache@v1 | |
id: yarn-cache | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Load Cached Node Modules | |
uses: actions/cache@v2 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }} | |
# Install | |
- name: Install Assets | |
run: yarn | |
- name: Compile Assets | |
run: yarn run prod | |
# | |
# APPLICATION SETUP | |
# | |
# Environment Configuration | |
- name: Create Environment File | |
run: cp .env.ci .env | |
- name: Generate App Key | |
run: php artisan key:generate | |
# Run Database Migration & Seed | |
- name: Migrate Database | |
run: php artisan migrate | |
- name: Seed Database | |
run: php artisan db:seed | |
# Publish/Install Packages | |
- name: Install Passport | |
run: php artisan passport:install | |
- name: Publish Horizon | |
run: php artisan horizon:publish | |
# Start Application | |
- name: Serve Application | |
run: php artisan serve -q & | |
# | |
# RUN TESTING SUITE | |
# | |
# Run Tests | |
- name: Run PHPUnit With Coverage | |
run: ./vendor/bin/phpunit --coverage-clover=coverage.xml | |
# Run Coverage Suite | |
- name: Upload Code Coverage Report | |
uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: false | |
trigger-release: | |
name: Trigger Release | |
needs: test | |
if: github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
# | |
# RELEASE (main only) | |
# | |
- name: Trigger release workflow | |
uses: peter-evans/repository-dispatch@v1 | |
with: | |
token: ${{ secrets.PAT }} | |
event-type: release-trigger | |
pr-number: | |
name: Pull Request Number | |
needs: test | |
if: ${{ github.event_name == 'pull_request'}} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Save pull request number | |
run: echo ${{ github.event.number }} > ./pr_number.txt | |
- name: Upload pull request number artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: pr-number | |
path: ./pr_number.txt |