fix: use full path for ossutil exe

This commit is contained in:
lanrtop 2026-04-02 00:15:22 +09:00
parent 28d3ff1209
commit beef55ff24

View File

@ -72,15 +72,8 @@ jobs:
echo "INSTALLER_NAME=$($installer.Name)" >> $env:GITHUB_OUTPUT echo "INSTALLER_NAME=$($installer.Name)" >> $env:GITHUB_OUTPUT
echo "UPDATE_ZIP_NAME=$($updateZip.Name)" >> $env:GITHUB_OUTPUT echo "UPDATE_ZIP_NAME=$($updateZip.Name)" >> $env:GITHUB_OUTPUT
# 上传到阿里云 OSS # 上传到阿里云 OSS + 生成 latest.json
- name: Install ossutil - name: Upload to OSS & generate latest.json
shell: pwsh
run: |
Invoke-WebRequest -Uri "https://gosspublic.alicdn.com/ossutil/1.7.17/ossutil64.zip" -OutFile ossutil.zip
Expand-Archive ossutil.zip -DestinationPath ossutil
echo "$PWD/ossutil" >> $env:GITHUB_PATH
- name: Upload to OSS
shell: pwsh shell: pwsh
env: env:
OSS_KEY_ID: ${{ secrets.OSS_KEY_ID }} OSS_KEY_ID: ${{ secrets.OSS_KEY_ID }}
@ -88,28 +81,26 @@ jobs:
OSS_BUCKET: ${{ secrets.OSS_BUCKET }} OSS_BUCKET: ${{ secrets.OSS_BUCKET }}
OSS_ENDPOINT: ${{ secrets.OSS_ENDPOINT }} OSS_ENDPOINT: ${{ secrets.OSS_ENDPOINT }}
run: | run: |
# 下载 ossutil 可执行文件
$oss = "$env:GITHUB_WORKSPACE\ossutil64.exe"
Invoke-WebRequest -Uri "https://gosspublic.alicdn.com/ossutil/1.7.17/ossutil-v1.7.17-windows-amd64.zip" -OutFile oss.zip
Expand-Archive oss.zip -DestinationPath oss_tmp
$exeFound = Get-ChildItem oss_tmp -Filter "ossutil*.exe" -Recurse | Select-Object -First 1
Copy-Item $exeFound.FullName $oss
$tag = "${{ github.ref_name }}" $tag = "${{ github.ref_name }}"
$bucket = "oss://$env:OSS_BUCKET" $bucket = "oss://$env:OSS_BUCKET"
$endpoint = "https://$env:OSS_ENDPOINT" $endpoint = "https://$env:OSS_ENDPOINT"
# 配置 ossutil # 配置 ossutil
ossutil64/ossutil64.exe config -e $endpoint -i $env:OSS_KEY_ID -k $env:OSS_KEY_SECRET & $oss config -e $endpoint -i $env:OSS_KEY_ID -k $env:OSS_KEY_SECRET -L CH
# 上传安装包和更新包 # 上传安装包和更新包
ossutil64/ossutil64.exe cp "${{ steps.artifacts.outputs.INSTALLER }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.INSTALLER_NAME }}" -f & $oss cp "${{ steps.artifacts.outputs.INSTALLER }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.INSTALLER_NAME }}" -f
ossutil64/ossutil64.exe cp "${{ steps.artifacts.outputs.UPDATE_ZIP }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.UPDATE_ZIP_NAME }}" -f & $oss cp "${{ steps.artifacts.outputs.UPDATE_ZIP }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.UPDATE_ZIP_NAME }}" -f
ossutil64/ossutil64.exe cp "${{ steps.artifacts.outputs.SIG_FILE }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.UPDATE_ZIP_NAME }}.sig" -f & $oss cp "${{ steps.artifacts.outputs.SIG_FILE }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.UPDATE_ZIP_NAME }}.sig" -f
# 生成并上传 latest.json国内客户端更新检测入口 # 生成 latest.json
- name: Generate latest.json
shell: pwsh
env:
OSS_KEY_ID: ${{ secrets.OSS_KEY_ID }}
OSS_KEY_SECRET: ${{ secrets.OSS_KEY_SECRET }}
OSS_BUCKET: ${{ secrets.OSS_BUCKET }}
OSS_ENDPOINT: ${{ secrets.OSS_ENDPOINT }}
run: |
$tag = "${{ github.ref_name }}"
$version = "${{ steps.artifacts.outputs.VERSION }}" $version = "${{ steps.artifacts.outputs.VERSION }}"
$date = (Get-Date -Format 'yyyy-MM-ddTHH:mm:ssZ') $date = (Get-Date -Format 'yyyy-MM-ddTHH:mm:ssZ')
$baseUrl = "https://$env:OSS_BUCKET.$env:OSS_ENDPOINT/releases/$tag" $baseUrl = "https://$env:OSS_BUCKET.$env:OSS_ENDPOINT/releases/$tag"
@ -129,5 +120,4 @@ jobs:
} | ConvertTo-Json -Depth 5 } | ConvertTo-Json -Depth 5
$json | Out-File -FilePath latest.json -Encoding utf8NoBOM $json | Out-File -FilePath latest.json -Encoding utf8NoBOM
& $oss cp latest.json "$bucket/latest.json" -f
ossutil64/ossutil64.exe cp latest.json "oss://$env:OSS_BUCKET/latest.json" -f