55 tags :
66 - " v*"
77
8+ permissions :
9+ contents : write # publishing releases
10+ repository-projects : write # move cards between columns
11+
812jobs :
913 goreleaser :
1014 runs-on : ubuntu-latest
1115 steps :
1216 - name : Checkout
13- uses : actions/checkout@v2
17+ uses : actions/checkout@v3
1418 - name : Set up Go 1.16
1519 uses : actions/setup-go@v2
1620 with :
2731 GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
2832 - name : Install osslsigncode
2933 run : sudo apt-get install -y osslsigncode
34+ - name : Obtain signing cert
35+ run : |
36+ cert="$(mktemp -t cert.XXX)"
37+ base64 -d <<<"$CERT_CONTENTS" > "$cert"
38+ echo "CERT_FILE=$cert" >> $GITHUB_ENV
39+ env :
40+ CERT_CONTENTS : ${{ secrets.WINDOWS_CERT_PFX }}
3041 - name : Run GoReleaser
3142 uses : goreleaser/goreleaser-action@v2
3243 with :
3546 env :
3647 GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
3748 GORELEASER_CURRENT_TAG : ${{steps.changelog.outputs.tag-name}}
38- GITHUB_CERT_PASSWORD : ${{secrets.GITHUB_CERT_PASSWORD}}
39- DESKTOP_CERT_TOKEN : ${{secrets.DESKTOP_CERT_TOKEN}}
49+ CERT_PASSWORD : ${{secrets.WINDOWS_CERT_PASSWORD}}
4050 - name : Checkout documentation site
41- uses : actions/checkout@v2
51+ uses : actions/checkout@v3
4252 with :
4353 repository : github/cli.github.com
4454 path : site
@@ -122,7 +132,7 @@ jobs:
122132 runs-on : windows-latest
123133 steps :
124134 - name : Checkout
125- uses : actions/checkout@v2
135+ uses : actions/checkout@v3
126136 - name : Download gh.exe
127137 id : download_exe
128138 shell : bash
@@ -132,34 +142,33 @@ jobs:
132142 unzip -o *.zip && rm -v *.zip
133143 env :
134144 GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
135- - name : Install go-msi
136- run : choco install -y "go-msi"
137145 - name : Prepare PATH
138- shell : bash
139- run : |
140- echo "$WIX\\bin" >> $GITHUB_PATH
141- echo "C:\\Program Files\\go-msi" >> $GITHUB_PATH
146+ id : setupmsbuild
147+ uses : microsoft/setup-msbuild@v1.0.3
142148 - name : Build MSI
143149 id : buildmsi
144150 shell : bash
145151 env :
146152 ZIP_FILE : ${{ steps.download_exe.outputs.zip }}
153+ MSBUILD_PATH : ${{ steps.setupmsbuild.outputs.msbuildPath }}
147154 run : |
148- mkdir -p build
149- msi="$(basename "$ZIP_FILE" ".zip").msi"
150- printf "::set-output name=msi::%s\n" "$msi"
151- go-msi make --msi "$PWD/$msi" --out "$PWD/build" --version "${GITHUB_REF#refs/tags/}"
155+ name="$(basename "$ZIP_FILE" ".zip")"
156+ version="$(echo -e ${GITHUB_REF#refs/tags/v} | sed s/-.*$//)"
157+ "${MSBUILD_PATH}\MSBuild.exe" ./build/windows/gh.wixproj -p:SourceDir="$PWD" -p:OutputPath="$PWD" -p:OutputName="$name" -p:ProductVersion="$version"
152158 - name : Obtain signing cert
153159 id : obtain_cert
160+ shell : bash
161+ run : |
162+ base64 -d <<<"$CERT_CONTENTS" > ./cert.pfx
163+ printf "::set-output name=cert-file::%s\n" ".\\cert.pfx"
154164 env :
155- DESKTOP_CERT_TOKEN : ${{ secrets.DESKTOP_CERT_TOKEN }}
156- run : .\script\setup-windows-certificate.ps1
165+ CERT_CONTENTS : ${{ secrets.WINDOWS_CERT_PFX }}
157166 - name : Sign MSI
158167 env :
159168 CERT_FILE : ${{ steps.obtain_cert.outputs.cert-file }}
160169 EXE_FILE : ${{ steps.buildmsi.outputs.msi }}
161- GITHUB_CERT_PASSWORD : ${{ secrets.GITHUB_CERT_PASSWORD }}
162- run : .\script\sign.ps1 -Certificate $env:CERT_FILE -Executable $env:EXE_FILE
170+ CERT_PASSWORD : ${{ secrets.WINDOWS_CERT_PASSWORD }}
171+ run : .\script\signtool sign /d "GitHub CLI" /f $env:CERT_FILE /p $env:CERT_PASSWORD /fd sha256 /tr http://timestamp.digicert.com /v $env:EXE_FILE
163172 - name : Upload MSI
164173 shell : bash
165174 run : |
@@ -183,7 +192,7 @@ jobs:
183192 env :
184193 COMMITTER_TOKEN : ${{ secrets.UPLOAD_GITHUB_TOKEN }}
185194 - name : Checkout scoop bucket
186- uses : actions/checkout@v2
195+ uses : actions/checkout@v3
187196 with :
188197 repository : cli/scoop-gh
189198 path : scoop-gh
0 commit comments