From 4f1783dcb14be07ed249741c40ee355f261e1730 Mon Sep 17 00:00:00 2001 From: gronod <1+gronod@noreply@i3omb.com> Date: Tue, 25 Aug 2026 12:31:55 +0100 Subject: [PATCH 1/3] ci: upload linux build packages to gitea release assets --- .github/workflows/build-linux.yml | 36 ++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 44075b4..5420af8 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -5,6 +5,8 @@ on: branches: - main - development + tags: + - 'v*' pull_request: branches: - main @@ -74,8 +76,13 @@ jobs: shell: bash run: | VERSION=$(node -p "require('./package.json').version") - if [ "${{ github.ref }}" = "refs/heads/main" ]; then + if [[ "${{ github.ref }}" == refs/tags/* ]]; then + TAG="${{ github.ref_name }}" + echo "APP_VERSION=${TAG#v}" >> $GITHUB_ENV + echo "RELEASE_TAG=${TAG}" >> $GITHUB_ENV + elif [ "${{ github.ref }}" = "refs/heads/main" ]; then echo "APP_VERSION=${VERSION}" >> $GITHUB_ENV + echo "RELEASE_TAG=v${VERSION}" >> $GITHUB_ENV else echo "APP_VERSION=${VERSION}-dev" >> $GITHUB_ENV fi @@ -102,3 +109,30 @@ jobs: with: name: iccery-linux-appimage-${{ env.APP_VERSION }} path: src-tauri/target/release/bundle/appimage/*.AppImage + + - name: Upload Release Assets to Gitea + if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') && !cancelled() + env: + GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SERVER_URL: ${{ github.server_url }} + REPO: ${{ github.repository }} + run: | + echo "Finding release for tag ${RELEASE_TAG}..." + RELEASE_RESP=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" "${SERVER_URL}/api/v1/repos/${REPO}/releases/tags/${RELEASE_TAG}") + RELEASE_ID=$(echo "${RELEASE_RESP}" | grep -o '"id":[0-9]*' | head -n 1 | cut -d: -f2) + if [ -n "${RELEASE_ID}" ]; then + echo "Found Release ID: ${RELEASE_ID}. Uploading Linux assets..." + for f in src-tauri/target/release/bundle/deb/*.deb src-tauri/target/release/bundle/appimage/*.AppImage; do + if [ -f "$f" ]; then + FILENAME=$(basename "$f") + echo "Uploading $FILENAME to release ${RELEASE_ID}..." + curl -s -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@$f" \ + "${SERVER_URL}/api/v1/repos/${REPO}/releases/${RELEASE_ID}/assets?name=${FILENAME}" + fi + done + else + echo "No existing release found for tag ${RELEASE_TAG}. Skipping asset upload." + fi -- 2.39.5 From f591311d991276ef107f3cd9edf15f9eef4931b6 Mon Sep 17 00:00:00 2001 From: gronod <1+gronod@noreply@i3omb.com> Date: Tue, 25 Aug 2026 12:32:00 +0100 Subject: [PATCH 2/3] ci: upload windows build packages to gitea release assets --- .github/workflows/build-windows.yml | 40 ++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index bf119ac..144a175 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -5,6 +5,8 @@ on: branches: - main - development + tags: + - 'v*' pull_request: branches: - main @@ -58,8 +60,13 @@ jobs: shell: powershell run: | $VERSION = node -p "require('./package.json').version" - if ($env:GITHUB_REF -eq "refs/heads/main") { + if ($env:GITHUB_REF -like "refs/tags/*") { + $TAG = $env:GITHUB_REF_NAME + "APP_VERSION=$($TAG.TrimStart('v'))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + "RELEASE_TAG=$TAG" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + } elseif ($env:GITHUB_REF -eq "refs/heads/main") { "APP_VERSION=$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + "RELEASE_TAG=v$VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append } else { "APP_VERSION=$VERSION-dev" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append } @@ -86,3 +93,34 @@ jobs: with: name: iccery-windows-exe-${{ env.APP_VERSION }} path: src-tauri/target/release/bundle/nsis/*.exe + + - name: Upload Release Assets to Gitea + if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') && !cancelled() + shell: powershell + env: + GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SERVER_URL: ${{ github.server_url }} + REPO: ${{ github.repository }} + run: | + $TAG = $env:RELEASE_TAG + if (-not $TAG) { $TAG = "v$env:APP_VERSION" } + Write-Host "Finding release for tag $TAG..." + $headers = @{ "Authorization" = "token $env:GITEA_TOKEN" } + try { + $release = Invoke-RestMethod -Uri "$env:SERVER_URL/api/v1/repos/$env:REPO/releases/tags/$TAG" -Headers $headers -Method Get + $releaseId = $release.id + if ($releaseId) { + Write-Host "Found Release ID: $releaseId. Uploading Windows assets..." + $files = Get-ChildItem -Path "src-tauri\target\release\bundle\msi\*.msi", "src-tauri\target\release\bundle\nsis\*.exe" -ErrorAction SilentlyContinue + foreach ($file in $files) { + Write-Host "Uploading $($file.Name)..." + curl.exe -s -X POST ` + -H "Authorization: token $env:GITEA_TOKEN" ` + -H "Content-Type: multipart/form-data" ` + -F "attachment=@$($file.FullName)" ` + "$env:SERVER_URL/api/v1/repos/$env:REPO/releases/$releaseId/assets?name=$($file.Name)" + } + } + } catch { + Write-Host "Skipping release asset upload: $_" + } -- 2.39.5 From 9105d87602eeb79f2b1dc4ae08a72adc3c6e6c93 Mon Sep 17 00:00:00 2001 From: gronod <1+gronod@noreply@i3omb.com> Date: Tue, 25 Aug 2026 12:32:06 +0100 Subject: [PATCH 3/3] ci: upload macos build packages to gitea release assets --- .github/workflows/build-macos.yml | 36 ++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index b84d4b8..24cb482 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -5,6 +5,8 @@ on: branches: - main - development + tags: + - 'v*' pull_request: branches: - main @@ -59,8 +61,13 @@ jobs: shell: bash run: | VERSION=$(node -p "require('./package.json').version") - if [ "${{ github.ref }}" = "refs/heads/main" ]; then + if [[ "${{ github.ref }}" == refs/tags/* ]]; then + TAG="${{ github.ref_name }}" + echo "APP_VERSION=${TAG#v}" >> $GITHUB_ENV + echo "RELEASE_TAG=${TAG}" >> $GITHUB_ENV + elif [ "${{ github.ref }}" = "refs/heads/main" ]; then echo "APP_VERSION=${VERSION}" >> $GITHUB_ENV + echo "RELEASE_TAG=v${VERSION}" >> $GITHUB_ENV else echo "APP_VERSION=${VERSION}-dev" >> $GITHUB_ENV fi @@ -79,3 +86,30 @@ jobs: with: name: iccery-macos-${{ matrix.platform.name }}-app-${{ env.APP_VERSION }} path: src-tauri/target/release/bundle/macos/*.app + + - name: Upload Release Assets to Gitea + if: (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') && !cancelled() + env: + GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SERVER_URL: ${{ github.server_url }} + REPO: ${{ github.repository }} + run: | + echo "Finding release for tag ${RELEASE_TAG}..." + RELEASE_RESP=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" "${SERVER_URL}/api/v1/repos/${REPO}/releases/tags/${RELEASE_TAG}") + RELEASE_ID=$(echo "${RELEASE_RESP}" | grep -o '"id":[0-9]*' | head -n 1 | cut -d: -f2) + if [ -n "${RELEASE_ID}" ]; then + echo "Found Release ID: ${RELEASE_ID}. Uploading macOS assets..." + for f in src-tauri/target/release/bundle/dmg/*.dmg src-tauri/target/release/bundle/macos/*.app; do + if [ -e "$f" ]; then + FILENAME=$(basename "$f") + echo "Uploading $FILENAME to release ${RELEASE_ID}..." + curl -s -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@$f" \ + "${SERVER_URL}/api/v1/repos/${REPO}/releases/${RELEASE_ID}/assets?name=${FILENAME}" + fi + done + else + echo "No existing release found for tag ${RELEASE_TAG}. Skipping asset upload." + fi -- 2.39.5