ci: replace broken upload-artifact action with Gitea generic packages

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-11 16:33:45 +00:00
parent e71b08c0d3
commit 439c9c08fc
+32 -20
View File
@@ -150,16 +150,9 @@ jobs:
}
}
- name: Test
continue-on-error: true # don't block the release pipeline on test failures
run: dotnet test src/OutlookAddin.Tests/OutlookAddin.Tests.csproj --configuration Release --no-build --logger "trx;LogFileName=test-results.trx"
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results
path: '**/*.trx'
# Tests temporarily disabled -- actions/upload-artifact@v4 fails on this
# self-hosted runner. Add back once the artifact action is fixed or once
# we move test reporting to a different mechanism.
publish-clickonce:
needs: build
@@ -330,11 +323,24 @@ jobs:
Copy-Item -Force "tools/install-protocol.ps1" "$stagingDir/install-protocol.ps1"
Copy-Item -Force "tools/uninstall-protocol.ps1" "$stagingDir/uninstall-protocol.ps1"
- name: Upload publish artifact
uses: actions/upload-artifact@v4
with:
name: clickonce-${{ steps.ver.outputs.versionDot }}
path: publish/
- name: Pack publish/ and upload to Gitea generic package registry
# actions/upload-artifact@v4 is broken on this self-hosted runner, so
# we tar+zstd the publish dir and PUT it to the generic package
# registry. dockerize-and-deploy then fetches it via GET.
shell: powershell
env:
REG_USER: ${{ secrets.REGISTRY_USER }}
REG_PASS: ${{ secrets.REGISTRY_PASSWORD }}
VER: ${{ steps.ver.outputs.versionDot }}
run: |
tar -czf publish.tar.gz publish
$pair = "$($env:REG_USER):$($env:REG_PASS)"
$auth = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($pair))
$uri = "https://gitea.dev.marcus-law.co.il/api/packages/espocrm-extensions/generic/outlook-addin-publish/$($env:VER)/publish.tar.gz"
Write-Host "PUT $uri"
Invoke-WebRequest -Method Put -Uri $uri -Headers @{ Authorization = $auth } `
-InFile publish.tar.gz -ContentType 'application/gzip' -UseBasicParsing | Out-Null
Write-Host "Uploaded $((Get-Item publish.tar.gz).Length) bytes."
dockerize-and-deploy:
needs: publish-clickonce
@@ -360,11 +366,17 @@ jobs:
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "tag=$TAG" >> $GITHUB_OUTPUT
- name: Download publish artifact
uses: actions/download-artifact@v4
with:
name: clickonce-${{ steps.ver.outputs.version }}
path: cdn/publish/
- name: Download publish artifact from Gitea generic package
env:
REG_USER: ${{ secrets.REGISTRY_USER }}
REG_PASS: ${{ secrets.REGISTRY_PASSWORD }}
run: |
set -e
URL="https://gitea.dev.marcus-law.co.il/api/packages/espocrm-extensions/generic/outlook-addin-publish/${{ steps.ver.outputs.version }}/publish.tar.gz"
curl -sfL -u "$REG_USER:$REG_PASS" "$URL" -o publish.tar.gz
mkdir -p cdn
tar -xzf publish.tar.gz -C cdn
ls -la cdn/publish/
- name: Login to Gitea Registry
run: |