-
Notifications
You must be signed in to change notification settings - Fork 1
43 lines (42 loc) · 2.19 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
name: Test
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
services:
mariadb:
image: mariadb:10.6
steps:
- uses: actions/checkout@v4
- name: Setup barebones project
run: |
mkdir test_proj && cd test_proj
composer init --name test/test --no-interaction --type=library --stability=dev
composer config repositories.wpunit-helpers '{"type": "vcs", "url": "https://github.com/pantheon-systems/wpunit-helpers.git"}'
composer config allow-plugins.pantheon-systems/wpunit-helpers true
composer require --dev pantheon-systems/wpunit-helpers:dev-${{ github.head_ref }}
- name: Validate that bin files were copied
run: |
cd ${{ github.workspace }}/test_proj
test -d bin || (echo "❌ bin directory not found" >&2 && exit 1)
test -f bin/install-wp-tests.sh || (echo "❌ bin/install-wp-tests.sh not found" >&2 && exit 1)
test -f bin/install-local-tests.sh || (echo "❌ bin/install-local-tests.sh not found" >&2 && exit 1)
test -f bin/phpunit-test.sh || (echo "❌ bin/phpunit-test.sh not found" >&2 && exit 1)
test -f bin/helpers.sh || (echo "❌ bin/helpers.sh not found" >&2 && exit 1)
echo "✅ All bin files found"
- name: Start MySQL
run: sudo systemctl start mysql
- name: Install WP-CLI
run: |
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
- name: Run local install
run: |
echo "Testing latest install..."
mkdir -p ${{ github.workspace }}/local_tests && cd ${{ github.workspace }}/local_tests
bash ${{ github.workspace }}/test_proj/bin/install-local-tests.sh --dbpass=root --tmpdir=${{ github.workspace }}/local_tests
echo "Testing nightly install..."
${{ github.workspace }}/test_proj/bin/install-local-tests.sh --version=nightly --no-db --tmpdir=${{ github.workspace }}/local_tests
- name: Run PHPUnit Test Install
run: bash ${{ github.workspace }}/test_proj/bin/phpunit-test.sh --tmpdir=${{ github.workspace }}/local_tests