From 6934f3c3a469868858bbf540335f71bf30f88357 Mon Sep 17 00:00:00 2001 From: Yury Tsarev Date: Tue, 29 Sep 2026 13:14:25 +0200 Subject: [PATCH] ci(e2e): build functions one at a time e2e.yaml runs on pull_request_target, so a pull request is tested with main's copy of this workflow, not its own. #38 moves the composition functions to Python and needs UP_MAX_CONCURRENCY=1 here: every Python function build mounts the same pip-cache Docker volume, and on a fresh runner concurrent builds fail creating it with "mkdir ...: file exists". Its e2e hit that on 6 of 6 attempts. It cannot pick the fix up from its own branch, so it has to land here first. No effect on the current KCL functions, which have no such build step. --- .github/workflows/e2e.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 7272256..aacb74a 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -10,6 +10,11 @@ on: - labeled env: + # Build functions one at a time. Every Python function build mounts the same + # up-python-sdk-pip-cache Docker volume, and on a fresh runner - where that volume starts + # empty - concurrent builds race creating its directories and fail with + # "mkdir ...: file exists". + UP_MAX_CONCURRENCY: "1" UP_API_TOKEN: ${{ secrets.UP_E2E_API_TOKEN || secrets.UP_API_TOKEN }} UP_ORG: ${{ secrets.UP_E2E_ORG || secrets.UP_ORG }} UP_GROUP: ${{ secrets.UP_E2E_GROUP || secrets.UP_GROUP || 'default' }}