From 61c879185c4d11624397691e1b1c331f01f97f82 Mon Sep 17 00:00:00 2001 From: xiuxiuxar <174127740+xiuxiuxar@users.noreply.github.com> Date: Fri, 6 Jun 2025 10:37:54 -0700 Subject: [PATCH 1/6] feat: build Ubuntu arm64 --- .github/workflows/publish.yaml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 5e83d43..a084977 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -21,8 +21,13 @@ jobs: args: '--target x86_64-apple-darwin' docker_platform: 'linux/arm64,linux/amd64' - platform: 'ubuntu-22.04' + architecture: 'x86_64' args: '' docker_platform: 'linux/amd64' + - platform: 'ubuntu-22.04-arm' + architecture: 'arm64' + args: '' + docker_platform: 'linux/arm64' - platform: 'windows-latest' args: '' docker_platform: 'windows/amd64' # adjust based on your image build support @@ -38,7 +43,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above. + if: startsWith(matrix.platform, 'ubuntu-22.04') run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf @@ -84,7 +89,13 @@ jobs: if: matrix.platform == 'ubuntu-22.04' id: package-linux run: | - BIN_NAME=agent_runner_${RELEASE_VERSION}_amd64 + ARCH="$(uname -m)" + if [ "$ARCH" = "aarch64" ]; then + SUFFIX="arm64" + else + SUFFIX="amd64" + fi + BIN_NAME="agent_runner_${RELEASE_VERSION}_${SUFFIX}" TAR_NAME=${BIN_NAME}.tar.gz cp ./src-tauri/target/release/agent_runner $BIN_NAME @@ -120,8 +131,8 @@ jobs: - os: 'ubuntu-22.04' args: '--target x86_64-unknown-linux-gnu' - docker_platform: 'linux/amd64' - tag_suffix: 'linux-amd64' + docker_platform: ['linux/amd64', 'linux/arm64'] + tag_suffix: ['linux-amd64', 'linux-arm64'] runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 @@ -142,8 +153,9 @@ jobs: export PLATFORM_TAG=$(echo ${{ matrix.docker_platform }} | tr '/' '-') docker buildx build \ --platform=${{ matrix.docker_platform }} \ - --tag $IMAGE_NAME:${RELEASE_VERSION} \ - --tag $IMAGE_NAME:latest \ + --tag $IMAGE_NAME:${RELEASE_VERSION}-${{ matrix.tag_suffix }} \ + --tag $IMAGE_NAME:latest-${{ matrix.tag_suffix }} \ --push \ . shell: bash + From a35f6e0b0a9e3221476ee6ece611bb2e16a2525f Mon Sep 17 00:00:00 2001 From: xiuxiuxar <174127740+xiuxiuxar@users.noreply.github.com> Date: Sat, 7 Jun 2025 22:20:09 -0700 Subject: [PATCH 2/6] fix: build and upload both amd64 and arm64 Linux assets in release workflow --- .github/workflows/publish.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index a084977..edf1845 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -21,11 +21,9 @@ jobs: args: '--target x86_64-apple-darwin' docker_platform: 'linux/arm64,linux/amd64' - platform: 'ubuntu-22.04' - architecture: 'x86_64' args: '' docker_platform: 'linux/amd64' - platform: 'ubuntu-22.04-arm' - architecture: 'arm64' args: '' docker_platform: 'linux/arm64' - platform: 'windows-latest' @@ -86,7 +84,7 @@ jobs: args: ${{ matrix.args }} - name: Package Linux binary - if: matrix.platform == 'ubuntu-22.04' + if: startsWith(matrix.platform, 'ubuntu-22.04') id: package-linux run: | ARCH="$(uname -m)" @@ -104,7 +102,7 @@ jobs: echo "file=third_party/agent_runner/${TAR_NAME}" >> $GITHUB_OUTPUT - name: Upload Linux binary to GitHub release - if: matrix.platform == 'ubuntu-22.04' + if: startsWith(matrix.platform, 'ubuntu-22.04') uses: softprops/action-gh-release@v1 with: tag_name: ${{ env.RELEASE_VERSION }} From f47dbb36956c248857ad3e7f058caf7c2fe73c67 Mon Sep 17 00:00:00 2001 From: xiuxiuxar <174127740+xiuxiuxar@users.noreply.github.com> Date: Mon, 9 Jun 2025 12:02:21 -0700 Subject: [PATCH 3/6] fix: add latest tag --- .github/workflows/publish.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index edf1845..413e389 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -153,6 +153,7 @@ jobs: --platform=${{ matrix.docker_platform }} \ --tag $IMAGE_NAME:${RELEASE_VERSION}-${{ matrix.tag_suffix }} \ --tag $IMAGE_NAME:latest-${{ matrix.tag_suffix }} \ + --tag $IMAGE_NAME:latest \ --push \ . shell: bash From 9241687e7a723a737e221058fb79d17d50191ecf Mon Sep 17 00:00:00 2001 From: xiuxiuxar <174127740+xiuxiuxar@users.noreply.github.com> Date: Mon, 9 Jun 2025 12:18:28 -0700 Subject: [PATCH 4/6] fix matrix --- .github/workflows/publish.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 413e389..955215d 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -129,8 +129,13 @@ jobs: - os: 'ubuntu-22.04' args: '--target x86_64-unknown-linux-gnu' - docker_platform: ['linux/amd64', 'linux/arm64'] - tag_suffix: ['linux-amd64', 'linux-arm64'] + docker_platform: 'linux/amd64' + tag_suffix: 'linux-amd64' + + - os: 'ubuntu-22.04' + docker_platform: 'linux/arm64' + tag_suffix: 'linux-arm64' + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 From ea4a6cd414e11f5bd2f933163ca61f642cfff483 Mon Sep 17 00:00:00 2001 From: xiuxiuxar <174127740+xiuxiuxar@users.noreply.github.com> Date: Mon, 9 Jun 2025 12:45:09 -0700 Subject: [PATCH 5/6] =?UTF-8?q?chore:=20bump=20connectorx=20=E2=86=92=20^0?= =?UTF-8?q?.4.3=20so=20ARM64=20wheel=20is=20available?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 40 ++++++++++++++++++++++------------------ pyproject.toml | 1 + 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/poetry.lock b/poetry.lock index fb2b3be..5ff4417 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1162,28 +1162,32 @@ test = ["pytest"] [[package]] name = "connectorx" -version = "0.4.2" +version = "0.4.3" description = "" optional = false python-versions = ">=3.10" groups = ["main"] files = [ - {file = "connectorx-0.4.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:fcb1dc988efbb2491375b36024a0123e8316f494bac3d4704ed6bd9eaf2df03c"}, - {file = "connectorx-0.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed234727049008c5bfa4a956714fff874cc210f03bfa1ac3e2dbe6a21128d497"}, - {file = "connectorx-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:90673abfc30bc540088fd08e4e9b9c50a6ab85044609a1556c9f8905f4aed895"}, - {file = "connectorx-0.4.2-cp310-none-win_amd64.whl", hash = "sha256:05933ef59456786d0428d4d3e201579cedc8e09338ef44cd7f82ddf4ffad4c08"}, - {file = "connectorx-0.4.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:22415c1dc6efb132409822f91ab90111535a507560b616f5bf1f88a64ae9c046"}, - {file = "connectorx-0.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5e7c8c0b8fd6b1a1e341c873256d995cd255fedfec6b84c79c0e89864866e75f"}, - {file = "connectorx-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:327dd33f11fa75e7c48195bea1702aafd0f59173d5798c8c9e2c487a7e0ebd98"}, - {file = "connectorx-0.4.2-cp311-none-win_amd64.whl", hash = "sha256:1896d86d2397c1205a0d6adb2d8fbabc5fa0cc953a973c587c410efd04b1d09a"}, - {file = "connectorx-0.4.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:0e23c5afcfba05cf841d5cca3f5bced4962be428eff50aefbdaa31778c7280c0"}, - {file = "connectorx-0.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2eb4d52552f2d660ad8803243015b35869b705db6b4d560874850b9699e6ed"}, - {file = "connectorx-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:61ff8b1d4d9fa80f246e6874f89221f64d6a8a8723cbbb4ac83ff1417416a0e4"}, - {file = "connectorx-0.4.2-cp312-none-win_amd64.whl", hash = "sha256:ff3fad383d95fd3b8b45a9156895172cbed9f622ee9e957294df4ec22e3fe34c"}, - {file = "connectorx-0.4.2-cp313-cp313-macosx_10_7_x86_64.whl", hash = "sha256:190bb9426bd46acb22d98ddaa7c362474338557f72e9c8fcf0a998d7aecb0ef5"}, - {file = "connectorx-0.4.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e6bdef6046a7e41de6fe1282024bb990a40281d1e104b803d82a928a443bb49a"}, - {file = "connectorx-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:b337b44740fb68caff4c3c3ae667c09939ab9e5a2920ca675d9726f2321b8b9b"}, - {file = "connectorx-0.4.2-cp313-none-win_amd64.whl", hash = "sha256:c33245810eac8abad05d6d089b89584013b8e03ac6f02dd50fb3655123eefa7b"}, + {file = "connectorx-0.4.3-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:0873df0741da01dfff101895b426a9cd0f84a98d87aba1c5873233ab134cda53"}, + {file = "connectorx-0.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:900c5af9d566399cb42fa808b0ea03817b654d106e25b6e530393ce55193e21a"}, + {file = "connectorx-0.4.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:fb767647e1de4835b975a5627d0eadaa8de774ba6f123d455c058bdbcd8f8c0a"}, + {file = "connectorx-0.4.3-cp310-cp310-manylinux_2_35_aarch64.whl", hash = "sha256:4af1a106d0e21d60ee783d11008e76d5c9af3665c85689544083a9655945bf16"}, + {file = "connectorx-0.4.3-cp310-none-win_amd64.whl", hash = "sha256:d31ddc124309f3bc642970684abc912dab51bd5bb521246df8e021c487a6d938"}, + {file = "connectorx-0.4.3-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:5ffb92d51116a67a57d75c7427505e102b5ab8e71d96df2bbf5a0f0073284241"}, + {file = "connectorx-0.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1fe7e4426982f91dcba74a0937696a339287f198e8c55d3186784b2ced2bff01"}, + {file = "connectorx-0.4.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:34fa1c734ec670087ac9c2f4e2f66f594ae783773bc87f55324b26cf8521e4a3"}, + {file = "connectorx-0.4.3-cp311-cp311-manylinux_2_35_aarch64.whl", hash = "sha256:40ea58bd899d8d2cb37776dae53226a98e698587d8f9e37dbcf3a6e37e2209f8"}, + {file = "connectorx-0.4.3-cp311-none-win_amd64.whl", hash = "sha256:241b84cf5a866f175f3ed204bf4c17bcbdfe50c05d745a48d193d7f164a32ae2"}, + {file = "connectorx-0.4.3-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:a461fa210f69419a04a21f596fe593ed104c5d22100c468042ee55b15219d3bd"}, + {file = "connectorx-0.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ba7afa7749a28d13ef4c0ca7cbd0e118d367db77f576c8a1fba42694dc9e3534"}, + {file = "connectorx-0.4.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:be944d72a8f64443efee5a0a992479d5d59608d36c348f24770b32a3b92537cf"}, + {file = "connectorx-0.4.3-cp312-cp312-manylinux_2_35_aarch64.whl", hash = "sha256:a347c22fe4b8d4f37f478ad3b8f2fa7dd2eccd9cc42c5493a2e4246221df3218"}, + {file = "connectorx-0.4.3-cp312-none-win_amd64.whl", hash = "sha256:58906d50564b059086dd2283e975b6a8874ce78edfb2672623f2d003ed987675"}, + {file = "connectorx-0.4.3-cp313-cp313-macosx_10_7_x86_64.whl", hash = "sha256:bcae0f740ec17d14692692fb66b9beb32e1d9112c7940d1cee48efc52eb8c441"}, + {file = "connectorx-0.4.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2713f737f8cc8768598d287a5807c34588fef63a572750b54c49400be6e8aa8e"}, + {file = "connectorx-0.4.3-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:2fcf42c9577e314d21caac0fa532ce485404ce3be082642e02543344ee0ca3b0"}, + {file = "connectorx-0.4.3-cp313-cp313-manylinux_2_35_aarch64.whl", hash = "sha256:152746a662fec8bfbe520f127d2ca77a780fdc70ad1c199aadd7544612b291cc"}, + {file = "connectorx-0.4.3-cp313-none-win_amd64.whl", hash = "sha256:b9408ee082985a66fedbf12328c655dc2a8d86e4c5127666ffcd81d0c79c4b76"}, ] [[package]] @@ -6677,4 +6681,4 @@ cffi = ["cffi (>=1.11)"] [metadata] lock-version = "2.1" python-versions = ">=3.10,<3.12" -content-hash = "bbd3a20ce62d2215da4da8b02e1404dad5770cc54189307d8acbf5ecd65fc560" +content-hash = "228b384888bb3b8c309aeed193c313a95ef10b8bf8dce85142391de8031b7807" diff --git a/pyproject.toml b/pyproject.toml index 4ede060..60d0916 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,7 @@ autonomy-dev = {version = "==0.2.153", extras = ["all"]} paradigm-flood = "^0.3.1" lxml = {extras = ["html-clean"], version = "^5.3.1"} aioprometheus = "^23.12.0" +connectorx = "^0.4.3" [tool.poetry.group.dev.dependencies] From d56a40e2ed6324a3d920722bc8a5297eb9bdd878 Mon Sep 17 00:00:00 2001 From: xiuxiuxar <174127740+xiuxiuxar@users.noreply.github.com> Date: Mon, 9 Jun 2025 14:18:16 -0700 Subject: [PATCH 6/6] fix docker multi arch step --- .github/workflows/publish.yaml | 44 +++++++--------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 955215d..9f4de39 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -16,19 +16,14 @@ jobs: include: - platform: 'macos-latest' # for Arm based macs (M1 and above). args: '--target aarch64-apple-darwin' - docker_platform: 'linux/arm64,linux/amd64' - platform: 'macos-latest' # for Intel based macs. args: '--target x86_64-apple-darwin' - docker_platform: 'linux/arm64,linux/amd64' - platform: 'ubuntu-22.04' args: '' - docker_platform: 'linux/amd64' - platform: 'ubuntu-22.04-arm' args: '' - docker_platform: 'linux/arm64' - platform: 'windows-latest' args: '' - docker_platform: 'windows/amd64' # adjust based on your image build support runs-on: ${{ matrix.platform }} @@ -117,25 +112,6 @@ jobs: RELEASE_VERSION: 0.1.21 IMAGE_NAME: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO_NAME }} - # Needed - strategy: - fail-fast: false - matrix: - include: - - os: 'macos-latest' - args: '--target x86_64-apple-darwin' - docker_platform: 'linux/amd64' - tag_suffix: 'darwin-amd64' - - - os: 'ubuntu-22.04' - args: '--target x86_64-unknown-linux-gnu' - docker_platform: 'linux/amd64' - tag_suffix: 'linux-amd64' - - - os: 'ubuntu-22.04' - docker_platform: 'linux/arm64' - tag_suffix: 'linux-arm64' - runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 @@ -151,15 +127,13 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build platform specific image using buildx - run: | - export PLATFORM_TAG=$(echo ${{ matrix.docker_platform }} | tr '/' '-') - docker buildx build \ - --platform=${{ matrix.docker_platform }} \ - --tag $IMAGE_NAME:${RELEASE_VERSION}-${{ matrix.tag_suffix }} \ - --tag $IMAGE_NAME:latest-${{ matrix.tag_suffix }} \ - --tag $IMAGE_NAME:latest \ - --push \ - . - shell: bash + - name: Build & push multi-arch + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: | + ${{ env.IMAGE_NAME }}:${{ env.RELEASE_VERSION }} + ${{ env.IMAGE_NAME }}:latest