Skip to content
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

add osx-arm64 variant config file #1821

Closed
wants to merge 1 commit into from

Conversation

wolfv
Copy link

@wolfv wolfv commented Mar 21, 2023

I didn't have a chance to test this yet -- any idea on how to test this easily?

@mxschmitt
Copy link
Member

I think no way to test it easily, but we release a new Playwright version shortly, so we can then see if it works!

@mxschmitt
Copy link
Member

mxschmitt commented Mar 21, 2023

We have build workflows configured, you. could try to add it there as well:

build-conda:
name: Conda Build
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-11, windows-2019]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get conda
uses: conda-incubator/setup-miniconda@v2
with:
python-version: 3.9
channels: conda-forge
- name: Prepare
run: conda install conda-build conda-verify
- name: Build
run: conda build .

Can you actually publish Apple Silicon from an amd mac?

@wolfv
Copy link
Author

wolfv commented Mar 21, 2023

Does the pip setup.py download any binaries from the internet? We might have to tell it to grab the appropriate ones for osx-arm64 as otherwise it migth think that it's still on osx-64.

All the osx-arm64 packages on conda-forge are built by cross-compiling so it should work fine from the "conda-side".

@wolfv
Copy link
Author

wolfv commented Mar 21, 2023

Just FYI cross compiling with conda-build works by putting the dependencies for the build platforms (osx-64) that need to run during build in the build section of the recipe, and the ones that are linked against in the host section (that section will use packages from the osx-arm64 architecture.

@mxschmitt
Copy link
Member

mxschmitt commented Mar 22, 2023

Does the pip setup.py download any binaries from the internet?

Yes it does.

By default it builds wheels containing the driver for the current platform/architecture. See here. You can pass --all and then it builds all the wheels. I think as of today the issue is that it builds only the current platform/arch by default, so we require conda to run on this specific arch to be able to get the corresponding wheel while publishing the conda package.

We might have to tell it to grab the appropriate ones for osx-arm64 as otherwise it might think that it's still on osx-64.

Yes I think thats what we need to do. And then tell conda to invoke setup.py per platform.

@mxschmitt
Copy link
Member

Closing as per above. If anyone wants to revisit this in the future, feel free to create a new PR, thanks!

@mxschmitt mxschmitt closed this Nov 13, 2023
@mxschmitt
Copy link
Member

Actually let me re-open, things have changed, GitHub now has M1 runners, do you mind adding this to the matrix? Then it should work I believe: https://github.blog/2023-10-02-introducing-the-new-apple-silicon-powered-m1-macos-larger-runner-for-github-actions/

@mxschmitt mxschmitt reopened this Nov 13, 2023
@mxschmitt
Copy link
Member

Landed in #1745.

@mxschmitt mxschmitt closed this Apr 2, 2024
@mxschmitt
Copy link
Member

This should be fixed as part of v1.43.0

@wolfv
Copy link
Author

wolfv commented Apr 9, 2024

Thanks!

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