coolify/.github/workflows/tests.yaml
2026-02-24 16:12:40 +01:00

106 lines
3.9 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Tests
on:
push:
branches:
- "**v5.x**"
permissions:
contents: read
concurrency:
group: tests-${{ github.ref }}
cancel-in-progress: true
jobs:
composer-validate:
name: Validate composer.json
runs-on: ubuntu-24.04 # https://github.com/actions/runner-images
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # https://github.com/actions/checkout/releases/tag/v6.0.2
with:
persist-credentials: false
- name: Setup PHP 8.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # https://github.com/shivammathur/setup-php/releases/tag/2.36.0
with:
php-version: "8.5.3" # https://github.com/php/php-src/releases/tag/php-8.5.3
- name: Validate composer.json
run: composer validate --check-lock --strict
composer-audit:
name: Composer Audit
runs-on: ubuntu-24.04 # https://github.com/actions/runner-images
needs: [composer-validate]
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # https://github.com/actions/checkout/releases/tag/v6.0.2
with:
persist-credentials: false
- name: Setup PHP 8.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # https://github.com/shivammathur/setup-php/releases/tag/2.36.0
with:
php-version: "8.5.3" # https://github.com/php/php-src/releases/tag/php-8.5.3
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # https://github.com/actions/cache/releases/tag/v5.0.3
with:
path: /vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Install PHP dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --no-progress --no-interaction
- name: Run Composer audit
run: composer audit --locked --abandoned=fail
bun-audit:
name: Bun Audit
runs-on: ubuntu-24.04 # https://github.com/actions/runner-images
needs: [composer-validate]
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # https://github.com/actions/checkout/releases/tag/v6.0.2
with:
persist-credentials: false
- name: Setup Bun
uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # https://github.com/oven-sh/setup-bun/releases/tag/v2.1.2
with:
bun-version: 1.3.9 # https://github.com/oven-sh/bun/releases/tag/bun-v1.3.9
- name: Run Bun audit
run: bun audit --frozen-lockfile
test:
name: Tests
runs-on: ubuntu-24.04 # https://github.com/actions/runner-images
needs: [composer-audit, bun-audit]
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # https://github.com/actions/checkout/releases/tag/v6.0.2
with:
persist-credentials: false
- name: Setup PHP 8.5 with Xdebug
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # https://github.com/shivammathur/setup-php/releases/tag/2.36.0
with:
php-version: "8.5.3" # https://github.com/php/php-src/releases/tag/php-8.5.3
coverage: xdebug-3.5.1 # https://github.com/xdebug/xdebug/releases/tag/3.5.1
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # https://github.com/actions/cache/releases/tag/v5.0.3
with:
path: /vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Install PHP dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --no-progress --no-interaction
- name: Run tests
run: composer test:all