From 9f83f1e1b7c3c62116f513596bf940d2720148ac Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 12:18:18 +0200 Subject: [PATCH 001/309] (fix): release description formatting --- .forgejo/workflows/deploy-dev.yml | 4 +-- .forgejo/workflows/deploy-prod.yml | 42 +++++++++++++++--------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 19d5a78..191af8a 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -68,9 +68,9 @@ jobs: LATEST_PROD_TAG="$(git tag --list 'v*' --sort=-v:refname | head -n 1 || true)" if [ -n "$LATEST_PROD_TAG" ]; then - BODY="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s')" + BODY="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s' | sed 's/$/
/')" else - BODY="$(git log --pretty=format:'- %s')" + BODY="$(git log --pretty=format:'- %s' | sed 's/$/
/')" fi HTTP_STATUS=$(curl -s -w "%{http_code}" -o release_out.json -H "Authorization: token $TOKEN" "$API/repos/$REPO/releases/tags/$TAG") diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index c2f5c62..782d096 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -60,34 +60,34 @@ jobs: test -d releases find releases -type f | grep -q . - COMMIT_MSG="$(git log -1 --pretty=%B)" + COMMIT_MSG="$(git log -1 --pretty=%B | sed 's/$/
/')" HTTP_STATUS=$(curl -s -w "%{http_code}" -o release_out.json -H "Authorization: token $TOKEN" "$API/repos/$REPO/releases/tags/$TAG") if [ "$HTTP_STATUS" = "200" ]; then echo "Release $TAG already exists." - RELEASE_ID="$(jq -r .id release_out.json)" - else - echo "Creating new release for $TAG" - RELEASE_JSON="$(curl -f -sS -X POST "$API/repos/$REPO/releases" \ - -H "Authorization: token $TOKEN" \ - -H "Content-Type: application/json" \ - -d "$(jq -n \ - --arg tag "$TAG" \ - --arg name "$TAG" \ - --arg body "$COMMIT_MSG" \ - --arg target "$SHA" \ - '{ - tag_name: $tag, - name: $name, - body: $body, - target_commitish: $target, - draft: false, - prerelease: false - }')")" - RELEASE_ID="$(echo "$RELEASE_JSON" | jq -r .id)" + exit 0 fi + echo "Creating new release for $TAG" + RELEASE_JSON="$(curl -f -sS -X POST "$API/repos/$REPO/releases" \ + -H "Authorization: token $TOKEN" \ + -H "Content-Type: application/json" \ + -d "$(jq -n \ + --arg tag "$TAG" \ + --arg name "$TAG" \ + --arg body "$COMMIT_MSG" \ + --arg target "$SHA" \ + '{ + tag_name: $tag, + name: $name, + body: $body, + target_commitish: $target, + draft: false, + prerelease: false + }')")" + RELEASE_ID="$(echo "$RELEASE_JSON" | jq -r .id)" + find releases -type f -print0 | while IFS= read -r -d '' file; do name="$(basename "$file")" curl -fsS -X POST "$API/repos/$REPO/releases/$RELEASE_ID/assets?name=$name" \ From a1af7ce25f1feec1136d052861f31553ffc5498c Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 13:15:59 +0200 Subject: [PATCH 002/309] (fix): workflow formatting --- .forgejo/workflows/deploy-dev.yml | 11 ++++++++--- .forgejo/workflows/deploy-prod.yml | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 191af8a..000dcd6 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -49,7 +49,7 @@ jobs: SHORT_SHA="$(git rev-parse --short HEAD)" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "short_sha=$SHORT_SHA" >> "$FORGEJO_OUTPUT" - echo "tag=dev-${VERSION}-${SHORT_SHA}" >> "$FORGEJO_OUTPUT" + echo "tag=${VERSION}-dev-${SHORT_SHA}" >> "$FORGEJO_OUTPUT" echo "title=${VERSION}-dev-${SHORT_SHA}" >> "$FORGEJO_OUTPUT" - name: Create pre-release and upload files @@ -68,9 +68,14 @@ jobs: LATEST_PROD_TAG="$(git tag --list 'v*' --sort=-v:refname | head -n 1 || true)" if [ -n "$LATEST_PROD_TAG" ]; then - BODY="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s' | sed 's/$/
/')" + LOG="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s')" + SERVER_URL="$(echo "$API" | sed 's|/api/v1.*||')" + COMPARE_URL="${SERVER_URL}/${REPO}/compare/${LATEST_PROD_TAG}...${TAG}" + BODY="${LOG} + +[View changes](${COMPARE_URL})" else - BODY="$(git log --pretty=format:'- %s' | sed 's/$/
/')" + BODY="$(git log --pretty=format:'- %s')" fi HTTP_STATUS=$(curl -s -w "%{http_code}" -o release_out.json -H "Authorization: token $TOKEN" "$API/repos/$REPO/releases/tags/$TAG") diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 782d096..8207e6a 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -45,7 +45,7 @@ jobs: run: | VERSION="$(node -p "require('./package.json').version")" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" - echo "tag=v$VERSION" >> "$FORGEJO_OUTPUT" + echo "tag=${VERSION}-prod" >> "$FORGEJO_OUTPUT" - name: Create release and upload files env: @@ -60,7 +60,7 @@ jobs: test -d releases find releases -type f | grep -q . - COMMIT_MSG="$(git log -1 --pretty=%B | sed 's/$/
/')" + COMMIT_MSG="$(git log -1 --pretty=%B | sed 's/$/ /')" HTTP_STATUS=$(curl -s -w "%{http_code}" -o release_out.json -H "Authorization: token $TOKEN" "$API/repos/$REPO/releases/tags/$TAG") From 52918265ea452ea30fe32429898ac2663badf05f Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 13:19:15 +0200 Subject: [PATCH 003/309] (fix): workflow --- .forgejo/workflows/deploy-dev.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 000dcd6..1a022c2 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -71,9 +71,7 @@ jobs: LOG="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s')" SERVER_URL="$(echo "$API" | sed 's|/api/v1.*||')" COMPARE_URL="${SERVER_URL}/${REPO}/compare/${LATEST_PROD_TAG}...${TAG}" - BODY="${LOG} - -[View changes](${COMPARE_URL})" + BODY="$(printf '%s\n\n[View changes](%s)' "$LOG" "$COMPARE_URL")" else BODY="$(git log --pretty=format:'- %s')" fi From d810f50aaba18667f812660dca0a53818af23554 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 13:50:01 +0200 Subject: [PATCH 004/309] (feat): update workflow --- .forgejo/workflows/deploy-dev.yml | 158 ++++++++++++++++++++++++++--- .forgejo/workflows/deploy-prod.yml | 113 +++++++++++++++++++-- 2 files changed, 248 insertions(+), 23 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 1a022c2..7024dd3 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -4,14 +4,41 @@ on: - dev jobs: - deploy: + build-web: + runs-on: docker + steps: + - name: Check out repo + uses: https://data.forgejo.org/actions/checkout@v4 + + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Copy licenses + run: bun run copy-licenses + + - name: Build packages + run: bun run build:packages + + - name: Build web + run: bun run build:web + + - name: Install rsync + run: apt-get update && apt-get install -y rsync + + - name: Deploy + run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ + + build-mobile: runs-on: docker - steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - with: - fetch-depth: 0 - name: Install Packages run: apt-get update && apt-get install -y sudo curl jq @@ -25,6 +52,12 @@ jobs: - name: Install dependencies run: bun install --frozen-lockfile + - name: Copy licenses + run: bun run copy-licenses + + - name: Build packages + run: bun run build:packages + - name: Setup Android Keystore env: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} @@ -33,14 +66,80 @@ jobs: bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\n').replace(/\\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" - - name: Build - run: bun run build:apps + - name: Build mobile + run: bun run build:mobile - - name: Install rsync - run: apt-get update && apt-get install -y rsync + - name: Upload mobile artifact + uses: actions/upload-artifact@v4 + with: + name: mobile-apk + path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk - - name: Deploy - run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ + build-desktop: + runs-on: docker + steps: + - name: Check out repo + uses: https://data.forgejo.org/actions/checkout@v4 + + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Copy licenses + run: bun run copy-licenses + + - name: Build packages + run: bun run build:packages + + - name: Build desktop + run: bun run build:desktop + + - name: Upload desktop artifacts + uses: actions/upload-artifact@v4 + with: + name: desktop-bundles + path: apps/tauri/src-tauri/target/release/bundle/ + + release: + runs-on: docker + needs: [build-web, build-mobile, build-desktop] + steps: + - name: Check out repo + uses: https://data.forgejo.org/actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Download mobile artifact + uses: actions/download-artifact@v4 + with: + name: mobile-apk + path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/ + + - name: Download desktop artifacts + uses: actions/download-artifact@v4 + with: + name: desktop-bundles + path: apps/tauri/src-tauri/target/release/bundle/ + + - name: Copy releases + run: bun --bun run copy-releases - name: Read version and hash id: version @@ -66,16 +165,43 @@ jobs: test -d releases find releases -type f | grep -q . - LATEST_PROD_TAG="$(git tag --list 'v*' --sort=-v:refname | head -n 1 || true)" + LATEST_PROD_TAG="$(git tag --list '*-prod' --sort=-v:refname | head -n 1 || true)" + if [ -n "$LATEST_PROD_TAG" ]; then - LOG="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s')" - SERVER_URL="$(echo "$API" | sed 's|/api/v1.*||')" - COMPARE_URL="${SERVER_URL}/${REPO}/compare/${LATEST_PROD_TAG}...${TAG}" - BODY="$(printf '%s\n\n[View changes](%s)' "$LOG" "$COMPARE_URL")" + RAW_LOG="$(git log "$LATEST_PROD_TAG"..HEAD --pretty=format:'- %s')" else - BODY="$(git log --pretty=format:'- %s')" + RAW_LOG="$(git log --pretty=format:'- %s')" fi + export RAW_LOG LATEST_PROD_TAG API REPO TAG + BODY="$(node -e ' + const raw = process.env.RAW_LOG; + const lines = raw.split("\n"); + const commits = []; + for (const line of lines) { + const msg = line.replace(/^- /, ""); + const parts = msg.split(/(?=\([^)]+\):)/).filter(Boolean).map(s => s.trim()).filter(s => s); + for (const part of parts) { + commits.push(part); + } + } + const priority = { "(feat):": 1, "(fix):": 2, "(qol):": 3 }; + commits.sort((a, b) => { + const tagA = a.match(/^(\([^)]+\):)/)?.[1] || ""; + const tagB = b.match(/^(\([^)]+\):)/)?.[1] || ""; + return (priority[tagA] || 99) - (priority[tagB] || 99); + }); + const log = commits.map(c => "- " + c).join("\n"); + const latestTag = process.env.LATEST_PROD_TAG; + if (latestTag) { + const serverUrl = process.env.API.replace(/\/api\/v1.*/, ""); + const compareUrl = serverUrl + "/" + process.env.REPO + "/compare/" + latestTag + "..." + process.env.TAG; + console.log(log + "\n\n[View changes](" + compareUrl + ")"); + } else { + console.log(log); + } + ')" + HTTP_STATUS=$(curl -s -w "%{http_code}" -o release_out.json -H "Authorization: token $TOKEN" "$API/repos/$REPO/releases/tags/$TAG") if [ "$HTTP_STATUS" = "200" ]; then diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 8207e6a..c7eb9a7 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -4,9 +4,38 @@ on: - main jobs: - deploy: + build-web: runs-on: docker + steps: + - name: Check out repo + uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Copy licenses + run: bun run copy-licenses + + - name: Build packages + run: bun run build:packages + + - name: Build web + run: bun run build:web + + - name: Install rsync + run: apt-get update && apt-get install -y rsync + + - name: Deploy + run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ + + build-mobile: + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -23,6 +52,12 @@ jobs: - name: Install dependencies run: bun install --frozen-lockfile + - name: Copy licenses + run: bun run copy-licenses + + - name: Build packages + run: bun run build:packages + - name: Setup Android Keystore env: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} @@ -31,14 +66,78 @@ jobs: bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\n').replace(/\\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" - - name: Build - run: bun run build:apps + - name: Build mobile + run: bun run build:mobile - - name: Install rsync - run: apt-get update && apt-get install -y rsync + - name: Upload mobile artifact + uses: actions/upload-artifact@v4 + with: + name: mobile-apk + path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk - - name: Deploy - run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ + build-desktop: + runs-on: docker + steps: + - name: Check out repo + uses: https://data.forgejo.org/actions/checkout@v4 + + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Copy licenses + run: bun run copy-licenses + + - name: Build packages + run: bun run build:packages + + - name: Build desktop + run: bun run build:desktop + + - name: Upload desktop artifacts + uses: actions/upload-artifact@v4 + with: + name: desktop-bundles + path: apps/tauri/src-tauri/target/release/bundle/ + + release: + runs-on: docker + needs: [build-web, build-mobile, build-desktop] + steps: + - name: Check out repo + uses: https://data.forgejo.org/actions/checkout@v4 + + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Download mobile artifact + uses: actions/download-artifact@v4 + with: + name: mobile-apk + path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/ + + - name: Download desktop artifacts + uses: actions/download-artifact@v4 + with: + name: desktop-bundles + path: apps/tauri/src-tauri/target/release/bundle/ + + - name: Copy releases + run: bun --bun run copy-releases - name: Read version id: version From 726d094bb557d4b3f8f52040967bc8c55a151073 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 14:20:26 +0200 Subject: [PATCH 005/309] (fix): workflow mobile & desktop failures --- .forgejo/workflows/deploy-dev.yml | 8 ++++---- .forgejo/workflows/deploy-prod.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 7024dd3..9d49519 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -70,7 +70,7 @@ jobs: run: bun run build:mobile - name: Upload mobile artifact - uses: actions/upload-artifact@v4 + uses: https://data.forgejo.org/actions/upload-artifact@v3 with: name: mobile-apk path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk @@ -103,7 +103,7 @@ jobs: run: bun run build:desktop - name: Upload desktop artifacts - uses: actions/upload-artifact@v4 + uses: https://data.forgejo.org/actions/upload-artifact@v3 with: name: desktop-bundles path: apps/tauri/src-tauri/target/release/bundle/ @@ -127,13 +127,13 @@ jobs: run: bun install --frozen-lockfile - name: Download mobile artifact - uses: actions/download-artifact@v4 + uses: https://data.forgejo.org/actions/download-artifact@v3 with: name: mobile-apk path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/ - name: Download desktop artifacts - uses: actions/download-artifact@v4 + uses: https://data.forgejo.org/actions/download-artifact@v3 with: name: desktop-bundles path: apps/tauri/src-tauri/target/release/bundle/ diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index c7eb9a7..0aeebbd 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -70,7 +70,7 @@ jobs: run: bun run build:mobile - name: Upload mobile artifact - uses: actions/upload-artifact@v4 + uses: https://data.forgejo.org/actions/upload-artifact@v3 with: name: mobile-apk path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk @@ -103,7 +103,7 @@ jobs: run: bun run build:desktop - name: Upload desktop artifacts - uses: actions/upload-artifact@v4 + uses: https://data.forgejo.org/actions/upload-artifact@v3 with: name: desktop-bundles path: apps/tauri/src-tauri/target/release/bundle/ @@ -125,13 +125,13 @@ jobs: run: bun install --frozen-lockfile - name: Download mobile artifact - uses: actions/download-artifact@v4 + uses: https://data.forgejo.org/actions/download-artifact@v3 with: name: mobile-apk path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/ - name: Download desktop artifacts - uses: actions/download-artifact@v4 + uses: https://data.forgejo.org/actions/download-artifact@v3 with: name: desktop-bundles path: apps/tauri/src-tauri/target/release/bundle/ From bb177976c6dfbec8da12d8f2892b73f96ed1f8d6 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 14:25:01 +0200 Subject: [PATCH 006/309] (feat): update runners to selfhosted --- .forgejo/workflows/deploy-dev.yml | 8 ++++---- .forgejo/workflows/deploy-prod.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 9d49519..b2cbf4e 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -5,7 +5,7 @@ on: jobs: build-web: - runs-on: docker + runs-on: selfhosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -35,7 +35,7 @@ jobs: run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ build-mobile: - runs-on: docker + runs-on: selfhosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -76,7 +76,7 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: docker + runs-on: selfhosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -109,7 +109,7 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ release: - runs-on: docker + runs-on: selfhosted needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 0aeebbd..4046bc3 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -5,7 +5,7 @@ on: jobs: build-web: - runs-on: docker + runs-on: selfhosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -35,7 +35,7 @@ jobs: run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ build-mobile: - runs-on: docker + runs-on: selfhosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -76,7 +76,7 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: docker + runs-on: selfhosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -109,7 +109,7 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ release: - runs-on: docker + runs-on: selfhosted needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo From 39ad42151666251d2cdb45561a261ca9673db051 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 14:26:08 +0200 Subject: [PATCH 007/309] (fix): incorrect labels --- .forgejo/workflows/deploy-dev.yml | 8 ++++---- .forgejo/workflows/deploy-prod.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index b2cbf4e..106bde2 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -5,7 +5,7 @@ on: jobs: build-web: - runs-on: selfhosted + runs-on: self-hosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -35,7 +35,7 @@ jobs: run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ build-mobile: - runs-on: selfhosted + runs-on: self-hosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -76,7 +76,7 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: selfhosted + runs-on: self-hosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -109,7 +109,7 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ release: - runs-on: selfhosted + runs-on: self-hosted needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 4046bc3..1281d6f 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -5,7 +5,7 @@ on: jobs: build-web: - runs-on: selfhosted + runs-on: self-hosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -35,7 +35,7 @@ jobs: run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ build-mobile: - runs-on: selfhosted + runs-on: self-hosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -76,7 +76,7 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: selfhosted + runs-on: self-hosted steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 @@ -109,7 +109,7 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ release: - runs-on: selfhosted + runs-on: self-hosted needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo From faf695d92c2cd70da0c5c24de9ae102f53140228 Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 14:32:40 +0200 Subject: [PATCH 008/309] (fix): correctly update workflows for self-hosted runner --- .forgejo/workflows/deploy-dev.yml | 67 ++++++++---------------------- .forgejo/workflows/deploy-prod.yml | 67 ++++++++---------------------- 2 files changed, 34 insertions(+), 100 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index 106bde2..d718666 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -10,26 +10,17 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Copy licenses - run: bun run copy-licenses + run: nix-shell --run "bun run copy-licenses" - name: Build packages - run: bun run build:packages + run: nix-shell --run "bun run build:packages" - name: Build web - run: bun run build:web - - - name: Install rsync - run: apt-get update && apt-get install -y rsync + run: nix-shell --run "bun run build:web" - name: Deploy run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ @@ -40,34 +31,25 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Copy licenses - run: bun run copy-licenses + run: nix-shell --run "bun run copy-licenses" - name: Build packages - run: bun run build:packages + run: nix-shell --run "bun run build:packages" - name: Setup Android Keystore env: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" - bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\n').replace(/\\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" + nix-shell --run "bun -e \"require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\\s+/g, ''), 'base64'))\"" + nix-shell --run "bun -e \"const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\\n').replace(/\\r/g, '').split('\\n').map(l => l.trim()).filter(l => l).join('\\n'); require('fs').writeFileSync('keystore.properties', content)\"" - name: Build mobile - run: bun run build:mobile + run: nix-shell --run "bun run build:mobile" - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -81,26 +63,17 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Copy licenses - run: bun run copy-licenses + run: nix-shell --run "bun run copy-licenses" - name: Build packages - run: bun run build:packages + run: nix-shell --run "bun run build:packages" - name: Build desktop - run: bun run build:desktop + run: nix-shell --run "bun run build:desktop" - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -117,14 +90,8 @@ jobs: with: fetch-depth: 0 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -139,12 +106,12 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ - name: Copy releases - run: bun --bun run copy-releases + run: nix-shell --run "bun --bun run copy-releases" - name: Read version and hash id: version run: | - VERSION="$(node -p "require('./package.json').version")" + VERSION="$(nix-shell --run "node -p \"require('./package.json').version\"")" SHORT_SHA="$(git rev-parse --short HEAD)" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "short_sha=$SHORT_SHA" >> "$FORGEJO_OUTPUT" diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 1281d6f..8b202f8 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -10,26 +10,17 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Copy licenses - run: bun run copy-licenses + run: nix-shell --run "bun run copy-licenses" - name: Build packages - run: bun run build:packages + run: nix-shell --run "bun run build:packages" - name: Build web - run: bun run build:web - - - name: Install rsync - run: apt-get update && apt-get install -y rsync + run: nix-shell --run "bun run build:web" - name: Deploy run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ @@ -40,34 +31,25 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Copy licenses - run: bun run copy-licenses + run: nix-shell --run "bun run copy-licenses" - name: Build packages - run: bun run build:packages + run: nix-shell --run "bun run build:packages" - name: Setup Android Keystore env: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" - bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\n').replace(/\\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" + nix-shell --run "bun -e \"require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\\s+/g, ''), 'base64'))\"" + nix-shell --run "bun -e \"const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\\n').replace(/\\r/g, '').split('\\n').map(l => l.trim()).filter(l => l).join('\\n'); require('fs').writeFileSync('keystore.properties', content)\"" - name: Build mobile - run: bun run build:mobile + run: nix-shell --run "bun run build:mobile" - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -81,26 +63,17 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v30 - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Copy licenses - run: bun run copy-licenses + run: nix-shell --run "bun run copy-licenses" - name: Build packages - run: bun run build:packages + run: nix-shell --run "bun run build:packages" - name: Build desktop - run: bun run build:desktop + run: nix-shell --run "bun run build:desktop" - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -115,14 +88,8 @@ jobs: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 - - name: Install Packages - run: apt-get update && apt-get install -y sudo curl jq - - - name: Install Bun - uses: oven-sh/setup-bun@v2 - - name: Install dependencies - run: bun install --frozen-lockfile + run: nix-shell --run "bun install --frozen-lockfile" - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -137,12 +104,12 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ - name: Copy releases - run: bun --bun run copy-releases + run: nix-shell --run "bun --bun run copy-releases" - name: Read version id: version run: | - VERSION="$(node -p "require('./package.json').version")" + VERSION="$(nix-shell --run "node -p \"require('./package.json').version\"")" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "tag=${VERSION}-prod" >> "$FORGEJO_OUTPUT" From 9641c955fe574021294f4d12c9cf6c27e9b379da Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 14:35:17 +0200 Subject: [PATCH 009/309] (feat): revert back to docker runners --- .forgejo/workflows/deploy-dev.yml | 78 ++++++++++++++++++++++-------- .forgejo/workflows/deploy-prod.yml | 78 ++++++++++++++++++++++-------- 2 files changed, 114 insertions(+), 42 deletions(-) diff --git a/.forgejo/workflows/deploy-dev.yml b/.forgejo/workflows/deploy-dev.yml index d718666..ab7edf1 100644 --- a/.forgejo/workflows/deploy-dev.yml +++ b/.forgejo/workflows/deploy-dev.yml @@ -5,51 +5,72 @@ on: jobs: build-web: - runs-on: self-hosted + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Copy licenses - run: nix-shell --run "bun run copy-licenses" + run: bun run copy-licenses - name: Build packages - run: nix-shell --run "bun run build:packages" + run: bun run build:packages - name: Build web - run: nix-shell --run "bun run build:web" + run: bun run build:web + + - name: Install rsync + run: apt-get update && apt-get install -y rsync - name: Deploy run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-dev/ build-mobile: - runs-on: self-hosted + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Copy licenses - run: nix-shell --run "bun run copy-licenses" + run: bun run copy-licenses - name: Build packages - run: nix-shell --run "bun run build:packages" + run: bun run build:packages - name: Setup Android Keystore env: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - nix-shell --run "bun -e \"require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\\s+/g, ''), 'base64'))\"" - nix-shell --run "bun -e \"const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\\n').replace(/\\r/g, '').split('\\n').map(l => l.trim()).filter(l => l).join('\\n'); require('fs').writeFileSync('keystore.properties', content)\"" + bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" + bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\n/g, '\n').replace(/\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" - name: Build mobile - run: nix-shell --run "bun run build:mobile" + run: bun run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -58,22 +79,31 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: self-hosted + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Copy licenses - run: nix-shell --run "bun run copy-licenses" + run: bun run copy-licenses - name: Build packages - run: nix-shell --run "bun run build:packages" + run: bun run build:packages - name: Build desktop - run: nix-shell --run "bun run build:desktop" + run: bun run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -82,7 +112,7 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ release: - runs-on: self-hosted + runs-on: docker needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo @@ -90,8 +120,14 @@ jobs: with: fetch-depth: 0 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -106,12 +142,12 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ - name: Copy releases - run: nix-shell --run "bun --bun run copy-releases" + run: bun --bun run copy-releases - name: Read version and hash id: version run: | - VERSION="$(nix-shell --run "node -p \"require('./package.json').version\"")" + VERSION="$(node -p "require('./package.json').version")" SHORT_SHA="$(git rev-parse --short HEAD)" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "short_sha=$SHORT_SHA" >> "$FORGEJO_OUTPUT" diff --git a/.forgejo/workflows/deploy-prod.yml b/.forgejo/workflows/deploy-prod.yml index 8b202f8..7cd9016 100644 --- a/.forgejo/workflows/deploy-prod.yml +++ b/.forgejo/workflows/deploy-prod.yml @@ -5,51 +5,72 @@ on: jobs: build-web: - runs-on: self-hosted + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Copy licenses - run: nix-shell --run "bun run copy-licenses" + run: bun run copy-licenses - name: Build packages - run: nix-shell --run "bun run build:packages" + run: bun run build:packages - name: Build web - run: nix-shell --run "bun run build:web" + run: bun run build:web + + - name: Install rsync + run: apt-get update && apt-get install -y rsync - name: Deploy run: rsync -a --delete apps/web/dist/ /var/lib/www/tensamin-web-prod/ build-mobile: - runs-on: self-hosted + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Copy licenses - run: nix-shell --run "bun run copy-licenses" + run: bun run copy-licenses - name: Build packages - run: nix-shell --run "bun run build:packages" + run: bun run build:packages - name: Setup Android Keystore env: KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} KEYSTORE_PROPERTIES: ${{ secrets.ANDROID_KEYSTORE_PROPERTIES }} run: | - nix-shell --run "bun -e \"require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\\s+/g, ''), 'base64'))\"" - nix-shell --run "bun -e \"const content = process.env.KEYSTORE_PROPERTIES.replace(/\\\\n/g, '\\n').replace(/\\r/g, '').split('\\n').map(l => l.trim()).filter(l => l).join('\\n'); require('fs').writeFileSync('keystore.properties', content)\"" + bun -e "require('fs').writeFileSync('keystore.jks', Buffer.from(process.env.KEYSTORE_BASE64.replace(/\s+/g, ''), 'base64'))" + bun -e "const content = process.env.KEYSTORE_PROPERTIES.replace(/\\n/g, '\n').replace(/\r/g, '').split('\n').map(l => l.trim()).filter(l => l).join('\n'); require('fs').writeFileSync('keystore.properties', content)" - name: Build mobile - run: nix-shell --run "bun run build:mobile" + run: bun run build:mobile - name: Upload mobile artifact uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -58,22 +79,31 @@ jobs: path: apps/tauri/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk build-desktop: - runs-on: self-hosted + runs-on: docker steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v30 + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Copy licenses - run: nix-shell --run "bun run copy-licenses" + run: bun run copy-licenses - name: Build packages - run: nix-shell --run "bun run build:packages" + run: bun run build:packages - name: Build desktop - run: nix-shell --run "bun run build:desktop" + run: bun run build:desktop - name: Upload desktop artifacts uses: https://data.forgejo.org/actions/upload-artifact@v3 @@ -82,14 +112,20 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ release: - runs-on: self-hosted + runs-on: docker needs: [build-web, build-mobile, build-desktop] steps: - name: Check out repo uses: https://data.forgejo.org/actions/checkout@v4 + - name: Install Packages + run: apt-get update && apt-get install -y sudo curl jq + + - name: Install Bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies - run: nix-shell --run "bun install --frozen-lockfile" + run: bun install --frozen-lockfile - name: Download mobile artifact uses: https://data.forgejo.org/actions/download-artifact@v3 @@ -104,12 +140,12 @@ jobs: path: apps/tauri/src-tauri/target/release/bundle/ - name: Copy releases - run: nix-shell --run "bun --bun run copy-releases" + run: bun --bun run copy-releases - name: Read version id: version run: | - VERSION="$(nix-shell --run "node -p \"require('./package.json').version\"")" + VERSION="$(node -p "require('./package.json').version")" echo "version=$VERSION" >> "$FORGEJO_OUTPUT" echo "tag=${VERSION}-prod" >> "$FORGEJO_OUTPUT" From 8954e4193e40303750b6671e904bdbcac4812bcc Mon Sep 17 00:00:00 2001 From: Alois Date: Thu, 14 May 2026 15:48:24 +0200 Subject: [PATCH 010/309] (fix): tooltips from the sidebarBox hidden behind sidebar --- packages/call/src/components/sidebarBox.tsx | 24 ++++++--------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/packages/call/src/components/sidebarBox.tsx b/packages/call/src/components/sidebarBox.tsx index 294d051..bf90e93 100644 --- a/packages/call/src/components/sidebarBox.tsx +++ b/packages/call/src/components/sidebarBox.tsx @@ -20,18 +20,12 @@ import LeaveButton from "./buttons/leave"; export default function SidebarBox() { const state = useCall((store) => store.state); - const screenRef = useCall((store) => store.screenRef); const isMobile = useIsMobile(); - const [portalContainer, setPortalContainer] = useState(); - - useEffect(() => { - setPortalContainer(screenRef?.current ?? undefined); - }, [screenRef]); return state === "closed" ? null : (