[SITE-1585] Move check-commits into GitHub actions #784
Workflow file for this run
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: Lint and Test | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
permissions: | |
contents: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: ['8.1', '8.2', '8.3'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
- name: Cache Composer dependencies | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Check Commits | |
run: | | |
git fetch --all | |
git checkout -b default origin/default | |
git checkout ${{ github.event.pull_request.head.sha }} | |
echo "This script does preliminary checks to make sure that the commits in a PR made in this repository are ready for the deploy-public-upstream script. i.e. any given commit modifies either 'normal' or 'non-release' files, never mixed." | |
bash ${{ github.workspace }}/devops/scripts/check-commits.sh | |
- name: Check Composer lock file is up to date | |
run: composer validate --no-check-all | |
- name: Install Composer dependencies | |
run: composer update --no-progress --prefer-dist --optimize-autoloader | |
- name: Run lints | |
run: | | |
composer lint:devops | |
composer lint | |
- name: Run tests | |
run: composer test | |
- name: Install bats | |
uses: bats-core/[email protected] | |
- name: Test Helper functions | |
env: | |
CI: 1 | |
run: | | |
bats -p -t .github/tests |