Skip to content

Commit 2bcd687

Browse files
committed
build(workflows/test.yaml) build uopz branch from source
Following https://github.com/shivammathur/setup-php/wiki/Add-extension-from-source instructions, build the PHP 8.4 compatible version of the `uopz` extension from a PR branch that does not throw during the extension compilation.
1 parent 782e95b commit 2bcd687

File tree

1 file changed

+91
-1
lines changed

1 file changed

+91
-1
lines changed

.github/workflows/test.yaml

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,100 @@ concurrency:
2828
cancel-in-progress: true
2929

3030
jobs:
31+
test_on_84:
32+
strategy:
33+
matrix:
34+
php_version: [ '8.4' ]
35+
suite:
36+
- acceptance
37+
- climodule
38+
- functional
39+
- muloader
40+
- unit --skip-group=slow
41+
- unit --group=isolated-1
42+
- unit --group=isolated-2
43+
# - webdriver # Disabled until the webdriver tests are fixed.
44+
- wpcli_module
45+
- wploader_multisite
46+
- wploader_wpdb_interaction
47+
- wploadersuite
48+
name: ${{ matrix.suite }} php@${{ matrix.php_version }}
49+
runs-on: ubuntu-22.04
50+
steps:
51+
- name: Checkout
52+
uses: actions/checkout@v3
53+
54+
- name: Setup PHP
55+
uses: shivammathur/setup-php@v2
56+
with:
57+
php-version: ${{ matrix.php_version }}
58+
extensions: uopz-zonuexe/uopz@support/php84-exit, sqlite3, gd
59+
ini-values: post_max_size=256M, max_execution_time=180, uopz.exit=1
60+
tools: composer
61+
62+
- name: Get Composer Cache Directory
63+
id: composer-cache
64+
run: |
65+
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
66+
67+
- name: Restore Composer dependencies
68+
uses: actions/cache@v3
69+
with:
70+
path: ${{ steps.composer-cache.outputs.dir }}
71+
key: ${{ runner.os }}-composer-${{ matrix.php_version }}-${{ hashFiles('**/composer.lock') }}
72+
restore-keys: |
73+
${{ runner.os }}-composer-
74+
75+
- name: Get the vendor/bin directory path
76+
id: vendor-bin-dir
77+
run: |
78+
echo "dir=${{ github.workspace }}/vendor/bin" >> $GITHUB_OUTPUT
79+
80+
- name: Ensure the vendor/bin directory exists
81+
run: mkdir -p ${{ steps.vendor-bin-dir.outputs.dir }}
82+
83+
- name: Restore vendor/bin from cache
84+
uses: actions/cache@v3
85+
id: vendor-bin-dir-cache
86+
with:
87+
path: ${{ steps.vendor-bin-dir.outputs.dir }}
88+
key: ${{ runner.os }}-chromedriver-${{ steps.chrome-version.outputs.version }}
89+
restore-keys: |
90+
${{ runner.os }}-chromedriver-
91+
92+
- name: Install dependencies
93+
run: composer update
94+
95+
- name: Update ChromeDriver if required
96+
if: steps.vendor-bin-dir-cache.outputs.cache-hit != 'true'
97+
run: vendor/bin/codecept chromedriver:update --binary /usr/bin/google-chrome
98+
99+
- name: Create var/wordpress directory
100+
run: mkdir -p var/wordpress
101+
102+
- name: Start services
103+
run: vendor/bin/codecept dev:start
104+
105+
- name: Setup WordPress
106+
run: php bin/setup-wp.php
107+
108+
- name: Run tests
109+
id: test
110+
run: vendor/bin/codecept run ${{ matrix.suite }}
111+
112+
- name: Upload Artifacts
113+
uses: actions/upload-artifact@v4
114+
if: ${{ failure() }}
115+
with:
116+
name: ${{ matrix.suite }}-php@${{ matrix.php_version }}-screenshots
117+
path: |
118+
var/_output/*.html
119+
var/_output/*.png
120+
retention-days: 3
31121
test:
32122
strategy:
33123
matrix:
34-
php_version: [ '8.0', '8.1', '8.2', '8.3', '8.4' ]
124+
php_version: [ '8.0', '8.1', '8.2', '8.3' ]
35125
suite:
36126
- acceptance
37127
- climodule

0 commit comments

Comments
 (0)