Skip to content

Commit

Permalink
consolidate test jobs
Browse files Browse the repository at this point in the history
  • Loading branch information
mogmarsh committed Dec 31, 2024
1 parent baf3f4c commit 5011b74
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 70 deletions.
67 changes: 67 additions & 0 deletions .github/workflows/all-pr-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: "All Pull Request Tests"

on:
pull_request:
branches:
- develop
types: [opened, synchronize, reopened, ready_for_review]

jobs:
# We use a single job to ensure that all steps run in the same environment and
# reduce the number of minutes used.
pr-tests:
# Don't run on draft PRs
if: github.event.pull_request.draft == false
# Timeout after 10 minutes
timeout-minutes: 10
# Define a matrix of PHP/WordPress versions to test against
strategy:
matrix:
php: [8.2, 8.3]
wordpress: ["latest"]
runs-on: ubuntu-latest
# Cancel any existing runs of this workflow
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}-P${{ matrix.php }}-WP${{ matrix.wordpress }}
cancel-in-progress: true
# Name the job in the matrix
name: "PR Tests PHP ${{ matrix.php }} WordPress ${{ matrix.wordpress }}"
steps:
- uses: actions/checkout@v4

- name: Run General Tests
# See https://github.com/alleyinteractive/action-test-general for more options
uses: alleyinteractive/action-test-general@develop

- name: Run Node Tests
# See https://github.com/alleyinteractive/action-test-node for more options.
# Defaults to the latest LTS version.
uses: alleyinteractive/action-test-node@develop

- name: Run PHP Tests
# See https://github.com/alleyinteractive/action-test-php for more options
uses: alleyinteractive/action-test-php@develop
with:
php-version: '${{ matrix.php }}'
wordpress-version: '${{ matrix.wordpress }}'
skip-wordpress-install: 'true'
# This required job ensures that all PR checks have passed before merging.
all-pr-checks-passed:
name: All PR checks passed
needs:
- pr-tests
runs-on: ubuntu-latest
if: always()
steps:
- name: Check job statuses
run: |
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
echo "One or more jobs failed"
exit 1
elif [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then
echo "One or more jobs were cancelled"
exit 1
else
echo "All jobs passed or were skipped"
exit 0
fi
12 changes: 0 additions & 12 deletions .github/workflows/code-quality.yml

This file was deleted.

16 changes: 0 additions & 16 deletions .github/workflows/coding-standards.yml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/node-tests.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/unit-test.yml

This file was deleted.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
"create-block": "node ./bin/create-block",
"precheck-types": "check-node-version --package",
"check-types": "tsc",
"eslint:fix": "eslint --ext .jsx --ext .js --ext .ts --ext .tsx . --fix",
"eslint": "npm run check-types && eslint --ext .jsx --ext .js --ext .ts --ext .tsx .",
"lint:fix": "eslint --ext .jsx --ext .js --ext .ts --ext .tsx . --fix",
"lint": "npm run check-types && eslint --ext .jsx --ext .js --ext .ts --ext .tsx .",
"packages-update": "alley-build packages-update --dist-tag=wp-6.7",
"postinstall": "rm -rf node_modules/.cache/babel-loader && rm -rf node_modules/.cache/webpack",
"prebuild": "check-node-version --package",
Expand All @@ -36,7 +36,7 @@
"stylelint": "stylelint \"**/*.scss\" --allow-empty-input",
"jest:watch": "jest --watch",
"jest": "jest --passWithNoTests",
"test": "npm run eslint && npm run check-types && npm run jest"
"test": "npm run eslint && npm run jest"
},
"dependencies": {
"@alleyinteractive/block-editor-tools": "^0.11",
Expand Down

0 comments on commit 5011b74

Please sign in to comment.