4040
4141jobs :
4242 build :
43+ permissions :
44+ contents : write
4345 runs-on : windows-latest
4446 steps :
47+ - name : Determine ref
48+ run : |
49+ $ref = $env:REF
50+ if (-not $ref -and $env:GITHUB_EVENT_NAME -eq "schedule") {
51+ $ref = (gh release view --repo php/frankenphp --json tagName --jq '.tagName')
52+ }
53+
54+ "REF=$ref" >> $env:GITHUB_ENV
55+ env :
56+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
57+ REF : ${{ (github.ref_type == 'tag' && github.ref_name) || (github.event_name == 'workflow_dispatch' && inputs.version) || '' }}
58+
4559 - name : Configure Git
4660 run : |
4761 git config --global core.autocrlf false
@@ -50,15 +64,22 @@ jobs:
5064 - name : Checkout Code
5165 uses : actions/checkout@v6
5266 with :
67+ ref : ${{ env.REF || '' }}
5368 path : frankenphp
5469 persist-credentials : false
5570
5671 - name : Set FRANKENPHP_VERSION
5772 run : |
73+ $ref = $env:REF
74+
5875 if ($env:GITHUB_REF_TYPE -eq "tag") {
5976 $frankenphpVersion = $env:GITHUB_REF_NAME.Substring(1)
60- } elseif ($env:GITHUB_EVENT_NAME -eq "schedule") {
61- $frankenphpVersion = $env:GITHUB_REF
77+ } elseif ($ref) {
78+ if ($ref.StartsWith("v")) {
79+ $frankenphpVersion = $ref.Substring(1)
80+ } else {
81+ $frankenphpVersion = $ref
82+ }
6283 } else {
6384 $frankenphpVersion = $env:GITHUB_SHA
6485 }
7293 cache-dependency-path : |
7394 frankenphp/go.sum
7495 frankenphp/caddy/go.sum
75- cache : ${{ github.event_name != 'release' }}
96+ cache : ${{ !startsWith( github.ref, 'refs/tags/') }}
7697 check-latest : true
7798
7899 - name : Install Vcpkg Libraries
@@ -108,7 +129,7 @@ jobs:
108129 $phpZip = "php-$version-Win32-vs17-x64.zip"
109130 $develZip = "php-devel-pack-$version-Win32-vs17-x64.zip"
110131
111- $dirName = "frankenphp-$env:FRANKENPHP_VERSION-php-$version-Win32-vs17-x64 "
132+ $dirName = "frankenphp-windows-x86_64 "
112133
113134 "DIR_NAME=$dirName" >> $env:GITHUB_ENV
114135
@@ -185,23 +206,22 @@ jobs:
185206 Copy-Item frankenphp\vcpkg_installed\x64-windows\bin\pthreadVC3.dll $env:DIR_NAME
186207
187208 - name : Upload Artifact
188- if : github.event_name != 'release'
209+ if : ${{ !env.REF }}
189210 uses : actions/upload-artifact@v6
190211 with :
191212 name : ${{ env.DIR_NAME }}
192213 path : ${{ env.DIR_NAME }}
193214 if-no-files-found : error
194215
195216 - name : Zip Release Artifact
196- if : github.event_name == 'release'
217+ if : ${{ env.REF }}
197218 run : Compress-Archive -Path "$env:DIR_NAME\*" -DestinationPath "$env:DIR_NAME.zip"
198219
199220 - name : Upload Release Asset
200- if : github.event_name == 'release'
201- run : gh release upload $env:GITHUB_EVENT_RELEASE_TAG_NAME "$env:DIR_NAME.zip" --clobber
221+ if : ${{ env.REF }}
222+ run : gh release upload " $env:REF" "$env:DIR_NAME.zip" --repo php/frankenphp --clobber
202223 env :
203224 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
204- GITHUB_EVENT_RELEASE_TAG_NAME : ${{ github.event.release.tag_name }}
205225
206226 - name : Run Tests
207227 run : |
0 commit comments