From e14516e6d9d7bd6ba51c0bb10cfc17ec7cf84d96 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 09:57:56 -0500 Subject: [PATCH 01/14] fixup pipeline --- .github/workflows/build-and-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 9ebdd81b..fba8d907 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -10,6 +10,7 @@ on: push: branches: - main + - patch/20260128-fixup-pipeline pull_request: types: @@ -119,7 +120,6 @@ jobs: --distpath ./app/bundled_app/linux \ --specpath ./app/build/linux \ --workpath ./app/build/linux \ - --paths=./.venv/lib/python3.10/site-packages \ --add-binary=$(pwd)/app/ENABLE_CLOUD_MODE:. \ ./app/pilotcli.py -n $GITHUB_SHA From 1184e8340cc4258b3f90d41a39bff95e1141ac9b Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:00:46 -0500 Subject: [PATCH 02/14] fixup pipeline --- .github/workflows/build-and-publish.yml | 11 ++++++----- .github/workflows/run-tests.yml | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index fba8d907..66ef1d22 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -5,16 +5,17 @@ on: workflows: [ "Run Tests" ] branches: - develop - types: - - completed + - patch/20260128-fixup-pipeline + # types: + # - completed push: branches: - main - patch/20260128-fixup-pipeline - pull_request: - types: - - closed + # pull_request: + # types: + # - closed jobs: pre-build-setup: diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index bd29d336..2b00cf43 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -4,11 +4,12 @@ on: push: branches: - develop + - patch/20260128-fixup-pipeline pull_request: branches: - main - develop - + - patch/20260128-fixup-pipeline jobs: tests: runs-on: ubuntu-latest From d0b3676c93b746afc482f855e405f0c948bebf24 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:19:03 -0500 Subject: [PATCH 03/14] fixup pipeline --- .github/workflows/build-and-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 66ef1d22..2fdb7d07 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -20,7 +20,7 @@ on: jobs: pre-build-setup: runs-on: ubuntu-latest - if: github.event.pull_request.merged == true # Runs only if PR is merged + # if: github.event.pull_request.merged == true # Runs only if PR is merged outputs: branch: ${{steps.extract_branch.outputs.branch}} From 8997fbfc1606922e03b9d9d24e709bf18391f02a Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:22:32 -0500 Subject: [PATCH 04/14] fixup pipeline --- .github/workflows/build-and-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 2fdb7d07..7a435db7 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -70,7 +70,7 @@ jobs: push-binary-linux: needs: [ pre-build-setup ] - if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} + if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} runs-on: ubuntu-latest outputs: upload_url: ${{steps.create_release.outputs.upload_url}} @@ -181,7 +181,7 @@ jobs: push-binary-macos: needs: [ push-binary-linux ] - if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} + if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} runs-on: macos-13 steps: - name: Checkout repository @@ -232,7 +232,7 @@ jobs: push-binary-windows: needs: [ push-binary-linux ] - if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} + if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} runs-on: windows-2022 steps: - name: Checkout repository From 8730b073bb8e878d22de62ff290df17c3025211a Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:26:41 -0500 Subject: [PATCH 05/14] fixup pipeline --- .github/workflows/build-and-publish.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 7a435db7..0c985a40 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -107,7 +107,6 @@ jobs: --distpath ./app/bundled_app/linux \ --specpath ./app/build/linux \ --workpath ./app/build/linux \ - --paths=./.venv/lib/python3.10/site-packages \ ./app/pilotcli.py -n $GITHUB_SHA # Rename default output file From 179c77f22b72d525fb47ad65c54d9e5c4c403bc8 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:33:09 -0500 Subject: [PATCH 06/14] fixup docker build pipeline --- .github/workflows/build-and-publish.yml | 37 ++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 0c985a40..395006a1 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -107,6 +107,7 @@ jobs: --distpath ./app/bundled_app/linux \ --specpath ./app/build/linux \ --workpath ./app/build/linux \ + --paths=./.venv/lib/python3.10/site-packages \ ./app/pilotcli.py -n $GITHUB_SHA # Rename default output file @@ -121,6 +122,7 @@ jobs: --specpath ./app/build/linux \ --workpath ./app/build/linux \ --add-binary=$(pwd)/app/ENABLE_CLOUD_MODE:. \ + --paths=./.venv/lib/python3.10/site-packages \ ./app/pilotcli.py -n $GITHUB_SHA # Rename cloud output file @@ -146,21 +148,48 @@ jobs: -e GITHUB_SHA=${{ github.sha }} \ -w /github/workspace \ ubuntu:20.04 bash -c " - set -e + set -euxo pipefail export DEBIAN_FRONTEND=noninteractive + apt-get update - apt-get install -y software-properties-common curl build-essential + apt-get install -y --no-install-recommends \ + software-properties-common \ + curl \ + build-essential \ + ca-certificates \ + gnupg \ + dirmngr \ + lsb-release + add-apt-repository -y ppa:deadsnakes/ppa apt-get update - apt-get install -y python3.10 python3.10-venv python3.10-dev + + apt-get install -y --no-install-recommends \ + python3.10 \ + python3.10-venv \ + python3.10-dev + curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 + python3.10 -m pip install --no-cache-dir --upgrade pip + + # Install Poetry (uses ~/.local/bin by default) curl -sSL https://install.python-poetry.org | python3.10 - export PATH=\"/root/.local/bin:\$PATH\" + + # Sanity checks + python3.10 --version + poetry --version + + # Force Poetry to use Python 3.10 in this repo + cd /github/workspace + poetry env use /usr/bin/python3.10 + /build_script.sh " # Load version from file created in container - echo "TAG_VERSION=$(cat version.txt | cut -d'=' -f2)" >> $GITHUB_ENV + echo "TAG_VERSION=$(cut -d'=' -f2 version.txt)" >> $GITHUB_ENV + - name: Create Release id: create_release From 39c60bc7d8cdb2139c640a770b5d0b8baa0b2b6a Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:42:06 -0500 Subject: [PATCH 07/14] test on ubuntu22.04 --- .github/workflows/build-and-publish.yml | 37 ++++--------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 395006a1..70f73e6f 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -147,49 +147,22 @@ jobs: -v ${{ github.workspace }}/build_script.sh:/build_script.sh \ -e GITHUB_SHA=${{ github.sha }} \ -w /github/workspace \ - ubuntu:20.04 bash -c " - set -euxo pipefail + ubuntu:22.04 bash -c " + set -e export DEBIAN_FRONTEND=noninteractive - apt-get update - apt-get install -y --no-install-recommends \ - software-properties-common \ - curl \ - build-essential \ - ca-certificates \ - gnupg \ - dirmngr \ - lsb-release - + apt-get install -y software-properties-common curl build-essential add-apt-repository -y ppa:deadsnakes/ppa apt-get update - - apt-get install -y --no-install-recommends \ - python3.10 \ - python3.10-venv \ - python3.10-dev - + apt-get install -y python3.10 python3.10-venv python3.10-dev curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 - python3.10 -m pip install --no-cache-dir --upgrade pip - - # Install Poetry (uses ~/.local/bin by default) curl -sSL https://install.python-poetry.org | python3.10 - export PATH=\"/root/.local/bin:\$PATH\" - - # Sanity checks - python3.10 --version - poetry --version - - # Force Poetry to use Python 3.10 in this repo - cd /github/workspace - poetry env use /usr/bin/python3.10 - /build_script.sh " # Load version from file created in container - echo "TAG_VERSION=$(cut -d'=' -f2 version.txt)" >> $GITHUB_ENV - + echo "TAG_VERSION=$(cat version.txt | cut -d'=' -f2)" >> $GITHUB_ENV - name: Create Release id: create_release From 6cf16d919e3626f9fc6f86e3ac3e9b1334321f29 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:47:31 -0500 Subject: [PATCH 08/14] update all runner to next version --- .github/workflows/build-and-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 70f73e6f..de491d59 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -183,7 +183,7 @@ jobs: push-binary-macos: needs: [ push-binary-linux ] if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} - runs-on: macos-13 + runs-on: macos-15 steps: - name: Checkout repository uses: actions/checkout@v3 @@ -234,7 +234,7 @@ jobs: push-binary-windows: needs: [ push-binary-linux ] if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} - runs-on: windows-2022 + runs-on: windows-2025 steps: - name: Checkout repository uses: actions/checkout@v3 From d304c79f50673947545e240275de714f979a7316 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 10:52:32 -0500 Subject: [PATCH 09/14] use macos macos-15-intel --- .github/workflows/build-and-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index de491d59..a9b80f88 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -183,7 +183,7 @@ jobs: push-binary-macos: needs: [ push-binary-linux ] if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} - runs-on: macos-15 + runs-on: macos-15-intel steps: - name: Checkout repository uses: actions/checkout@v3 From 33d3d9d7cd3ac3c7befe0b29d6bd70c6af3b3585 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 11:04:22 -0500 Subject: [PATCH 10/14] try to fix up windows pipeline --- .github/workflows/build-and-publish.yml | 40 +++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index a9b80f88..3a9ae886 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -245,25 +245,41 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.10' + architecture: 'x64' - - name: Create virtual environment - run: | - python -m venv .venv - - - name: Set up cache - id: cached-poetry-dependencies + - name: Cache pip uses: actions/cache@v3 with: - path: .venv - key: venv-windows-${{ hashFiles('**/poetry.lock') }} + path: ~\AppData\Local\pip\Cache + key: pip-windows-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + restore-keys: | + pip-windows-${{ runner.os }}- - name: Install dependencies + shell: pwsh run: | - .\.venv\Scripts\Activate - pip install poetry==1.8.3 - poetry shell - poetry install --no-interaction --extras "windows" --only main + # Ensure clean venv each run (prevents broken distlib / uninstall issues) + Remove-Item -Recurse -Force .venv -ErrorAction SilentlyContinue + + # Create venv + activate + python -m venv .venv + .\.venv\Scripts\python -m pip install --upgrade pip setuptools wheel + + # Force Poetry to use this exact venv python + poetry env use (Resolve-Path .\.venv\Scripts\python).Path + + # Install deps strictly from lock + poetry install --no-interaction --no-ansi --extras "windows" --only main + + - name: Install Poetry + configure shell: pwsh + run: | + python -m pip install --upgrade pip setuptools wheel + python -m pip install "poetry==1.8.3" + + # Make Poetry use in-project venv and avoid parallelism (prevents Win file-lock issues) + poetry config virtualenvs.in-project true + poetry config installer.max-workers 1 - name: Build binary run: | From 2623952f59922e7bc4b20abd70a4fa0c1ae20f97 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 12:27:17 -0500 Subject: [PATCH 11/14] try to fix up windows pipeline --- .github/workflows/build-and-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 3a9ae886..9cd64da1 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -266,7 +266,7 @@ jobs: .\.venv\Scripts\python -m pip install --upgrade pip setuptools wheel # Force Poetry to use this exact venv python - poetry env use (Resolve-Path .\.venv\Scripts\python).Path + poetry env use (Resolve-Path .\.venv\Scripts\python.exe).Path # Install deps strictly from lock poetry install --no-interaction --no-ansi --extras "windows" --only main From 23d3c61b5a6bc20ea6500add82ffd930afad900d Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 12:33:33 -0500 Subject: [PATCH 12/14] try to fix up windows pipeline --- .github/workflows/build-and-publish.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 9cd64da1..e9a0ff36 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -258,18 +258,19 @@ jobs: - name: Install dependencies shell: pwsh run: | - # Ensure clean venv each run (prevents broken distlib / uninstall issues) Remove-Item -Recurse -Force .venv -ErrorAction SilentlyContinue - # Create venv + activate python -m venv .venv - .\.venv\Scripts\python -m pip install --upgrade pip setuptools wheel + .\.venv\Scripts\python.exe -m pip install --upgrade pip setuptools wheel - # Force Poetry to use this exact venv python - poetry env use (Resolve-Path .\.venv\Scripts\python.exe).Path + # Use poetry via module to avoid PATH issues + python -m pip install "poetry==1.8.3" + + python -m poetry config virtualenvs.in-project true + python -m poetry config installer.max-workers 1 - # Install deps strictly from lock - poetry install --no-interaction --no-ansi --extras "windows" --only main + python -m poetry env use "$PWD\.venv\Scripts\python.exe" + python -m poetry install --no-interaction --no-ansi --extras "windows" --only main - name: Install Poetry + configure shell: pwsh @@ -278,13 +279,13 @@ jobs: python -m pip install "poetry==1.8.3" # Make Poetry use in-project venv and avoid parallelism (prevents Win file-lock issues) - poetry config virtualenvs.in-project true - poetry config installer.max-workers 1 + python -m poetry config virtualenvs.in-project true + python -m poetry config installer.max-workers 1 - name: Build binary run: | .\.venv\Scripts\Activate - poetry run pyinstaller -F --distpath ./app/bundled_app/windows --specpath ./app/build/windows --workpath ./app/build/windows --paths=./.venv/lib/python3.10/site-packages ./app/pilotcli.py -n ${{ github.sha }} + python -m poetry run pyinstaller -F --distpath ./app/bundled_app/windows --specpath ./app/build/windows --workpath ./app/build/windows --paths=./.venv/lib/python3.10/site-packages ./app/pilotcli.py -n ${{ github.sha }} shell: pwsh - name: Upload Release Binary From b716cfcaf888f39a041079a2ab3eb158d5c5f897 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 12:43:52 -0500 Subject: [PATCH 13/14] try to fix up windows pipeline --- .github/workflows/build-and-publish.yml | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index e9a0ff36..b2020774 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -272,21 +272,18 @@ jobs: python -m poetry env use "$PWD\.venv\Scripts\python.exe" python -m poetry install --no-interaction --no-ansi --extras "windows" --only main - - name: Install Poetry + configure + - name: Build binary (Windows) shell: pwsh run: | - python -m pip install --upgrade pip setuptools wheel - python -m pip install "poetry==1.8.3" - - # Make Poetry use in-project venv and avoid parallelism (prevents Win file-lock issues) - python -m poetry config virtualenvs.in-project true - python -m poetry config installer.max-workers 1 - - - name: Build binary - run: | - .\.venv\Scripts\Activate - python -m poetry run pyinstaller -F --distpath ./app/bundled_app/windows --specpath ./app/build/windows --workpath ./app/build/windows --paths=./.venv/lib/python3.10/site-packages ./app/pilotcli.py -n ${{ github.sha }} - shell: pwsh + New-Item -ItemType Directory -Force -Path .\app\bundled_app\windows | Out-Null + New-Item -ItemType Directory -Force -Path .\app\build\windows | Out-Null + + # IMPORTANT: do NOT activate .venv here + python -m poetry run pyinstaller -F ` + --distpath .\app\bundled_app\windows ` + --specpath .\app\build\windows ` + --workpath .\app\build\windows ` + .\app\pilotcli.py -n ${{ github.sha }} - name: Upload Release Binary id: upload-release-binary From dcd934ffa838ab01c1a45f4863c5adba86767d89 Mon Sep 17 00:00:00 2001 From: zhiren Date: Wed, 28 Jan 2026 13:33:15 -0500 Subject: [PATCH 14/14] fixup the pipeline --- .github/workflows/build-and-publish.yml | 20 +++++++++----------- .github/workflows/run-tests.yml | 2 -- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index b2020774..aa42b346 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -5,22 +5,20 @@ on: workflows: [ "Run Tests" ] branches: - develop - - patch/20260128-fixup-pipeline - # types: - # - completed + types: + - completed push: branches: - main - - patch/20260128-fixup-pipeline - # pull_request: - # types: - # - closed + pull_request: + types: + - closed jobs: pre-build-setup: runs-on: ubuntu-latest - # if: github.event.pull_request.merged == true # Runs only if PR is merged + if: github.event.pull_request.merged == true # Runs only if PR is merged outputs: branch: ${{steps.extract_branch.outputs.branch}} @@ -70,7 +68,7 @@ jobs: push-binary-linux: needs: [ pre-build-setup ] - if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} + if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} runs-on: ubuntu-latest outputs: upload_url: ${{steps.create_release.outputs.upload_url}} @@ -182,7 +180,7 @@ jobs: push-binary-macos: needs: [ push-binary-linux ] - if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} + if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} runs-on: macos-15-intel steps: - name: Checkout repository @@ -233,7 +231,7 @@ jobs: push-binary-windows: needs: [ push-binary-linux ] - if: ${{ needs.pre-build-setup.outputs.branch == 'patch/20260128-fixup-pipeline' || needs.pre-build-setup.outputs.branch == 'develop'}} + if: ${{ needs.pre-build-setup.outputs.branch == 'main' || needs.pre-build-setup.outputs.branch == 'develop'}} runs-on: windows-2025 steps: - name: Checkout repository diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 2b00cf43..712a5e1a 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -4,12 +4,10 @@ on: push: branches: - develop - - patch/20260128-fixup-pipeline pull_request: branches: - main - develop - - patch/20260128-fixup-pipeline jobs: tests: runs-on: ubuntu-latest