Update tools-init.sh #837
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: CI | |
on: | |
push: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
unit-testing: | |
name: Run unit tests (PHP ${{ matrix.php }}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: | |
- '8.0' | |
- '8.1' | |
- '8.2' | |
steps: | |
- name: Check out the source code | |
uses: actions/checkout@v3 | |
- name: Set up PHP | |
uses: shivammathur/setup-php@2.25.2 | |
with: | |
coverage: none | |
php-version: "${{ matrix.php }}" | |
tools: phpunit:9 | |
env: | |
fail-fast: 'true' | |
- name: Configure PHPUnit | |
run: sed "s:PROJECT_DIR:$(pwd):g" phpunit.xml.dist > phpunit.xml | |
- name: Run unit tests | |
run: phpunit --testsuite=unit-tests | |
env: | |
VIPGOCI_TESTING_DEBUG_MODE: 'true' | |
integration-testing: | |
name: Run integration tests (PHP ${{ matrix.php }}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: | |
- '8.0' | |
- '8.1' | |
- '8.2' | |
steps: | |
- name: Check out the source code | |
uses: actions/checkout@v3 | |
- name: Set up PHP 7.4 | |
uses: shivammathur/setup-php@2.25.2 | |
with: | |
coverage: none | |
php-version: "7.4" | |
- name: Set up PHP 8.0 | |
uses: shivammathur/setup-php@2.25.2 | |
with: | |
coverage: none | |
php-version: "8.0" | |
- name: Set up PHP 8.1 | |
uses: shivammathur/setup-php@2.25.2 | |
with: | |
coverage: none | |
php-version: "8.1" | |
- name: Set up PHP 8.2 | |
uses: shivammathur/setup-php@2.25.2 | |
with: | |
coverage: none | |
php-version: "8.2" | |
tools: phpunit:9 | |
env: | |
fail-fast: 'true' | |
- name: Install tools | |
run: | | |
./tools-init.sh | |
rm -rf ~/vip-go-ci-tools/vip-go-ci | |
- name: Clone vip-go-ci-testing repository | |
run: | | |
git clone https://github.com/Automattic/vip-go-ci-testing.git ~/vip-go-ci-tools/vip-go-ci-testing | |
git -C ~/vip-go-ci-tools/vip-go-ci-testing checkout ap-file-types-test-1 # Need to check this out so branch is known | |
git -C ~/vip-go-ci-tools/vip-go-ci-testing checkout master # Switch to default | |
- name: Configure tools | |
env: | |
GH_TESTS_TOKEN: ${{ secrets.GH_TESTS_TOKEN }} | |
run: | | |
sed "s:/home/phpunit/:${HOME}/:; s:phpcs-php-path=.*:phpcs-php-path=/usr/bin/php7.4:g; s:svg-php-path=.*:svg-php-path=/usr/bin/php8.1:g; s:github-repo-url=.*:github-repo-url=${HOME}/vip-go-ci-tools/vip-go-ci-testing:g;" tests/config.ini.dist > tests/config.ini | |
rm -f tests/config.ini.dist | |
echo '[git-secrets]' > tests/config-secrets.ini | |
echo "github-token=$GH_TESTS_TOKEN" >> tests/config-secrets.ini | |
echo 'github-skip-write-tests=true' >> tests/config-secrets.ini | |
sed "s:PROJECT_DIR:$(pwd):g" phpunit.xml.dist > phpunit.xml | |
- name: Set default PHP version | |
run: sudo update-alternatives --set php "/usr/bin/php${{ matrix.php }}" | |
- name: Run integration tests | |
run: phpunit --testsuite=integration-tests | |
env: | |
VIPGOCI_TESTING_DEBUG_MODE: 'true' | |
- name: Clean up after integration tests | |
run: | | |
rm -f tests/config-secrets.ini | |
php-code-compatibility: | |
name: PHP code compatibility (8.2) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the source code | |
uses: actions/checkout@v3 | |
- name: Set up PHP | |
uses: shivammathur/setup-php@2.25.2 | |
with: | |
coverage: none | |
php-version: 8.2 | |
- name: Install tools | |
run: | | |
./tools-init.sh | |
rm -rf ~/vip-go-ci-tools/vip-go-ci | |
- name: Run PHPCS | |
run: | | |
~/vip-go-ci-tools/phpcs/bin/phpcs --runtime-set 'testVersion' '8.2-' --standard=PHPCompatibility,PHPCompatibilityParagonieRandomCompat,PHPCompatibilityParagonieSodiumCompat --ignore="vendor/*" . |