Skip to content

Conversation

@kevinjqliu
Copy link
Contributor

@kevinjqliu kevinjqliu commented Oct 4, 2025

Which issue does this PR close?

Closes #.

Rationale for this change

Follow up to #1324, the correct replacement for macos-13 should be macos-15-intel for Intel-based architecture
according to
https://docs.github.com/en/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories

Since both build-python-mac-win and build-macos-x86_64 use macos-latest, we can consolidate and refactor the steps to run for individual os

What changes are included in this PR?

Are there any user-facing changes?

@kevinjqliu
Copy link
Contributor Author

@milenkovicm please take a look

Copy link
Contributor

@milenkovicm milenkovicm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I don't think we should care about Intel Macs at this stage, latest makes more sense to me

needs: [generate-license]
name: Mac x86_64
runs-on: macos-latest
runs-on: macos-15-intel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure, why would we test it on intel chipset, arm (latest) makes more sense to me

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

making this change because this was originally using macos-13
macos-15-intel is the direct replacement

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the name of the step "Mac x86_64" suggest that we should use an intel based processor.

macos-latest is arm64
https://docs.github.com/en/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opened this pr to correct the mistake from #1324
we can follow up with removing this github action step is necessary

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe intel architecture for Mac is on its way out, let's keep arm, and just rename action, Wdyt?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i remove the build-macos-x86_64 step entirely, the step above, build-python-mac-win, already covers mac-latest

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we rename

  build-macos-x86_64:
    needs: [generate-license]
    name: Mac x86_64
    runs-on: macos-latest

build-macos-x86_64 -> build-macos-arm64

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so instead of removing build-macos-x86_64, we want to just rename to build-macos-arm64?

@kevinjqliu kevinjqliu changed the title infra: use macos-15-intel for x86_64 infra: remove build-macos-x86_64 Oct 12, 2025
@kevinjqliu
Copy link
Contributor Author

@milenkovicm i updated the pr to split out windows and mac. lmk if this is what you were thinking about

path: python/target/wheels/*

build-macos-x86_64:
build-macos-arm64:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is what i was asking, as name changed after you push update to use arm64 👍🏻

path: LICENSE.txt

build-python-mac-win:
build-windows:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why you removed mac from here? is there other job which tests this python on mac

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, build-macos-arm64.

build-python-mac-win used to run for windows and macos. but since build-macos-arm64 already runs for macos, im chaning this to just run windows.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build-python-mac-win builds ballista/python/ extension, on the other hand build-macos-arm64 builds core ballista/ or I'm missing something

Copy link
Contributor Author

@kevinjqliu kevinjqliu Oct 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2025-10-24 at 5 17 46 PM

heres a side by side diff of build-python-mac-win and build-macos-arm64 taken from latest main

build-python-mac-win:
needs: [generate-license]
name: Mac/Win
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.10"]
os: [macos-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: dtolnay/rust-toolchain@stable
- run: rm LICENSE.txt
- name: Download LICENSE.txt
uses: actions/download-artifact@v4
with:
name: python-wheel-license
path: .
- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
version: "27.4"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Build Python package
run: |
cd python
uv sync --dev --no-install-package ballista
uv run --no-project maturin build --release --strip
- name: List Windows wheels
if: matrix.os == 'windows-latest'
run: dir python\target\wheels\
# since the runner is dynamic shellcheck (from actionlint) can't infer this is powershell
# so we specify it explicitly
shell: powershell
- name: List Mac wheels
if: matrix.os != 'windows-latest'
run: find python/target/wheels/
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: dist-${{ matrix.os }}
path: python/target/wheels/*
build-macos-x86_64:
needs: [generate-license]
name: Mac x86_64
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: dtolnay/rust-toolchain@stable
- run: rm LICENSE.txt
- name: Download LICENSE.txt
uses: actions/download-artifact@v4
with:
name: python-wheel-license
path: .
- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
version: "27.4"
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Build Python package
run: |
cd python
uv sync --dev --no-install-package ballista
uv run --no-project maturin build --release --strip
- name: List Mac wheels
run: find python/target/wheels/
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: dist-macos-aarch64
path: python/target/wheels/*

the only difference is which os is running. the refactor here is to get rid of the matrix.os in build-python-mac-win since build-macos-x86_64 is already running for macos-latest

@milenkovicm milenkovicm changed the title infra: remove build-macos-x86_64 chore(infra): remove build-macos-x86_64 Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants