Skip to content

Commit 285d0e1

Browse files
committed
Add all-up tests with venv and apt/Homebrew/MacPorts
1 parent 28c1be3 commit 285d0e1

3 files changed

Lines changed: 182 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Test compatibility on Ubuntu with venv/apt
2+
3+
on:
4+
schedule:
5+
- cron: "0 3 * * 0"
6+
push:
7+
branches:
8+
- issue-1144-new-continuous-integration
9+
workflow_dispatch:
10+
11+
jobs:
12+
test:
13+
runs-on: ${{ matrix.os }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os:
19+
- ubuntu-20.04
20+
- ubuntu-22.04
21+
- ubuntu-24.04
22+
- ubuntu-latest
23+
24+
defaults:
25+
run:
26+
shell: bash -el {0}
27+
28+
steps:
29+
- name: Install dependencies
30+
run: |
31+
apt-get install -y gcc g++ gfortran python3 python3-dev pkg-config curl patch tar unnzip gzip bzip2 xz-utils perl bison make cmake libopenmpi-dev openmpi-bin libgsl-dev libfftw3-dev libgmp3-dev libmpfr6 libmpfr-dev libhdf5-dev hdf5-tools libnetcdf-dev libqhull-dev libhealpix-cxx-dev liblapack-dev libblas-dev
32+
33+
- name: Checkout
34+
uses: actions/checkout@v4
35+
with:
36+
fetch-depth: 0
37+
fetch-tags: true
38+
39+
- name: Create virtualenv
40+
run: python3 -m venv venv
41+
42+
- name: Build everything we can
43+
run: . venv/bin/activate && ./setup install all
44+
45+
- name: Ensure we test only the installed package
46+
run: . venv/bin/activate && ./setup distclean
47+
48+
- name: Test all
49+
env:
50+
OMPI_MCA_rmaps_base_oversubscribe: 1
51+
PRTE_MCA_rmaps_base_oversubscribe: 1
52+
PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe"
53+
OMPI_MCA_mpi_yield_when_idle: 1
54+
PRTE_MCA_mpi_yield_when_idle: 1
55+
OMPI_MCA_btl_tcp_if_include: lo,eth0
56+
PRTE_MCA_btl_tcp_if_include: lo,eth0
57+
PRTE_MCA_if_include: lo,eth0
58+
OMPI_MCA_pmix_server_max_wait: 10
59+
run: . venv/bin/activate && ./setup test all
60+
61+
- name: Archive build logs
62+
if: always()
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: logs-${{ matrix.os }}
66+
path: ${{ github.workspace }}/support/logs/
67+
if-no-files-found: warn
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Test compatibility on macOS with venv/Homebrew
2+
3+
on:
4+
schedule:
5+
- cron: "0 4 * * 0"
6+
push:
7+
branches:
8+
- issue-1144-new-continuous-integration
9+
workflow_dispatch:
10+
11+
jobs:
12+
test:
13+
runs-on: ${{ matrix.os }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os:
19+
- macos-14
20+
- macos-15
21+
- macos-latest
22+
23+
defaults:
24+
run:
25+
shell: bash -el {0}
26+
27+
steps:
28+
- name: Install dependencies
29+
run: |
30+
brew install gcc@13 python pkg-config curl gpatch gnu-tar unzip gzip bzip2 xz perl bison make cmake mpich gsl fftw gmp mpfr hdf5 netcdf netcdf-cxx netcdf-fortran qhull healpix openblas lapack zlib
31+
32+
- name: Checkout
33+
uses: actions/checkout@v4
34+
with:
35+
fetch-depth: 0
36+
fetch-tags: true
37+
38+
- name: Create virtualenv
39+
run: python3 -m venv venv
40+
41+
- name: Build everything we can
42+
run: . venv/bin/activate && ./setup install all
43+
44+
- name: Ensure we test only the installed packages
45+
run: . venv/bin/activate && ./setup distclean
46+
47+
- name: Test all
48+
run: . venv/bin/activate && ./setup test all
49+
50+
- name: Archive build logs
51+
if: always()
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: logs-${{ matrix.os }}
55+
path: ${{ github.workspace }}/support/logs/
56+
if-no-files-found: warn
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Test compatibility on macOS with venv/MacPorts
2+
3+
on:
4+
schedul:
5+
- cron: "0 6 * * 0"
6+
push:
7+
branches:
8+
- issue-1144-new-continuous-integration
9+
workflow_dispatch:
10+
11+
jobs:
12+
test:
13+
runs-on: ${{ matrix.os }}
14+
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os:
19+
- macos-14
20+
- macos-15
21+
- macos-latest
22+
23+
defaults:
24+
run:
25+
shell: bash -el {0}
26+
27+
steps:
28+
- name: Install dependencies
29+
run: |
30+
sudo port install gcc12 python312 pkgconfig curl gpatch gnutar unzip gzip bzip2 xz perl5 gmake cmake mpich-gcc12 gsl fftw-3 gmp mpfr hdf5 netcdf netcdf-fortran qhull healpix-cxx openblas lapack zlib
31+
sudo port select --set gcc mp-gcc12
32+
sudo port select --set python3 python312
33+
sudo port select --set mpi mpich-gcc12
34+
35+
- name: Checkout
36+
uses: actions/checkout@v4
37+
with:
38+
fetch-depth: 0
39+
fetch-tags: true
40+
41+
- name: Create virtualenv
42+
run: python3 -m venv venv
43+
44+
- name: Build everything we can
45+
run: . venv/bin/activate && ./setup install all
46+
47+
- name: Ensure we test only the installed packages
48+
run: . venv/bin/activate && ./setup distclean
49+
50+
- name: Test all
51+
run: . venv/bin/activate && ./setup test all
52+
53+
- name: Archive build logs
54+
if: always()
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: logs-${{ matrix.os }}
58+
path: ${{ github.workspace }}/support/logs/
59+
if-no-files-found: warn

0 commit comments

Comments
 (0)