summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorAndrew Nelson <andyfaff@gmail.com>2023-01-21 02:03:28 +1100
committerGitHub <noreply@github.com>2023-01-20 16:03:28 +0100
commitdf3751b03d789ee04cac3a9a8a7f7f3aba58735c (patch)
tree515f9f45acb6114f398782744437ec891ee12fc4 /.github
parent707c3bffc32d170d9953996ee40c54988a8aac98 (diff)
downloadnumpy-df3751b03d789ee04cac3a9a8a7f7f3aba58735c.tar.gz
CI: musllinux_x86_64 (#22864)
[ci skip]
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/linux_musl.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/.github/workflows/linux_musl.yml b/.github/workflows/linux_musl.yml
new file mode 100644
index 000000000..f23c07809
--- /dev/null
+++ b/.github/workflows/linux_musl.yml
@@ -0,0 +1,69 @@
+name: Test musllinux_x86_64
+
+on:
+ push:
+ branches:
+ - main
+ - maintenance/**
+ pull_request:
+ branches:
+ - main
+ - maintenance/**
+
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+
+permissions:
+ contents: read # to fetch code (actions/checkout)
+
+
+jobs:
+ musllinux_x86_64:
+ runs-on: ubuntu-latest
+ container:
+ # Use container used for building musllinux wheels
+ # it has git installed, all the pythons, etc
+ image: quay.io/pypa/musllinux_1_1_x86_64
+
+ steps:
+ - name: setup
+ run: |
+ apk update --quiet
+
+ # using git commands to clone because versioneer doesn't work when
+ # actions/checkout is used for the clone step in a container
+
+ git config --global --add safe.directory $PWD
+
+ if [ $GITHUB_EVENT_NAME != pull_request ]; then
+ git clone --recursive --branch=$GITHUB_REF https://github.com/${GITHUB_REPOSITORY}.git $GITHUB_WORKSPACE
+ git reset --hard $GITHUB_SHA
+ else
+ git clone --recursive https://github.com/${GITHUB_REPOSITORY}.git $GITHUB_WORKSPACE
+ git fetch origin $GITHUB_REF:my_ref_name
+ git checkout $GITHUB_BASE_REF
+ git -c user.email="you@example.com" merge --no-commit my_ref_name
+ fi
+
+ ln -s /usr/local/bin/python3.10 /usr/local/bin/python
+
+ - name: test musllinux_x86_64
+ run: |
+ python -m venv test_env
+ source test_env/bin/activate
+
+ # required for figuring out the system tags in openblas_support
+ pip install packaging
+
+ # install openblas by co-opting the CIBW setup script
+ RUNNER_OS=Linux sh tools/wheels/cibw_before_build.sh .
+
+ pip install -r build_requirements.txt
+ pip install pytest hypothesis typing_extensions
+
+ # use meson to build and test
+ ./dev.py build
+ ./dev.py test