From beef55ff242c1c85acbd909f0ca47107bb386254 Mon Sep 17 00:00:00 2001 From: lanrtop Date: Thu, 2 Apr 2026 00:15:22 +0900 Subject: [PATCH] fix: use full path for ossutil exe --- .github/workflows/release.yml | 44 ++++++++++++++--------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd238bb..8a1e767 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,15 +72,8 @@ jobs: echo "INSTALLER_NAME=$($installer.Name)" >> $env:GITHUB_OUTPUT echo "UPDATE_ZIP_NAME=$($updateZip.Name)" >> $env:GITHUB_OUTPUT - # 上传到阿里云 OSS - - name: Install ossutil - 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 + # 上传到阿里云 OSS + 生成 latest.json + - name: Upload to OSS & generate latest.json shell: pwsh env: OSS_KEY_ID: ${{ secrets.OSS_KEY_ID }} @@ -88,28 +81,26 @@ jobs: OSS_BUCKET: ${{ secrets.OSS_BUCKET }} OSS_ENDPOINT: ${{ secrets.OSS_ENDPOINT }} run: | - $tag = "${{ github.ref_name }}" - $bucket = "oss://$env:OSS_BUCKET" + # 下载 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 }}" + $bucket = "oss://$env:OSS_BUCKET" $endpoint = "https://$env:OSS_ENDPOINT" # 配置 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 - ossutil64/ossutil64.exe 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.INSTALLER }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.INSTALLER_NAME }}" -f + & $oss cp "${{ steps.artifacts.outputs.UPDATE_ZIP }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.UPDATE_ZIP_NAME }}" -f + & $oss cp "${{ steps.artifacts.outputs.SIG_FILE }}" "$bucket/releases/$tag/${{ steps.artifacts.outputs.UPDATE_ZIP_NAME }}.sig" -f - # 生成并上传 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 }}" + # 生成 latest.json $version = "${{ steps.artifacts.outputs.VERSION }}" $date = (Get-Date -Format 'yyyy-MM-ddTHH:mm:ssZ') $baseUrl = "https://$env:OSS_BUCKET.$env:OSS_ENDPOINT/releases/$tag" @@ -129,5 +120,4 @@ jobs: } | ConvertTo-Json -Depth 5 $json | Out-File -FilePath latest.json -Encoding utf8NoBOM - - ossutil64/ossutil64.exe cp latest.json "oss://$env:OSS_BUCKET/latest.json" -f + & $oss cp latest.json "$bucket/latest.json" -f