Build #1683
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: 'Build' | |
on: | |
push: | |
workflow_dispatch: | |
schedule: | |
- cron: '30 0 * * *' | |
jobs: | |
vs16: | |
name: build | |
runs-on: windows-2019 | |
strategy: | |
fail-fast: false | |
matrix: | |
php: ['8.0', '8.1', '8.2', '8.3'] | |
extensions: [pcov, xdebug, sqlsrv, pdo_sqlsrv] | |
sdk_version: [master] | |
vs: [vs16] | |
ts: [ts, nts] | |
arch: [x64, x86] | |
include: | |
- extensions: pcov | |
repo: krakjoe/pcov | |
branch: issue-php84 | |
dev_branch: issue-php84 | |
args: enable-pcov | |
- extensions: xdebug | |
repo: shivammathur/xdebug | |
branch: master | |
dev_branch: master | |
args: with-xdebug | |
- extensions: sqlsrv | |
repo: https://pecl.php.net/package/sqlsrv | |
branch: latest | |
dev_branch: latest | |
args: enable-sqlsrv | |
- extensions: pdo_sqlsrv | |
repo: https://pecl.php.net/package/pdo_sqlsrv | |
branch: latest | |
dev_branch: latest | |
args: with-pdo-sqlsrv | |
- extensions: sqlsrv | |
php: '8.0' | |
repo: https://pecl.php.net/package/sqlsrv | |
branch: '5.11.0' | |
dev_branch: '5.11.0' | |
args: enable-sqlsrv | |
- extensions: pdo_sqlsrv | |
php: '8.0' | |
repo: https://pecl.php.net/package/pdo_sqlsrv | |
branch: '5.11.0' | |
dev_branch: '5.11.0' | |
args: with-pdo-sqlsrv | |
exclude: | |
- extensions: sqlsrv | |
php: '8.4' | |
- extensions: pdo_sqlsrv | |
php: '8.4' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: build | |
run: | | |
pwsh scripts/builder.ps1 ${{ matrix.extensions }} ${{ matrix.repo }} ${{ matrix.branch }} ${{ matrix.dev_branch }} ${{ matrix.args }} ${{ matrix.sdk_version }} ${{ matrix.vs }} ${{ matrix.arch }} ${{ matrix.ts }} ${{ matrix.php }} | |
$exit_code = $? | |
if(-not($exit_code)) { | |
exit $exit_code | |
} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.extensions }}_${{ matrix.php }}_${{ matrix.ts }}_${{ matrix.arch }} | |
path: ${{ matrix.extensions }} | |
vs17: | |
name: build | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
php: ['8.4', '8.5'] | |
extensions: [pcov, xdebug, sqlsrv, pdo_sqlsrv] | |
sdk_version: [master] | |
vs: [vs17] | |
ts: [ts, nts] | |
arch: [x64, x86] | |
include: | |
- extensions: pcov | |
repo: krakjoe/pcov | |
branch: issue-php84 | |
dev_branch: issue-php84 | |
args: enable-pcov | |
- extensions: xdebug | |
repo: shivammathur/xdebug | |
branch: master | |
dev_branch: master | |
args: with-xdebug | |
- extensions: sqlsrv | |
repo: https://pecl.php.net/package/sqlsrv | |
branch: latest | |
dev_branch: latest | |
args: enable-sqlsrv | |
- extensions: pdo_sqlsrv | |
repo: https://pecl.php.net/package/pdo_sqlsrv | |
branch: latest | |
dev_branch: latest | |
args: with-pdo-sqlsrv | |
exclude: | |
- extensions: sqlsrv | |
php: '8.4' | |
- extensions: pdo_sqlsrv | |
php: '8.4' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: build | |
run: | | |
pwsh scripts/builder.ps1 ${{ matrix.extensions }} ${{ matrix.repo }} ${{ matrix.branch }} ${{ matrix.dev_branch }} ${{ matrix.args }} ${{ matrix.sdk_version }} ${{ matrix.vs }} ${{ matrix.arch }} ${{ matrix.ts }} ${{ matrix.php }} | |
$exit_code = $? | |
if(-not($exit_code)) { | |
exit $exit_code | |
} | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.extensions }}_${{ matrix.php }}_${{ matrix.ts }}_${{ matrix.arch }} | |
path: ${{ matrix.extensions }} | |
release: | |
runs-on: ubuntu-latest | |
needs: [vs16, vs17] | |
steps: | |
- uses: actions/checkout@v4 | |
- run: mkdir ext | |
- uses: actions/download-artifact@v4 | |
with: | |
path: ext | |
- name: Release | |
run: | | |
set -x | |
assets=() | |
for asset in ./ext/*/*.dll; do | |
assets+=("$asset") | |
done | |
if ! gh release view builds; then | |
gh release create "builds" "${assets[@]}" -t "builds" -n "builds" | |
else | |
gh release upload "builds" "${assets[@]}" --clobber | |
fi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |