Skip to content

Commit

Permalink
Rework GH testing actions to run only after code changes
Browse files Browse the repository at this point in the history
  • Loading branch information
stloyd committed Oct 16, 2023
1 parent 013fa51 commit 3bee0dd
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 59 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/test-benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ name: Benchmark Suite

on:
pull_request:
paths:
- 'src/adapter/**'
- 'src/core/**'
- 'src/lib/**'
- 'tools/**'
- 'composer.lock'

jobs:
benchmark:
Expand Down
68 changes: 68 additions & 0 deletions .github/workflows/test-mutations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Test Mutations

on:
pull_request:
paths:
- 'src/adapter/**'
- 'src/core/**'
- 'src/lib/**'
- 'tools/**'
- 'composer.lock'

jobs:
mutation-tests:
name: "Mutation Tests"

runs-on: ${{ matrix.operating-system }}

strategy:
fail-fast: false
matrix:
dependencies:
- "locked"
php-version:
- "8.1"
operating-system:
- "ubuntu-latest"

steps:
- name: "Checkout"
uses: "actions/checkout@v4"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: pcov
tools: composer:v2
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1

- name: "Get Composer Cache Directory"
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: "Cache Composer dependencies"
uses: "actions/cache@v3"
with:
path: "${{ steps.composer-cache.outputs.dir }}"
key: "php-${{ matrix.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}"
restore-keys: |
php-${{ matrix.php-version }}-locked-composer-
- name: "Create cache directory"
run: "mkdir -p var/infection/cache"

- name: "Cache infection results"
uses: "actions/cache@v3"
with:
path: "var/infection/cache"
key: "php-${{ matrix.php-version }}-cache-infection-${{ github.run_id }}"
restore-keys: |
php-${{ matrix.php-version }}-cache-infection-
- name: "Install locked dependencies"
run: "composer install --no-interaction --no-progress --no-suggest"

- name: "Mutation Tests"
run: "composer test:mutation"
66 changes: 7 additions & 59 deletions .github/workflows/test-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@ name: Test Suite

on:
pull_request:
paths:
- 'src/adapter/**'
- 'src/core/**'
- 'src/lib/**'
- 'tools/**'
- 'composer.lock'
push:
branches: [ 1.x ]
schedule: [ { cron: '0 8 * * *' } ]

jobs:
static-analyze:
Expand All @@ -29,7 +34,7 @@ jobs:
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: pcov
coverage: none
tools: composer:v2
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
Expand Down Expand Up @@ -182,60 +187,3 @@ jobs:
PGSQL_DATABASE_URL: postgresql://postgres:[email protected]:${{ job.services.postgres.ports[5432] }}/postgres?serverVersion=11&charset=utf8
MYSQL_DATABASE_URL: mysql://mysql:[email protected]:${{ job.services.mysql.ports[3306] }}/mysql
FLOW_LOCAL_FILESYSTEM_CACHE_DIR: "./var/cache/${{ matrix.php-version }}-${{ matrix.dependencies }}"

mutation-tests:
name: "Mutation Tests"

runs-on: ${{ matrix.operating-system }}

strategy:
fail-fast: false
matrix:
dependencies:
- "locked"
php-version:
- "8.1"
operating-system:
- "ubuntu-latest"

steps:
- name: "Checkout"
uses: "actions/checkout@v4"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: pcov
tools: composer:v2
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1

- name: "Get Composer Cache Directory"
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: "Cache Composer dependencies"
uses: "actions/cache@v3"
with:
path: "${{ steps.composer-cache.outputs.dir }}"
key: "php-${{ matrix.php-version }}-locked-composer-${{ hashFiles('**/composer.lock') }}"
restore-keys: |
php-${{ matrix.php-version }}-locked-composer-
- name: "Create cache directory"
run: "mkdir -p var/infection/cache"

- name: "Cache infection results"
uses: "actions/cache@v3"
with:
path: "var/infection/cache"
key: "php-${{ matrix.php-version }}-cache-infection-${{ github.run_id }}"
restore-keys: |
php-${{ matrix.php-version }}-cache-infection-
- name: "Install locked dependencies"
run: "composer install --no-interaction --no-progress --no-suggest"

- name: "Mutation Tests"
run: "composer test:mutation"

0 comments on commit 3bee0dd

Please sign in to comment.