From 9fa15ffa28bd573c19fd62edeb9cff69dbd6c627 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:17:38 -0700 Subject: [PATCH 01/23] fix: roll down the glibc version used for aarch64-linux --- .github/workflows/build-python-release.reusable.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 14c03d284..cf82ebccb 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -22,7 +22,7 @@ jobs: - runs_on: ubuntu-latest target: aarch64 name: aarch64-unknown-linux-gnu - manylinux: '2_28' + manylinux: '2014/2_17' - runs_on: macos-latest target: x86_64 @@ -65,4 +65,4 @@ jobs: with: name: wheels-${{ matrix._.name }} path: engine/language_client_python/dist - if-no-files-found: error \ No newline at end of file + if-no-files-found: error From 31e4d5fabd5c25e9ce04eb1c36dbd439e21b999f Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:18:52 -0700 Subject: [PATCH 02/23] auto-push --- .github/workflows/build-python-release.reusable.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index cf82ebccb..4a462cf90 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -2,6 +2,8 @@ name: Release language_client_python on: workflow_call: {} + push: + branches: [sam/glibc-aarch64] concurrency: # suffix is important to prevent a concurrency deadlock with the calling workflow From 2c7a3bc7859a80f55befc8959963cdd931483ee5 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:20:10 -0700 Subject: [PATCH 03/23] try to skip before-script-linux --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 4a462cf90..dd345e1af 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -59,7 +59,7 @@ jobs: yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic else # If we're running on debian-based system. - apt update -y && apt-get install -y libssl-dev openssl pkg-config + # sudo apt update -y && apt-get install -y libssl-dev openssl pkg-config fi - name: Upload wheels From 1b14aeeb9712c49798f71b591d2b6704b2c3cc46 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:20:53 -0700 Subject: [PATCH 04/23] do nothing again --- .github/workflows/build-python-release.reusable.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index dd345e1af..4761adb57 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -60,6 +60,7 @@ jobs: else # If we're running on debian-based system. # sudo apt update -y && apt-get install -y libssl-dev openssl pkg-config + : fi - name: Upload wheels From 7b535153ce198e4e28cea7b5a72d6f843aaaeb19 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:22:40 -0700 Subject: [PATCH 05/23] try 2-17 --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 4761adb57..adacde0d5 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -24,7 +24,7 @@ jobs: - runs_on: ubuntu-latest target: aarch64 name: aarch64-unknown-linux-gnu - manylinux: '2014/2_17' + manylinux: '2_17' - runs_on: macos-latest target: x86_64 From e4e109cd78c8601a6cf3229135ea12d50bdd6126 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:46:21 -0700 Subject: [PATCH 06/23] go again --- .../build-python-release.reusable.yaml | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index adacde0d5..86b57c2d8 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -16,28 +16,32 @@ jobs: fail-fast: false matrix: _: - - runs_on: ubuntu-latest + - name: x86_64-unknown-linux-gnu + runs_on: ubuntu-latest target: x86_64 - name: x86_64-unknown-linux-gnu manylinux: 'auto' - - runs_on: ubuntu-latest + - name: aarch64-unknown-linux-gnu + runs_on: ubuntu-latest target: aarch64 - name: aarch64-unknown-linux-gnu - manylinux: '2_17' + manylinux: 'auto' + env: + # Workaround ring 0.17 build issue, see https://github.com/astral-sh/uv/pull/3444 + CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" - - runs_on: macos-latest + - name: x86_64-apple-darwin + runs_on: macos-latest target: x86_64 - name: x86_64-apple-darwin - - - runs_on: macos-latest + + - name: aarch64-apple-darwin + runs_on: macos-latest target: aarch64 - name: aarch64-apple-darwin - - - runs_on: windows-latest + + - name: x86_64-pc-windows-msvc + runs_on: windows-latest target: x64 - name: x86_64-pc-windows-msvc - + + name: ${{ matrix._.name }} runs-on: ${{ matrix._.runs_on }} steps: - uses: actions/checkout@v4 @@ -54,6 +58,7 @@ jobs: args: --release --out engine/language_client_python/dist --manifest-path engine/language_client_python/Cargo.toml sccache: "true" manylinux: ${{ matrix._.manylinux }} + env: ${{ matrix._.env }} before-script-linux: | if command -v yum &> /dev/null; then yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic From 9ea29c56ff8730b4edbe4ac095fa4c27f6c617ca Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:47:22 -0700 Subject: [PATCH 07/23] wat --- .github/workflows/build-python-release.reusable.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 86b57c2d8..b90c244a0 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -26,7 +26,9 @@ jobs: target: aarch64 manylinux: 'auto' env: - # Workaround ring 0.17 build issue, see https://github.com/astral-sh/uv/pull/3444 + # Workaround ring 0.17 build issue + # see https://github.com/briansmith/ring/issues/1728#issuecomment-1758180655 + # see https://github.com/astral-sh/uv/pull/3444 CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" - name: x86_64-apple-darwin From ac05768e170e573ad167bb8f9f5940dbfe939176 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:49:55 -0700 Subject: [PATCH 08/23] set env right --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index b90c244a0..f0d5f3df8 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -54,13 +54,13 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 + env: ${{ matrix._.env }} with: target: ${{ matrix._.target }} command: build args: --release --out engine/language_client_python/dist --manifest-path engine/language_client_python/Cargo.toml sccache: "true" manylinux: ${{ matrix._.manylinux }} - env: ${{ matrix._.env }} before-script-linux: | if command -v yum &> /dev/null; then yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic From 1fc93c57756e24b58b7e691192ad4e7369478230 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:51:12 -0700 Subject: [PATCH 09/23] env --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index f0d5f3df8..71b38a078 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -54,7 +54,7 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 - env: ${{ matrix._.env }} + env: ${{ matrix._.env || null}} with: target: ${{ matrix._.target }} command: build From de4a7d7b1f79c50aef144ef1560ca0ce1a83dbc9 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:56:24 -0700 Subject: [PATCH 10/23] empty object this time? --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 71b38a078..df169d10b 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -54,7 +54,7 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 - env: ${{ matrix._.env || null}} + env: ${{ matrix._.env || {} }} with: target: ${{ matrix._.target }} command: build From bff1a65bd65e8fd55ac07057be2e0d9a0935e5a6 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 10:58:50 -0700 Subject: [PATCH 11/23] fromjson --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index df169d10b..eea628a60 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -54,7 +54,7 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 - env: ${{ matrix._.env || {} }} + env: ${{ matrix._.env || fromJSON('{}') }} with: target: ${{ matrix._.target }} command: build From 2950dac86b52663f692408c2d320f9cea51aa852 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 11:09:28 -0700 Subject: [PATCH 12/23] musl? --- .../build-python-release.reusable.yaml | 18 +++++++++++++++--- engine/.cargo/config.toml | 1 + 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index eea628a60..ac951c22b 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -19,18 +19,28 @@ jobs: - name: x86_64-unknown-linux-gnu runs_on: ubuntu-latest target: x86_64 - manylinux: 'auto' - name: aarch64-unknown-linux-gnu runs_on: ubuntu-latest target: aarch64 - manylinux: 'auto' env: # Workaround ring 0.17 build issue # see https://github.com/briansmith/ring/issues/1728#issuecomment-1758180655 # see https://github.com/astral-sh/uv/pull/3444 CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" + - name: x86_64-unknown-linux-musl + runs_on: ubuntu-latest + target: x86_64 + # see https://github.com/astral-sh/uv/blob/9bb55c4ac0582e05d1a7a5bbd99cc7b2c82f1847/.github/workflows/build-binaries.yml#L594 + manylinux: musllinux_1_1 + + - name: aarch64-unknown-linux-musl + runs_on: ubuntu-latest + target: aarch64 + # see https://github.com/astral-sh/uv/blob/9bb55c4ac0582e05d1a7a5bbd99cc7b2c82f1847/.github/workflows/build-binaries.yml#L594 + manylinux: musllinux_1_1 + - name: x86_64-apple-darwin runs_on: macos-latest target: x86_64 @@ -54,13 +64,15 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 + working-directory: engine env: ${{ matrix._.env || fromJSON('{}') }} with: target: ${{ matrix._.target }} command: build - args: --release --out engine/language_client_python/dist --manifest-path engine/language_client_python/Cargo.toml + args: --release --out language_client_python/dist --manifest-path language_client_python/Cargo.toml sccache: "true" manylinux: ${{ matrix._.manylinux }} + before-script-linux: | if command -v yum &> /dev/null; then yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic diff --git a/engine/.cargo/config.toml b/engine/.cargo/config.toml index 1261fea82..31294d345 100644 --- a/engine/.cargo/config.toml +++ b/engine/.cargo/config.toml @@ -1,3 +1,4 @@ +# https://github.com/rust-lang/cargo/issues/8607 [target.aarch64-unknown-linux-musl] linker = "aarch64-linux-musl-gcc" rustflags = ["-C", "target-feature=-crt-static"] From 540f362c0e9c32ddcc2951a39d6b3aeb11da9ea4 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 11:16:40 -0700 Subject: [PATCH 13/23] rip out bad linker --- engine/.cargo/config.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/engine/.cargo/config.toml b/engine/.cargo/config.toml index 31294d345..6ed6355d2 100644 --- a/engine/.cargo/config.toml +++ b/engine/.cargo/config.toml @@ -1,4 +1,3 @@ # https://github.com/rust-lang/cargo/issues/8607 [target.aarch64-unknown-linux-musl] -linker = "aarch64-linux-musl-gcc" rustflags = ["-C", "target-feature=-crt-static"] From 9604778ff5daa55a2ae217f2cdfbdbf5f04f9b57 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 11:17:07 -0700 Subject: [PATCH 14/23] add rustflags for musl --- engine/.cargo/config.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engine/.cargo/config.toml b/engine/.cargo/config.toml index 6ed6355d2..0054c35c5 100644 --- a/engine/.cargo/config.toml +++ b/engine/.cargo/config.toml @@ -1,3 +1,5 @@ # https://github.com/rust-lang/cargo/issues/8607 +[target.x86_64-unknown-linux-musl] +rustflags = ["-C", "target-feature=-crt-static"] [target.aarch64-unknown-linux-musl] rustflags = ["-C", "target-feature=-crt-static"] From d341004a0be637f9d6d1317a4fe9f25ff33878ae Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 11:19:16 -0700 Subject: [PATCH 15/23] build inside engine --- .github/workflows/build-python-release.reusable.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index ac951c22b..76e3ad004 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -64,15 +64,15 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 - working-directory: engine env: ${{ matrix._.env || fromJSON('{}') }} with: target: ${{ matrix._.target }} command: build + # building in engine/ ensures that we pick up .cargo/config.toml + working-directory: engine args: --release --out language_client_python/dist --manifest-path language_client_python/Cargo.toml sccache: "true" manylinux: ${{ matrix._.manylinux }} - before-script-linux: | if command -v yum &> /dev/null; then yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic From af894c665277383fc94524316b7f8fdfdab13cd5 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 11:21:23 -0700 Subject: [PATCH 16/23] use target instead --- .../build-python-release.reusable.yaml | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 76e3ad004..5565f36f9 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -16,44 +16,37 @@ jobs: fail-fast: false matrix: _: - - name: x86_64-unknown-linux-gnu + - target: x86_64-unknown-linux-gnu runs_on: ubuntu-latest - target: x86_64 - - name: aarch64-unknown-linux-gnu + - target: aarch64-unknown-linux-gnu runs_on: ubuntu-latest - target: aarch64 env: # Workaround ring 0.17 build issue # see https://github.com/briansmith/ring/issues/1728#issuecomment-1758180655 # see https://github.com/astral-sh/uv/pull/3444 CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" - - name: x86_64-unknown-linux-musl + - target: x86_64-unknown-linux-musl runs_on: ubuntu-latest - target: x86_64 # see https://github.com/astral-sh/uv/blob/9bb55c4ac0582e05d1a7a5bbd99cc7b2c82f1847/.github/workflows/build-binaries.yml#L594 manylinux: musllinux_1_1 - - name: aarch64-unknown-linux-musl + - target: aarch64-unknown-linux-musl runs_on: ubuntu-latest - target: aarch64 # see https://github.com/astral-sh/uv/blob/9bb55c4ac0582e05d1a7a5bbd99cc7b2c82f1847/.github/workflows/build-binaries.yml#L594 manylinux: musllinux_1_1 - - name: x86_64-apple-darwin + - target: x86_64-apple-darwin runs_on: macos-latest - target: x86_64 - - name: aarch64-apple-darwin + - target: aarch64-apple-darwin runs_on: macos-latest - target: aarch64 - - name: x86_64-pc-windows-msvc + - target: x86_64-pc-windows-msvc runs_on: windows-latest - target: x64 - name: ${{ matrix._.name }} + name: ${{ matrix._.target }} runs-on: ${{ matrix._.runs_on }} steps: - uses: actions/checkout@v4 @@ -85,6 +78,6 @@ jobs: - name: Upload wheels uses: actions/upload-artifact@v4 with: - name: wheels-${{ matrix._.name }} + name: wheels-${{ matrix._.target }} path: engine/language_client_python/dist if-no-files-found: error From 750ea1d8ea6125a7cf5aeb19de119c31a0e202dd Mon Sep 17 00:00:00 2001 From: Sam Lijin Date: Wed, 7 Aug 2024 12:36:11 -0700 Subject: [PATCH 17/23] commit all changes --- .mise.toml | 1 + integ-tests/python/poetry.lock | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.mise.toml b/.mise.toml index eedb5c2f6..9cc91f2b3 100644 --- a/.mise.toml +++ b/.mise.toml @@ -3,3 +3,4 @@ node = "latest" ruby = "3.1" pnpm = "latest" poetry = "latest" +python = "3.10" diff --git a/integ-tests/python/poetry.lock b/integ-tests/python/poetry.lock index aa14046b0..703a465c0 100644 --- a/integ-tests/python/poetry.lock +++ b/integ-tests/python/poetry.lock @@ -60,13 +60,13 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.1" +version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, - {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] [package.extras] @@ -359,13 +359,13 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pytest" -version = "8.2.2" +version = "8.3.2" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, - {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, + {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, + {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, ] [package.dependencies] @@ -373,7 +373,7 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=1.5,<2.0" +pluggy = ">=1.5,<2" tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] @@ -381,13 +381,13 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments [[package]] name = "pytest-asyncio" -version = "0.23.7" +version = "0.23.8" description = "Pytest support for asyncio" optional = false python-versions = ">=3.8" files = [ - {file = "pytest_asyncio-0.23.7-py3-none-any.whl", hash = "sha256:009b48127fbe44518a547bddd25611551b0e43ccdbf1e67d12479f569832c20b"}, - {file = "pytest_asyncio-0.23.7.tar.gz", hash = "sha256:5f5c72948f4c49e7db4f29f2521d4031f1c27f86e57b046126654083d4770268"}, + {file = "pytest_asyncio-0.23.8-py3-none-any.whl", hash = "sha256:50265d892689a5faefb84df80819d1ecef566eb3549cf915dfb33569359d1ce2"}, + {file = "pytest_asyncio-0.23.8.tar.gz", hash = "sha256:759b10b33a6dc61cce40a8bd5205e302978bbbcc00e279a8b61d9a6a3c82e4d3"}, ] [package.dependencies] @@ -505,4 +505,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "f1010cbc8be8e1834417568db7e031ae5c263c67eaf867c6cd78c1848b370602" +content-hash = "79f2b38be1fa46a75276a3f457fdda0d5da7fe520a3929babfe24bc83a938151" From 344e8017e0178efbff521a3a0171b1af916969b9 Mon Sep 17 00:00:00 2001 From: Sam Lijin Date: Wed, 7 Aug 2024 12:36:18 -0700 Subject: [PATCH 18/23] add new tools --- .../aarch64-unknown-linux-gnu.Dockerfile | 8 +++ .../aarch64-unknown-linux-musl.Dockerfile | 8 +++ .../docker-tests/python-3_10.Dockerfile | 10 +++ tools/install | 63 +++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 integ-tests/python/docker-tests/aarch64-unknown-linux-gnu.Dockerfile create mode 100644 integ-tests/python/docker-tests/aarch64-unknown-linux-musl.Dockerfile create mode 100644 integ-tests/python/docker-tests/python-3_10.Dockerfile create mode 100755 tools/install diff --git a/integ-tests/python/docker-tests/aarch64-unknown-linux-gnu.Dockerfile b/integ-tests/python/docker-tests/aarch64-unknown-linux-gnu.Dockerfile new file mode 100644 index 000000000..877a40add --- /dev/null +++ b/integ-tests/python/docker-tests/aarch64-unknown-linux-gnu.Dockerfile @@ -0,0 +1,8 @@ +FROM quay.io/pypa/manylinux2014_aarch64 as base +RUN yum install python3-pip -y + +ADD ../baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ./baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl +RUN pip3 install ./baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl + +ENV RUST_LOG=trace +RUN baml-cli --help \ No newline at end of file diff --git a/integ-tests/python/docker-tests/aarch64-unknown-linux-musl.Dockerfile b/integ-tests/python/docker-tests/aarch64-unknown-linux-musl.Dockerfile new file mode 100644 index 000000000..a4465e9fb --- /dev/null +++ b/integ-tests/python/docker-tests/aarch64-unknown-linux-musl.Dockerfile @@ -0,0 +1,8 @@ +FROM ghcr.io/rust-cross/rust-musl-cross:aarch64-musl as base +RUN yum install python3-pip -y + +ADD ../baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ./baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl +RUN pip3 install ./baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl + +ENV RUST_LOG=trace +RUN baml-cli --help \ No newline at end of file diff --git a/integ-tests/python/docker-tests/python-3_10.Dockerfile b/integ-tests/python/docker-tests/python-3_10.Dockerfile new file mode 100644 index 000000000..6db5046ee --- /dev/null +++ b/integ-tests/python/docker-tests/python-3_10.Dockerfile @@ -0,0 +1,10 @@ +ARG PYTHON_VERSION=3.10 +FROM python:${PYTHON_VERSION} as base + +RUN apt-get update + +ADD ../baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ./baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl +RUN pip install ./baml_py-0.53.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl + +ENV RUST_LOG=trace +RUN baml-cli --help \ No newline at end of file diff --git a/tools/install b/tools/install new file mode 100755 index 000000000..3b5ce6510 --- /dev/null +++ b/tools/install @@ -0,0 +1,63 @@ +#!/usr/bin/env /bin/bash + +set -euo pipefail + +show_help() { + cat < Date: Wed, 7 Aug 2024 14:53:20 -0700 Subject: [PATCH 19/23] go back up to 2_28 --- .../workflows/build-python-release.reusable.yaml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 5565f36f9..50575bb81 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -21,11 +21,14 @@ jobs: - target: aarch64-unknown-linux-gnu runs_on: ubuntu-latest - env: - # Workaround ring 0.17 build issue - # see https://github.com/briansmith/ring/issues/1728#issuecomment-1758180655 - # see https://github.com/astral-sh/uv/pull/3444 - CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" + # Can't go down to 2_17/2014, there are build issues that come up. It's a full day to fix. + manylinux: 2_28 + # I'm not sure if this actually works; I can't 'pip install ...' on the built wheel + # see https://github.com/astral-sh/uv/issues/3439#issuecomment-2110448346 + # env: + # # Workaround ring 0.17 build issue + # # see https://github.com/briansmith/ring/issues/1728 + # CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" - target: x86_64-unknown-linux-musl runs_on: ubuntu-latest From 9d00bcc1efbdc74a427217973d5c6cd62e08142a Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 15:01:15 -0700 Subject: [PATCH 20/23] go down again --- .github/workflows/build-python-release.reusable.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 50575bb81..499950229 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -22,7 +22,7 @@ jobs: - target: aarch64-unknown-linux-gnu runs_on: ubuntu-latest # Can't go down to 2_17/2014, there are build issues that come up. It's a full day to fix. - manylinux: 2_28 + manylinux: 2_17 # I'm not sure if this actually works; I can't 'pip install ...' on the built wheel # see https://github.com/astral-sh/uv/issues/3439#issuecomment-2110448346 # env: From fa227e4248f872dcb212386171daff8216a4d3fd Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 15:07:28 -0700 Subject: [PATCH 21/23] try to make 2-17 work --- .github/workflows/build-python-release.reusable.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index 499950229..c4181d546 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -25,10 +25,10 @@ jobs: manylinux: 2_17 # I'm not sure if this actually works; I can't 'pip install ...' on the built wheel # see https://github.com/astral-sh/uv/issues/3439#issuecomment-2110448346 - # env: - # # Workaround ring 0.17 build issue - # # see https://github.com/briansmith/ring/issues/1728 - # CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" + env: + # Workaround ring 0.17 build issue + # see https://github.com/briansmith/ring/issues/1728 + CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" - target: x86_64-unknown-linux-musl runs_on: ubuntu-latest From 56233790644376a7d8c61d2f19b0fd44847064f1 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 15:37:25 -0700 Subject: [PATCH 22/23] see if 2-24 works --- .../workflows/build-python-release.reusable.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index c4181d546..53c8127c5 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -21,14 +21,15 @@ jobs: - target: aarch64-unknown-linux-gnu runs_on: ubuntu-latest - # Can't go down to 2_17/2014, there are build issues that come up. It's a full day to fix. - manylinux: 2_17 - # I'm not sure if this actually works; I can't 'pip install ...' on the built wheel + manylinux: 2_24 + # I'm not sure if this actually works; I can't 'pip install ./local-path.whl' + # from inside a container based off quay.io/pypa/manylinux2014_aarch64 # see https://github.com/astral-sh/uv/issues/3439#issuecomment-2110448346 - env: - # Workaround ring 0.17 build issue - # see https://github.com/briansmith/ring/issues/1728 - CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" + # manylinux: 2_28 + # env: + # # Workaround ring 0.17 build issue + # # see https://github.com/briansmith/ring/issues/1728 + # CFLAGS_aarch64_unknown_linux_gnu: "-D__ARM_ARCH=8" - target: x86_64-unknown-linux-musl runs_on: ubuntu-latest From 9280e83cfe7cd5b3b9c5d67cf3f58ac28b55b72b Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 7 Aug 2024 17:35:50 -0700 Subject: [PATCH 23/23] roll back mise python version change --- .mise.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/.mise.toml b/.mise.toml index 9cc91f2b3..eedb5c2f6 100644 --- a/.mise.toml +++ b/.mise.toml @@ -3,4 +3,3 @@ node = "latest" ruby = "3.1" pnpm = "latest" poetry = "latest" -python = "3.10"