diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 05f97adc3..aca6e054f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,6 +63,59 @@ jobs: env: SQLITE3_STATIC: 1 + - uses: actions/upload-artifact@v3 + with: + name: "ubuntu-latest-${{ matrix.python-version[1] }}" + path: connectorx-python/target/wheels/*.whl + + linux-aarch: + runs-on: ubuntu-latest + container: ghcr.io/rust-cross/manylinux_2_28-cross:aarch64 + strategy: + matrix: + python-version: [[38, "3.8"], [39, "3.9"], [310, "3.10"], [311, "3.11"]] + steps: + - uses: actions/checkout@v2 + + - name: Set python version + run: | + echo "/opt/python/cp${{ matrix.python-version[0] }}-cp${{ matrix.python-version[0] }}/bin" >> $GITHUB_PATH + + - uses: actions-rs/toolchain@v1 + with: + toolchain: 1.71.1 + components: rustfmt + target: aarch64-unknown-linux-gnu + default: true + + - uses: extractions/setup-just@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - uses: Gr1N/setup-poetry@v8 + + - name: Install tools + run: | + yum install -y epel-release + yum install -y mysql-devel postgresql-devel freetds-devel krb5-libs clang-devel + + - name: Setup project + run: | + just bootstrap-python + + - uses: PyO3/maturin-action@v1 + with: + rust-toolchain: 1.71.1 + command: build + args: -m connectorx-python/Cargo.toml --target aarch64-unknown-linux-gnu -i python --release --manylinux 2_28 --features integrated-auth-gssapi + env: + SQLITE3_STATIC: 1 + + - name: Copy j4rs dependencies into dist + run: | + cp -rf connectorx-python/target/release/jassets connectorx-python/connectorx/dependencies + + # rebuild the wheel to incorporate j4rs dependencies - uses: PyO3/maturin-action@v1 with: rust-toolchain: 1.71.1 @@ -73,7 +126,7 @@ jobs: - uses: actions/upload-artifact@v3 with: - name: "ubuntu-latest-${{ matrix.python-version[1] }}" + name: "aarch-${{ matrix.python-version[1] }}" path: connectorx-python/target/wheels/*.whl win-and-mac: @@ -200,7 +253,8 @@ jobs: verify: runs-on: ${{ matrix.os }} - needs: [win-and-mac, linux, apple-arm] + # do not verify for linux-aarch for now + needs: [win-and-mac, linux, linux-aarch, apple-arm] strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11"]