From bd613205df7b903fa8814ffa3490bdd99eb917c4 Mon Sep 17 00:00:00 2001 From: Gabriel Brown Date: Fri, 2 Oct 2026 04:36:53 -0400 Subject: [PATCH] CI: run on the VPS runner (plain shell instead of checkout/setup-bun actions) Rootless podman on cirunner-vps cannot copy cached actions into job containers (symlinks: "path escapes from parent"), so any job that landed there failed. Checkout is now plain git and Bun comes from its install script; both are verified on cirunner-vps. --- .gitea/workflows/build-next.yml | 42 ++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build-next.yml b/.gitea/workflows/build-next.yml index 215ddc8..6187ec5 100644 --- a/.gitea/workflows/build-next.yml +++ b/.gitea/workflows/build-next.yml @@ -27,10 +27,23 @@ jobs: quality: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: oven-sh/setup-bun@v2 - with: - bun-version: 1.3.10 + - name: Checkout repository + # Plain git instead of actions/checkout: rootless podman on cirunner-vps + # rejects symlinks inside cached actions ("path escapes from parent"). + env: + GITEA_TOKEN: ${{ gitea.token }} + run: | + git init -q . + git remote add origin "${{ gitea.server_url }}/${{ gitea.repository }}.git" + auth="$(printf 'x-access-token:%s' "$GITEA_TOKEN" | base64 -w0)" + git -c http.extraHeader="Authorization: basic $auth" \ + fetch -q --depth 1 origin "${{ gitea.sha }}" + git checkout -q FETCH_HEAD + - name: Set up Bun + # Install script instead of oven-sh/setup-bun (same podman symlink issue). + run: | + curl -fsSL https://bun.sh/install | bash -s "bun-v1.3.10" >/dev/null + echo "$HOME/.bun/bin" >> "$GITHUB_PATH" - run: ./scripts/ci-install - name: Lint, typecheck, and test env: @@ -46,12 +59,25 @@ jobs: needs: [quality] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + # Plain git instead of actions/checkout: rootless podman on cirunner-vps + # rejects symlinks inside cached actions ("path escapes from parent"). + env: + GITEA_TOKEN: ${{ gitea.token }} + run: | + git init -q . + git remote add origin "${{ gitea.server_url }}/${{ gitea.repository }}.git" + auth="$(printf 'x-access-token:%s' "$GITEA_TOKEN" | base64 -w0)" + git -c http.extraHeader="Authorization: basic $auth" \ + fetch -q --depth 1 origin "${{ gitea.sha }}" + git checkout -q FETCH_HEAD - name: Log in to container registry run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.gbrown.org -u "${{ secrets.REGISTRY_USER }}" --password-stdin - - uses: oven-sh/setup-bun@v2 - with: - bun-version: 1.3.10 + - name: Set up Bun + # Install script instead of oven-sh/setup-bun (same podman symlink issue). + run: | + curl -fsSL https://bun.sh/install | bash -s "bun-v1.3.10" >/dev/null + echo "$HOME/.bun/bin" >> "$GITHUB_PATH" - run: ./scripts/ci-install - name: Build Next image env: