-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: support for osx-arm64 builds (#46775)
* example recipe for osx-arm64 * test arm builds on macOS-14 * add arch flag * try setting a higher sdk version * check sdk versions * set sdk earlier * move logging * set deployment target * move var setting * how old can we go? * try 11.0 sdk * trigger on PR * Apply suggestions from code review Co-authored-by: Martin Grigorov <[email protected]> * zip a level up to match other ci * must include noarch * remove sdk workaround * log deployment target * use master cache * case for job name * initial merge wf (set up for testing) * updates from testing * source common.sh instead of directly setting env vars * enable osx-arm64 on CircleCI * xcode version (match github actions) * debugging * no docker for osx * match bulk setup * comment out run_conda_forge_build_setup * Little more generic test * longer build test * clean up * remove setup * simplify and add osx-arm64 * revert * try to match other CI * standardize CI configurations for additional platforms * fix scripts path * fix check * test skip * reenable test packages * add osx-arm64 to bulk * test with user friendly name * move arm jobs to existing GHA config * test run_conda_forge_build_setup * test run_conda_forge_build_setup on GitHub Actions * debug sdk location * try permissions * run_conda_forge_build_setup is working on GHA * clean up * Try newer xcode version * try x flag to see how noisy it is * bump builds * Apply suggestions from code review This does add a little clutter from conda activate, but it could be useful for debugging some of the osx-specific stuff. Co-authored-by: Martin Grigorov <[email protected]> --------- Co-authored-by: Martin Grigorov <[email protected]>
- Loading branch information
1 parent
04c45ac
commit 21fbd60
Showing
7 changed files
with
294 additions
and
106 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -62,7 +62,7 @@ jobs: | |
conda clean -y --all | ||
build-osx: | ||
name: Bulk OSX Builds | ||
name: Bulk OSX-64 Builds | ||
if: "contains(github.event.head_commit.message, '[ci run]')" | ||
runs-on: macos-13 | ||
strategy: | ||
|
@@ -121,3 +121,65 @@ jobs: | |
--lint --anaconda-upload --record-build-failures --skiplist-leafs \ | ||
--exclude bioconda-repodata-patches | ||
conda clean -y --all | ||
build-osx-arm: | ||
name: Bulk OSX-ARM64 Builds | ||
if: "contains(github.event.head_commit.message, '[ci run]')" | ||
runs-on: macOS-14 # M1 | ||
strategy: | ||
fail-fast: false | ||
max-parallel: 4 | ||
matrix: | ||
runner: [0, 1, 2, 3] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
# checkout as BiocondaBot in order to have the permission to push fail logs | ||
token: ${{secrets.BIOCONDA_BOT_REPO_TOKEN}} | ||
|
||
- name: set git user | ||
run: | | ||
git config user.name BiocondaBot | ||
git config user.email [email protected] | ||
- name: set path | ||
run: echo "/opt/mambaforge/bin" >> $GITHUB_PATH | ||
|
||
- name: Fetch conda install script | ||
run: | | ||
wget https://raw.githubusercontent.com/bioconda/bioconda-common/bulk/{common,install-and-set-up-conda,configure-conda}.sh | ||
- name: Set up bioconda-utils | ||
run: bash install-and-set-up-conda.sh | ||
|
||
- name: Configure conda | ||
run: bash configure-conda.sh | ||
|
||
- name: Build and upload | ||
env: | ||
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }} | ||
INVOLUCRO_AUTH: ${{ secrets.INVOLUCRO_AUTH }} | ||
QUAY_OAUTH_TOKEN: ${{ secrets.QUAY_OAUTH_TOKEN }} | ||
# Mimic circleci | ||
OSTYPE: "darwin" | ||
CI: "true" | ||
run: | | ||
set -xe | ||
eval "$(conda shell.bash hook)" | ||
conda activate bioconda | ||
source common.sh | ||
# Sets up OSX SDK | ||
run_conda_forge_build_setup | ||
echo '============' | ||
conda info --all | ||
conda config --show-sources | ||
conda activate bioconda | ||
python -c 'import bioconda_utils.utils as u ; import pathlib as p ; print(*(f"{f}:\n{p.Path(f).read_text()}" for f in u.load_conda_build_config().exclusive_config_files), sep="\n")' | ||
echo '============' | ||
bioconda-utils build recipes config.yml \ | ||
--worker-offset ${{ matrix.runner }} --n-workers 4 \ | ||
--lint --anaconda-upload --record-build-failures --skiplist-leafs \ | ||
--exclude bioconda-repodata-patches | ||
conda clean -y --all |
Oops, something went wrong.