2121 pull_request :
2222 paths :
2323 - ' .github/workflows/ci-macos.yml'
24- - ' .github/workflows/macos.yml'
2524 push :
2625 tags :
2726 - ' *'
2827 workflow_dispatch :
2928 # Allow to run manually
3029
31- env :
32- TARGETS_PRE : all-sage-local
33- TARGETS : build
34- TARGETS_OPTIONAL : ptest
35-
3630jobs :
37- stage-1 :
38- uses : ./.github/workflows/macos.yml
39- with :
40- stage : " 1"
41- timeout : 14400
42-
43- stage-2 :
44- uses : ./.github/workflows/macos.yml
45- with :
46- stage : " 2"
47- needs : [stage-1]
48- if : ${{ success() || failure() }}
31+ macos :
32+ name : Build and Test (macos-${{ matrix.version }})
33+ runs-on : macos-${{ matrix.version }}
34+ strategy :
35+ fail-fast : false
36+ matrix :
37+ version :
38+ - ' 13'
39+ - ' 14'
40+ - ' 15'
4941
50- stage-2-optional-0-o :
51- uses : ./.github/workflows/macos.yml
52- with :
53- stage : " 2-optional-0-o"
54- needs : [stage-2]
55- if : ${{ success() || failure() }}
42+ steps :
43+ - name : Checkout code
44+ uses : actions/checkout@v4
5645
57- stage-2-optional-p-z :
58- uses : ./.github/workflows/macos.yml
59- with :
60- stage : " 2-optional-p-z "
61- needs : [stage-2-optional-0-o]
62- if : ${{ success() || failure() }}
46+ - uses : actions/setup-python@v5
47+ with :
48+ python-version : " 3.13 "
49+
50+ - name : Install test prerequisites
51+ run : python -m pip install tox
6352
64- stage-2-experimental-0-o :
65- uses : ./.github/workflows/macos.yml
66- with :
67- stage : " 2-experimental-0-o"
68- needs : [stage-2-optional-p-z]
69- if : ${{ success() || failure() }}
53+ - name : Install dependencies
54+ run : |
55+ eval $(build/bin/sage-print-system-package-command homebrew update)
56+ eval $(build/bin/sage-print-system-package-command homebrew --yes --ignore-missing install $(build/bin/sage-get-system-packages homebrew _bootstrap _prereq $(build/bin/sage-package list :standard:)))
7057
71- stage-2-experimental-p-z :
72- uses : ./.github/workflows/macos.yml
73- with :
74- stage : " 2-experimental-p-z"
75- needs : [stage-2-experimental-0-o]
76- if : ${{ success() || failure() }}
58+ - name : Build
59+ run : |
60+ source ./.homebrew-build-env
61+ ./bootstrap
62+ ./configure --enable-download-from-upstream-url
63+ make build V=0
64+ env :
65+ MAKE : ' make -j6'
66+
67+ - name : Test
68+ run : |
69+ source ./.homebrew-build-env # Needed so that runtime cython can find the dependencies
70+ ./sage -t --all -p4
71+
0 commit comments