Skip to content

Commit 4ec5f69

Browse files
thomasjpfanlesteve
andauthored
CI Migrate ARM tests to Github Actions (scikit-learn#30797)
Co-authored-by: Loïc Estève <[email protected]>
1 parent 9523006 commit 4ec5f69

13 files changed

+62
-117
lines changed

.cirrus.star

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/arm-unit-tests.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Unit test for ARM
2+
permissions:
3+
contents: read
4+
5+
on:
6+
push:
7+
pull_request:
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
lint:
15+
name: Lint
16+
runs-on: ubuntu-latest
17+
if: github.repository == 'scikit-learn/scikit-learn'
18+
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
- uses: actions/setup-python@v5
23+
with:
24+
python-version: '3.12'
25+
cache: 'pip'
26+
- name: Install linters
27+
run: |
28+
source build_tools/shared.sh
29+
# Include pytest compatibility with mypy
30+
pip install pytest $(get_dep ruff min) $(get_dep mypy min) $(get_dep black min) cython-lint
31+
- name: Run linters
32+
run: ./build_tools/linting.sh
33+
- name: Run Meson OpenMP checks
34+
run: |
35+
pip install ninja meson scipy
36+
python build_tools/check-meson-openmp-dependencies.py
37+
38+
run-unit-tests:
39+
name: Run unit tests
40+
runs-on: ubuntu-24.04-arm
41+
if: github.repository == 'scikit-learn/scikit-learn'
42+
needs: [lint]
43+
steps:
44+
- name: Checkout
45+
uses: actions/checkout@v4
46+
- uses: mamba-org/setup-micromamba@v2
47+
with:
48+
environment-file: build_tools/github/pymin_conda_forge_arm_linux-aarch64_conda.lock
49+
environment-name: ci
50+
cache-environment: true
51+
52+
- name: Build and run tests
53+
shell: bash -el {0}
54+
run: bash build_tools/github/build_test_arm.sh

.github/workflows/update-lock-files.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ jobs:
2525
- name: free-threaded
2626
update_script_args: "--select-tag free-threaded"
2727
additional_commit_message: "[free-threaded]"
28-
- name: cirrus-arm
29-
update_script_args: "--select-tag arm"
30-
additional_commit_message: "[cirrus arm]"
3128
- name: array-api
3229
update_script_args: "--select-tag cuda"
3330

README.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
.. -*- mode: rst -*-
22
3-
|Azure| |CirrusCI| |Codecov| |CircleCI| |Nightly wheels| |Black| |PythonVersion| |PyPi| |DOI| |Benchmark|
3+
|Azure| |Codecov| |CircleCI| |Nightly wheels| |Black| |PythonVersion| |PyPi| |DOI| |Benchmark|
44

55
.. |Azure| image:: https://dev.azure.com/scikit-learn/scikit-learn/_apis/build/status/scikit-learn.scikit-learn?branchName=main
66
:target: https://dev.azure.com/scikit-learn/scikit-learn/_build/latest?definitionId=1&branchName=main
77

88
.. |CircleCI| image:: https://circleci.com/gh/scikit-learn/scikit-learn/tree/main.svg?style=shield
99
:target: https://circleci.com/gh/scikit-learn/scikit-learn
1010

11-
.. |CirrusCI| image:: https://img.shields.io/cirrus/github/scikit-learn/scikit-learn/main?label=Cirrus%20CI
12-
:target: https://cirrus-ci.com/github/scikit-learn/scikit-learn/main
13-
1411
.. |Codecov| image:: https://codecov.io/gh/scikit-learn/scikit-learn/branch/main/graph/badge.svg?token=Pk8G9gg3y9
1512
:target: https://codecov.io/gh/scikit-learn/scikit-learn
1613

build_tools/cirrus/arm_tests.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.

build_tools/cirrus/update_tracking_issue.sh

Lines changed: 0 additions & 22 deletions
This file was deleted.

build_tools/cirrus/build_test_arm.sh renamed to build_tools/github/build_test_arm.sh

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,6 @@ setup_ccache() {
2222
ccache -M 0
2323
}
2424

25-
# Install Miniforge
26-
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh"
27-
curl -L --retry 10 $MINIFORGE_URL -o miniconda.sh
28-
MINIFORGE_PATH=$HOME/miniforge3
29-
bash ./miniconda.sh -b -p $MINIFORGE_PATH
30-
source $MINIFORGE_PATH/etc/profile.d/conda.sh
31-
conda activate
32-
33-
create_conda_environment_from_lock_file $CONDA_ENV_NAME $LOCK_FILE
34-
conda activate $CONDA_ENV_NAME
35-
3625
setup_ccache
3726

3827
python --version
@@ -44,7 +33,7 @@ pip install --verbose --no-build-isolation .
4433
# Report cache usage
4534
ccache -s --verbose
4635

47-
mamba list
36+
micromamba list
4837

4938
# Changing directory not to have module resolution use scikit-learn source
5039
# directory but to the installed package.

build_tools/github/upload_anaconda.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ set -e
44
set -x
55

66
if [[ "$GITHUB_EVENT_NAME" == "schedule" \
7-
|| "$GITHUB_EVENT_NAME" == "workflow_dispatch" \
8-
|| "$CIRRUS_CRON" == "nightly" ]]; then
7+
|| "$GITHUB_EVENT_NAME" == "workflow_dispatch"]]; then
98
ANACONDA_ORG="scientific-python-nightly-wheels"
109
ANACONDA_TOKEN="$SCIKIT_LEARN_NIGHTLY_UPLOAD_TOKEN"
1110
else

0 commit comments

Comments
 (0)