Skip to content

Commit 2761b7f

Browse files
committed
Fix artifact setup in test job in php workflow
1 parent 159259d commit 2761b7f

File tree

4 files changed

+24
-6
lines changed

4 files changed

+24
-6
lines changed

.github/workflows/php.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
artifact-id: ${{ steps.artifacts.outputs.artifact-id }}
3939
steps:
4040
- name: Upload artifacts
41-
uses: actions/upload-artifact/merge@v4
41+
uses: actions/upload-artifact/merge@v5
4242
id: artifacts
4343
with:
4444
name: artifacts
@@ -68,6 +68,7 @@ jobs:
6868

6969
- name: Test PHP
7070
shell: pwsh
71+
continue-on-error: true
7172
run: |
7273
Import-Module (Join-Path $(pwd).Path '\php\BuildPhp') -Force
7374
Invoke-PhpTests -PhpVersion ${{inputs.php-version}} `
@@ -76,7 +77,8 @@ jobs:
7677
-Opcache ${{matrix.opcache}}
7778
7879
- name: Upload artifacts
79-
uses: actions/upload-artifact@v4
80+
uses: actions/upload-artifact@v5
81+
continue-on-error: true
8082
with:
8183
name: test-results-${{matrix.arch}}-${{matrix.ts}}-${{matrix.opcache}}
8284
path: test-${{matrix.arch}}-${{matrix.ts}}-${{matrix.opcache}}.xml

php/BuildPhp/private/Add-TestRequirements.ps1

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,34 @@ function Add-TestRequirements {
4040
begin {
4141
}
4242
process {
43+
Add-Type -Assembly "System.IO.Compression.Filesystem"
4344
$versionInUrl = $PhpVersion
4445
if($PhpVersion -eq 'master') {
4546
$versionInUrl = "master"
4647
}
4748
$tsPart = if ($Ts -eq "nts") {"nts-Win32"} else {"Win32"}
4849
$binZipFile = "php-$versionInUrl-$tsPart-$VsVersion-$Arch.zip"
4950
$testZipFile = "php-test-pack-$versionInUrl.zip"
50-
if(-not(Test-Path "$ArtifactsDirectory\$binZipFile")) {
51+
52+
$currentDirectory = (Get-Location).Path
53+
$binZipFilePath = Join-Path $ArtifactsDirectory $binZipFile
54+
$binDirectoryPath = Join-Path $currentDirectory phpbin
55+
56+
$testZipFilePath = Join-Path $ArtifactsDirectory $testZipFile
57+
$testsDirectoryPath = Join-Path $currentDirectory $TestsDirectory
58+
59+
if(-not(Test-Path $binZipFilePath)) {
5160
Write-Host "Downloading PHP build $binZipFile..."
5261
Get-PhpBuild -PhpVersion $PhpVersion -Arch $Arch -Ts $Ts -VsVersion $VsVersion
62+
} else {
63+
[System.IO.Compression.ZipFile]::ExtractToDirectory($binZipFilePath, $binDirectoryPath)
5364
}
54-
if(-not(Test-Path "$ArtifactsDirectory\$testZipFile")) {
65+
66+
if(-not(Test-Path $testZipFilePath)) {
5567
Write-Host "Downloading PHP test pack $testZipFile..."
5668
Get-PhpTestPack -PhpVersion $PhpVersion -TestsDirectory $TestsDirectory
69+
} else {
70+
[System.IO.Compression.ZipFile]::ExtractToDirectory($testZipFilePath, $testsDirectoryPath)
5771
}
5872
}
5973
end {

php/BuildPhp/public/Invoke-PhpTests.ps1

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ function Invoke-PhpTests {
4040

4141
$currentDirectory = (Get-Location).Path
4242

43+
Get-ChildItem $currentDirectory
44+
4345
$tempDirectory = [System.IO.Path]::GetTempPath()
4446

4547
$buildDirectory = [System.IO.Path]::Combine($tempDirectory, [System.Guid]::NewGuid().ToString())
@@ -52,7 +54,7 @@ function Invoke-PhpTests {
5254

5355
Set-Location "$buildDirectory"
5456

55-
Add-TestRequirements -PhpVersion $PhpVersion -Arch $Arch -Ts $Ts -VsVersion $VsData.vs -TestsDirectory $testsDirectory -ArtifactsDirectory $currentDirectory\artifacts
57+
Add-TestRequirements -PhpVersion $PhpVersion -Arch $Arch -Ts $Ts -VsVersion $VsData.vs -TestsDirectory $testsDirectory -ArtifactsDirectory $currentDirectory
5658

5759
Set-PhpIniForTests -BuildDirectory $buildDirectory -Opcache $Opcache
5860

php/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ runs:
3232
-Ts ${{inputs.ts}}
3333
3434
- name: Upload artifacts
35-
uses: actions/upload-artifact@v4
35+
uses: actions/upload-artifact@v5
3636
with:
3737
name: artifacts-${{inputs.php-version}}-${{inputs.arch}}-${{inputs.ts}}
3838
path: artifacts/*

0 commit comments

Comments
 (0)