-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BSE-4386] Add Linux ARM Support #83
Changes from all commits
733edef
6387c3b
712404c
415d13a
c987a92
e42fd7e
131bbf7
716f105
de227e0
ca701f5
437771c
cbf8032
dff492c
08b891e
0b50602
509d53d
6d31550
69bb550
35cb36e
1fdc701
733efea
ed2f0f6
dff8c81
610b78e
7e7f596
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,3 +7,4 @@ self-hosted-runner: | |
- self-hosted-small | ||
- self-hosted-medium | ||
- self-hosted-large | ||
- self-hosted-xlarge |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: Bodo Conda Build (Linux) | ||
name: Bodo Conda Build (Other) | ||
on: | ||
workflow_call: | ||
inputs: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,23 +31,32 @@ jobs: | |
outputs: | ||
bodo_version: ${{ steps.get_version.outputs.bodo_version }} | ||
|
||
build_bodo_linux_wheels: | ||
build_bodo_linux: | ||
uses: ./.github/workflows/_build_bodo_pip.yml | ||
needs: [get_version] | ||
with: | ||
# Only Linux x86 in this job | ||
os: ubuntu-latest | ||
name: linux-x86 | ||
bodo_version: ${{ needs.get_version.outputs.bodo_version }} | ||
secrets: inherit | ||
|
||
build_bodo_macos_wheels: | ||
build_bodo_other: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why change this name? It's still only Mac? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In expectation of Windows :) |
||
uses: ./.github/workflows/_build_bodo_pip.yml | ||
needs: [get_version] | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [macos-13, macos-14] | ||
include: | ||
- os: macos-13 | ||
name: macos-x86 | ||
- os: macos-latest | ||
name: macos-arm | ||
- os: self-arm-medium | ||
name: linux-arm | ||
with: | ||
os: ${{ matrix.os }} | ||
name: ${{ matrix.name }} | ||
bodo_version: ${{ needs.get_version.outputs.bodo_version }} | ||
secrets: inherit | ||
|
||
|
@@ -58,12 +67,12 @@ jobs: | |
# The manylinux image we use to build the wheels can't install the wheels since it's too old. | ||
# For this reason we test them separately | ||
runs-on: ubuntu-latest | ||
needs: build_bodo_linux_wheels | ||
needs: build_bodo_linux | ||
steps: | ||
- uses: actions/download-artifact@v4 | ||
id: download-artifact | ||
with: | ||
pattern: cibw-wheels-ubuntu-* | ||
pattern: cibw-wheels-linux-x86 | ||
path: . | ||
- uses: actions/setup-python@v5 | ||
with: | ||
|
@@ -104,7 +113,7 @@ jobs: | |
contents: read | ||
name: Build no-arch BodoSQL wheels on ubuntu-latest | ||
runs-on: ubuntu-latest | ||
needs: build_bodo_linux_wheels | ||
needs: build_bodo_linux | ||
|
||
steps: | ||
- name: Configure AWS Credentials | ||
|
@@ -161,7 +170,7 @@ jobs: | |
- uses: actions/download-artifact@v4 | ||
id: download-bodo-artifact | ||
with: | ||
pattern: cibw-wheels-ubuntu-* | ||
pattern: cibw-wheels-linux-x86 | ||
path: . | ||
- uses: actions/download-artifact@v4 | ||
id: download-bodosql-artifact | ||
|
@@ -231,7 +240,7 @@ jobs: | |
# TODO: Chain with E2E tests for effective testing | ||
|
||
upload-all: | ||
needs: [build-iceberg, test-iceberg-import, build_bodo_linux_wheels, build_bodo_macos_wheels, test-bodo-linux, build_bodosql_wheels, test-bodosql] | ||
needs: [build-iceberg, test-iceberg-import, build_bodo_linux, build_bodo_other, test-bodo-linux, build_bodosql_wheels, test-bodosql] | ||
permissions: | ||
id-token: write | ||
runs-on: ubuntu-latest | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,7 @@ | ||
name: Release | ||
on: | ||
schedule: | ||
# Two events so that we can limit MacOS runs for cost | ||
- cron: '0 21 * * 1,3,5' # 9PM EST Mon, Wed, Fri | ||
- cron: '0 21 * * 2,4' # 9PM EST Tue, Thu | ||
- cron: '0 21 * * 1,2,3,4,5' # 9PM EST Mon, Wed, Fri | ||
release: | ||
types: [published] | ||
workflow_dispatch: | ||
|
@@ -18,7 +16,7 @@ jobs: | |
# But for the platform package to have the best potential performance, | ||
# we want to build outside of a container on the native architecture. | ||
# MacOS also builds on the native VM (no docker container). Thus, they are grouped together. | ||
bodo-conda-linux: | ||
bodo-conda-linux-x86: | ||
strategy: | ||
# Don't cancel other jobs if one fails | ||
fail-fast: false | ||
|
@@ -28,10 +26,22 @@ jobs: | |
with: | ||
python-version: ${{ matrix.python-version }} | ||
is-release: ${{ github.event_name == 'release' }} | ||
arm: false | ||
secrets: inherit | ||
bodo-conda-linux-arm: | ||
strategy: | ||
# Don't cancel other jobs if one fails | ||
fail-fast: false | ||
matrix: | ||
# On pull requests, only test building for 3.12 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why is this the only one we testing its build with PRs? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So its faster. Plus, GitHub limits the number of concurrent MacOS agents, and so starting 3 at once is too much |
||
python-version: ${{ fromJson(github.event_name == 'pull_request' && '["3.12"]' || '["3.12", "3.11", "3.10"]') }} | ||
uses: ./.github/workflows/_build_bodo_conda_linux_comm.yml | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
is-release: ${{ github.event_name == 'release' }} | ||
arm: true | ||
secrets: inherit | ||
bodo-conda-mac: | ||
# Only run every other day to save on MacOS VM costs | ||
if: github.event.schedule != '0 21 * * 1,3,5' | ||
strategy: | ||
# Don't cancel other jobs if one fails | ||
fail-fast: false | ||
|
@@ -64,14 +74,14 @@ jobs: | |
secrets: inherit | ||
|
||
bodosql-conda: | ||
needs: bodo-conda-linux | ||
needs: bodo-conda-linux-x86 | ||
uses: ./.github/workflows/_build_bodosql_conda.yml | ||
with: | ||
is-release: ${{ github.event_name == 'release' }} | ||
secrets: inherit | ||
|
||
docker-img: | ||
needs: [bodo-conda-linux, iceberg-conda, bodosql-conda, azurefs-sas-conda] | ||
needs: [bodo-conda-linux-x86, iceberg-conda, bodosql-conda, azurefs-sas-conda] | ||
uses: ./.github/workflows/docker_build_and_publish.yml | ||
with: | ||
is-release: ${{ github.event_name == 'release' }} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,7 +37,7 @@ | |
create or replace function test_regex_udf(A varchar) RETURNS DOUBLE LANGUAGE JAVASCRIPT AS | ||
$$ | ||
try { | ||
return parseInt(A.match(/(\d+).*?(\d+).*?(\d+)/)[2]); | ||
return parseInt(A.match(/(\\d+).*?(\\d+).*?(\\d+)/)[2]); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this still pass? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The file still runs (technically no tests cause I dont have V8 installed locally) but I would expect it to fail if this was wrong since this is a docstring |
||
} catch (e) { | ||
return null; | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you :). Having name is more descriptive and easier than numbers 13 and 14