1010 types :
1111 - synchronize
1212 - labeled
13+ push :
14+ # We want this workflow to always run on release branches as well as
15+ # all tags since we want to be really sure we don't introduce
16+ # regressions on the release branches, and it's also important to run
17+ # this on pre-release and release tags.
18+ branches :
19+ - ' v*'
20+ tags :
21+ - ' *'
22+
23+ concurrency :
24+ group : ${{ github.workflow }}-${{ github.ref }}
25+ cancel-in-progress : true
26+
27+ permissions :
28+ contents : read
1329
1430jobs :
1531 test_more_architectures :
@@ -18,59 +34,62 @@ jobs:
1834 # we include them just in the monthly cron. These also serve as a test
1935 # of using system libraries and using pytest directly.
2036
21- name : Test on ${{ matrix.arch }}
37+ runs-on : ubuntu-latest
38+ name : Python 3.12
2239 # Don't run on forks of the repository.
2340 if : (github.repository == 'mhvk/baseband-tasks' && (github.event_name == 'schedule' || contains(github.event.pull_request.labels.*.name, 'Extra CI')))
24- runs-on : ubuntu-20.04
2541 env :
26- apt_packages : git python3-astropy python3-pyfftw python3-h5py python3-yaml python3-pip
42+ # git needed by python3-setuptools-scm (and not a required dependency).
43+ apt_packages : python3-astropy python3-pyfftw python3-h5py python3-pytest-astropy git python3-setuptools-scm
2744 pip_packages : baseband
28- distro : ubuntu20.04
2945
3046 strategy :
3147 fail-fast : false
3248 matrix :
3349 include :
3450 - arch : s390x
35- - arch : aarch64
36- # ppc64le has strange errors that seem more likely numpy related.
51+ - arch : armv7
52+ - arch : ppc64le
3753
3854 steps :
39- - uses : actions/checkout@v2
55+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4056 with :
57+ persist-credentials : false
4158 fetch-depth : 0
42- - uses : uraimo/run-on-arch-action@v2.0.5
59+ - uses : uraimo/run-on-arch-action@5397f9e30a9b62422f302092631c99ae1effcd9e # v2.8.1
4360 name : Run tests
4461 id : build
4562 with :
4663 arch : ${{ matrix.arch }}
47- distro : ${{ env.distro }}
48- # Speeds up builds by storing container images in a GitHub package registry.
49- githubToken : ${{ github.token }}
64+ distro : ubuntu_rolling
65+
5066 shell : /bin/bash
5167 install : |
5268 apt-get update -q -y
53- apt-get install -y ${{ env.apt_packages }}
69+ apt-get install -q -y --no-install-recommends ${{ env.apt_packages }}
5470 python3 -m pip install --user ${{ env.pip_packages }}
5571 run : |
72+ uname -a
73+ echo "LONG_BIT="$(getconf LONG_BIT)
5674 python3 setup.py egg_info
5775 python3 -m pytest
5876
5977 test_with_apt :
6078 name : Test using apt
61- runs-on : ubuntu-latest
79+ runs-on : ubuntu-22.04 # 24.04 does not work (bad python for doctestplus)
6280 if : (github.repository == 'mhvk/baseband-tasks' && (github.event_name == 'schedule' || contains(github.event.pull_request.labels.*.name, 'Extra CI')))
6381 env :
64- apt_packages : git python3-astropy python3-pyfftw python3-h5py python3-yaml python3-pip
82+ apt_packages : python3-astropy python3-pyfftw python3-h5py python3-pip
6583 pip_packages : baseband
6684
6785 steps :
68- - uses : actions/checkout@v2
86+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6987 with :
88+ persist-credentials : false
7089 fetch-depth : 0
7190 - name : Install system dependencies
7291 if : env.apt_packages
73- run : sudo apt-get install ${{ env.apt_packages }}
92+ run : sudo apt-get install -y --no-install-recommends ${{ env.apt_packages }}
7493 - name : Install Python dependencies
7594 if : env.pip_packages
7695 run : python -m pip install --user ${{ env.pip_packages }}
@@ -91,10 +110,11 @@ jobs:
91110 - os : macos-latest
92111
93112 steps :
94- - uses : actions/checkout@v2
113+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
95114 with :
96115 fetch-depth : 0
97- - uses : actions/setup-python@v2
116+ persist-credentials : false
117+ - uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
98118 with :
99119 python-version : 3.x
100120 - name : Install Python dependencies
0 commit comments