From 7f97833ff0fd0f85b9b70afe29ad02cd903ced3a Mon Sep 17 00:00:00 2001 From: Natalie Bridgers Date: Mon, 28 Sep 2026 14:14:29 -0500 Subject: [PATCH] ci: fix web e2e job dependencies --- .github/workflows/build.yaml | 80 ++++++++++++++++++++++++------------ 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cab90169a..a4cc92fcc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -17,10 +17,6 @@ jobs: strategy: matrix: include: - - name: linux-amd64 - cmd: >- - make linux-amd64 && make test-vod && make static-test && make - check && make ci-lexicons - name: linux-arm64 cmd: "make linux-arm64" - name: windows-amd64 @@ -40,12 +36,6 @@ jobs: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} - - name: mise check - if: matrix.name == 'linux-amd64' - uses: jdx/mise-action@v2 - with: - install: true - - name: Log in to the Container registry uses: docker/login-action@v2 with: @@ -63,20 +53,6 @@ jobs: sudo chmod +x /usr/bin/crun make in-container BUILDER_TARGET=builder-no-darwin DOCKER_PWD_MOUNT_PATH=/app DOCKER_BUILD_OPTS="--layers --cache-to ghcr.io/streamplace/streamplace --cache-from ghcr.io/streamplace/streamplace" DOCKER_OPTS="-e STREAMPLACE_IGNORE_LEAKS=true -e STREAMPLACE_TEST_COUNT=1 -e CI=true -e GITHUB_ACTION=true" IN_CONTAINER_CMD="${{ matrix.cmd }}" - - name: Publish Test Report - if: matrix.name == 'linux-amd64' && (success() || failure()) - uses: mikepenz/action-junit-report@v5 - with: - report_paths: "test.xml" - - - name: Upload streamplace binary - if: matrix.name == 'linux-amd64' - uses: actions/upload-artifact@v4 - with: - name: streamplace-linux-amd64-${{ github.run_id }} - path: ./build-linux-amd64/streamplace - retention-days: 1 - - name: Upload android e2e APK if: matrix.name == 'android' uses: actions/upload-artifact@v4 @@ -93,13 +69,62 @@ jobs: path: ./bin/ retention-days: 1 + linux-amd64: + name: linux-amd64 + runs-on: ubuntu-latest + steps: + - name: Maximize build space + run: | + sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL + + - name: Check out code + uses: actions/checkout@v4.1.7 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: mise check + uses: jdx/mise-action@v2 + with: + install: true + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ github.token }} + + - name: make node + run: | + sudo apt install podman -y + # Ubuntu 24.04's crun (1.14.1) rejects the OCI spec version newer + # podman emits ("unknown version specified", fixed in crun >= 1.14.3), + # and the 20260726 runner image update made that pairing fatal. + sudo curl -fsSL -o /usr/bin/crun https://github.com/containers/crun/releases/download/1.28/crun-1.28-linux-amd64 + sudo chmod +x /usr/bin/crun + make in-container BUILDER_TARGET=builder-no-darwin DOCKER_PWD_MOUNT_PATH=/app DOCKER_BUILD_OPTS="--layers --cache-to ghcr.io/streamplace/streamplace --cache-from ghcr.io/streamplace/streamplace" DOCKER_OPTS="-e STREAMPLACE_IGNORE_LEAKS=true -e STREAMPLACE_TEST_COUNT=1 -e CI=true -e GITHUB_ACTION=true" IN_CONTAINER_CMD="make linux-amd64 && make test-vod && make static-test && make check && make ci-lexicons" + + - name: Publish Test Report + if: success() || failure() + uses: mikepenz/action-junit-report@v5 + with: + report_paths: "test.xml" + + - name: Upload streamplace binary + uses: actions/upload-artifact@v4 + with: + name: streamplace-linux-amd64-${{ github.run_id }} + path: ./build-linux-amd64/streamplace + retention-days: 1 + # Reuse the binary built by linux-amd64 instead of provisioning another # frontend and native build just to run Playwright. e2e-web: name: e2e-web runs-on: ubuntu-latest timeout-minutes: 20 - needs: linux + needs: linux-amd64 steps: - name: Check out code uses: actions/checkout@v4.1.7 @@ -115,7 +140,8 @@ jobs: - name: Install e2e dependencies run: npm install -g corepack@latest && corepack enable && pnpm install - --filter @streamplace/e2e-web --frozen-lockfile + --filter @streamplace/e2e-web --filter @atcute/internal-dev-env + --frozen-lockfile - name: Download streamplace binary uses: actions/download-artifact@v4 @@ -156,7 +182,7 @@ jobs: name: android-e2e runs-on: ubuntu-latest timeout-minutes: 60 - needs: linux + needs: [linux, linux-amd64] steps: # full history: pnpm install's prepare steps derive the version from it - uses: actions/checkout@v4.1.7 -- knotmirror 0.0.1