Skip to content

Commit 1054e74

Browse files
committed
Fix typo in openmpi pkg. Update github actions.
1 parent e1a71f7 commit 1054e74

File tree

5 files changed

+257
-74
lines changed

5 files changed

+257
-74
lines changed

.github/workflows/deploy.yml

Lines changed: 48 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# with just the toast dependencies for various versions of python. These can
33
# be used in toast CI testing.
44

5-
name: CMBenv Deploy
5+
name: CMBenv Docker Deploy
66

77
on:
88
push:
@@ -15,69 +15,73 @@ env:
1515

1616
jobs:
1717
full:
18-
name: Docker Release
18+
name: Docker Deploy Python ${{ matrix.python }} ${{ matrix.mpi }}
1919
runs-on: ubuntu-latest
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
include:
24+
- python: 3.9
25+
mpi: mpich
26+
- python: 3.9
27+
mpi: openmpi
2028
steps:
29+
- name: Cancel Previous Runs
30+
uses: styfle/cancel-workflow-action@0.9.1
31+
with:
32+
access_token: ${{ github.token }}
33+
2134
- name: Checkout
2235
uses: actions/checkout@v2
36+
2337
- name: Create Dockerfile
24-
run: ./cmbenv -c docker-py3.9-debian -p /usr/local
38+
run: ./cmbenv -c docker-py${{ matrix.python }}-debian-${{ matrix.mpi }}
39+
2540
- name: Set tag name
26-
run: tag=$(echo "${GITHUB_REF}" | sed -e 's/.*\/\(v.*\)/\1/') && echo "TAGNAME=${tag}" >> $GITHUB_ENV
41+
run: tag=$(echo "${GITHUB_REF}" | sed -e 's/.*\/\(v.*\)/\1/') && echo "TAGNAME=${tag}-${{ matrix.mpi }}" >> $GITHUB_ENV
42+
2743
- name: Build Docker Image
28-
run: docker build -t hpc4cmb/cmbenv:${TAGNAME} -f Dockerfile_docker-py3.9-debian .
44+
run: docker build -t hpc4cmb/cmbenv:${TAGNAME} -f Dockerfile_docker-py${{ matrix.python }}-debian-${{ matrix.mpi }} .
45+
2946
- name: Test Docker Image
3047
run: docker run hpc4cmb/cmbenv:${TAGNAME} python -c 'import toast.tests; toast.tests.run()'
48+
3149
- name: Tag Latest
3250
run: docker tag hpc4cmb/cmbenv:${TAGNAME} hpc4cmb/cmbenv:latest
51+
3352
- name: Push Docker Image
3453
run: echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin && docker push hpc4cmb/cmbenv:${TAGNAME} && docker push hpc4cmb/cmbenv:latest
35-
toastdeps-py37:
36-
name: TOAST Dependencies Python 3.7
37-
runs-on: ubuntu-latest
38-
steps:
39-
- name: Checkout
40-
uses: actions/checkout@v2
41-
- name: Create Dockerfile
42-
run: ./cmbenv -c docker-toastdeps-py37 -p /usr/local
43-
- name: Set tag name
44-
run: tag=$(echo "${GITHUB_REF}" | sed -e 's/.*\/\(v.*\)/\1/') && echo "TAGNAME=${tag}" >> $GITHUB_ENV
45-
- name: Build Docker Image
46-
run: docker build -t hpc4cmb/toast-deps-py37:${TAGNAME} -f Dockerfile_docker-toastdeps-py37 .
47-
- name: Tag Latest
48-
run: docker tag hpc4cmb/toast-deps-py37:${TAGNAME} hpc4cmb/toast-deps-py37:latest
49-
- name: Push Docker Image
50-
run: echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin && docker push hpc4cmb/toast-deps-py37:${TAGNAME} && docker push hpc4cmb/toast-deps-py37:latest
51-
toastdeps-py38:
52-
name: TOAST Dependencies Python 3.8
53-
runs-on: ubuntu-latest
54-
steps:
55-
- name: Checkout
56-
uses: actions/checkout@v2
57-
- name: Create Dockerfile
58-
run: ./cmbenv -c docker-toastdeps-py38 -p /usr/local
59-
- name: Set tag name
60-
run: tag=$(echo "${GITHUB_REF}" | sed -e 's/.*\/\(v.*\)/\1/') && echo "TAGNAME=${tag}" >> $GITHUB_ENV
61-
- name: Build Docker Image
62-
run: docker build -t hpc4cmb/toast-deps-py38:${TAGNAME} -f Dockerfile_docker-toastdeps-py38 .
63-
- name: Tag Latest
64-
run: docker tag hpc4cmb/toast-deps-py38:${TAGNAME} hpc4cmb/toast-deps-py38:latest
65-
- name: Push Docker Image
66-
run: echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin && docker push hpc4cmb/toast-deps-py38:${TAGNAME} && docker push hpc4cmb/toast-deps-py38:latest
67-
toastdeps-py39:
68-
name: TOAST Dependencies Python 3.9
54+
55+
toastdeps:
56+
name: TOAST Dependencies Python ${{ matrix.python }}
6957
runs-on: ubuntu-latest
58+
strategy:
59+
fail-fast: false
60+
matrix:
61+
include:
62+
- python: 37
63+
- python: 38
64+
- python: 39
7065
steps:
66+
- name: Cancel Previous Runs
67+
uses: styfle/cancel-workflow-action@0.9.1
68+
with:
69+
access_token: ${{ github.token }}
70+
7171
- name: Checkout
7272
uses: actions/checkout@v2
73+
7374
- name: Create Dockerfile
74-
run: ./cmbenv -c docker-toastdeps-py39 -p /usr/local
75+
run: ./cmbenv -c docker-toastdeps-py${{ matrix.python }}
76+
7577
- name: Set tag name
7678
run: tag=$(echo "${GITHUB_REF}" | sed -e 's/.*\/\(v.*\)/\1/') && echo "TAGNAME=${tag}" >> $GITHUB_ENV
79+
7780
- name: Build Docker Image
78-
run: docker build -t hpc4cmb/toast-deps-py39:${TAGNAME} -f Dockerfile_docker-toastdeps-py39 .
81+
run: docker build -t hpc4cmb/toast-deps-py${{ matrix.python }}:${TAGNAME} -f Dockerfile_docker-toastdeps-py${{ matrix.python }} .
82+
7983
- name: Tag Latest
80-
run: docker tag hpc4cmb/toast-deps-py39:${TAGNAME} hpc4cmb/toast-deps-py39:latest
81-
- name: Push Docker Image
82-
run: echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin && docker push hpc4cmb/toast-deps-py39:${TAGNAME} && docker push hpc4cmb/toast-deps-py39:latest
84+
run: docker tag hpc4cmb/toast-deps-py${{ matrix.python }}:${TAGNAME} hpc4cmb/toast-deps-py${{ matrix.python }}:latest
8385

86+
- name: Push Docker Image
87+
run: echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin && docker push hpc4cmb/toast-deps-py${{ matrix.python }}:${TAGNAME} && docker push hpc4cmb/toast-deps-py${{ matrix.python }}:latest

.github/workflows/test.yml

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,35 @@ on:
99
branches: [ master ]
1010

1111
jobs:
12-
py37:
13-
name: Docker Py3.7 Debian
14-
runs-on: ubuntu-latest
15-
steps:
16-
- name: Checkout
17-
uses: actions/checkout@v2
18-
- name: Create Dockerfile
19-
run: ./cmbenv -c docker-py3.7-debian -p /usr/local
20-
- name: Build Docker Image
21-
run: docker build -t hpc4cmb/cmbenv:temp_py37 -f Dockerfile_docker-py3.7-debian .
22-
- name: Test Docker Image
23-
run: docker run hpc4cmb/cmbenv:temp_py37 python -c 'import toast.tests; toast.tests.run()' && docker run hpc4cmb/cmbenv:temp_py37 mpirun -np 2 python -c 'import toast.tests; toast.tests.run()'
24-
py38:
25-
name: Docker Py3.8 Debian
26-
runs-on: ubuntu-latest
27-
steps:
28-
- name: Checkout
29-
uses: actions/checkout@v2
30-
- name: Create Dockerfile
31-
run: ./cmbenv -c docker-py3.8-debian -p /usr/local
32-
- name: Build Docker Image
33-
run: docker build -t hpc4cmb/cmbenv:temp_py38 -f Dockerfile_docker-py3.8-debian .
34-
- name: Test Docker Image
35-
run: docker run hpc4cmb/cmbenv:temp_py38 python -c 'import toast.tests; toast.tests.run()' && docker run hpc4cmb/cmbenv:temp_py38 mpirun -np 2 python -c 'import toast.tests; toast.tests.run()'
36-
py39:
37-
name: Docker Py3.9 Debian
12+
test:
13+
name: Docker Test Python ${{ matrix.python }} ${{ matrix.mpi }}
3814
runs-on: ubuntu-latest
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
include:
19+
- python: 3.7
20+
mpi: mpich
21+
- python: 3.8
22+
mpi: mpich
23+
- python: 3.9
24+
mpi: mpich
25+
- python: 3.9
26+
mpi: openmpi
3927
steps:
28+
- name: Cancel Previous Runs
29+
uses: styfle/cancel-workflow-action@0.9.1
30+
with:
31+
access_token: ${{ github.token }}
32+
4033
- name: Checkout
4134
uses: actions/checkout@v2
35+
4236
- name: Create Dockerfile
43-
run: ./cmbenv -c docker-py3.9-debian -p /usr/local
37+
run: ./cmbenv -c docker-py${{ matrix.python }}-debian-${{ matrix.mpi }}
38+
4439
- name: Build Docker Image
45-
run: docker build -t hpc4cmb/cmbenv:temp_py39 -f Dockerfile_docker-py3.9-debian .
40+
run: docker build -t hpc4cmb/cmbenv:temp_py${{ matrix.python }}_${{ matrix.mpi }} -f Dockerfile_docker-py${{ matrix.python }}-debian-${{ matrix.mpi }} .
41+
4642
- name: Test Docker Image
47-
run: docker run hpc4cmb/cmbenv:temp_py39 python -c 'import toast.tests; toast.tests.run()' && docker run hpc4cmb/cmbenv:temp_py39 mpirun -np 2 python -c 'import toast.tests; toast.tests.run()'
43+
run: docker run hpc4cmb/cmbenv:temp_py${{ matrix.python }}_${{ matrix.mpi }} python -c 'import toast.tests; toast.tests.run()' && docker run hpc4cmb/cmbenv:temp_py${{ matrix.python }}_${{ matrix.mpi }} mpirun -np 2 python -c 'import toast.tests; toast.tests.run()'

configs/linux-venv-openmpi

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
2+
# OS type (linux OR osx)
3+
OSTYPE = linux
4+
5+
# Specify the template to use
6+
TEMPLATE = linux
7+
8+
# Python version to use
9+
PYVERSION = auto
10+
11+
# Packages to install with pip
12+
PIP_PKGS = future nose Cython numpy scipy matplotlib pyyaml astropy six psutil ephem pandas memory_profiler ipython cycler kiwisolver python-dateutil toml numba tbb nbstripout black wurlitzer ipympl ipykernel jupyterlab pillow pshmem tomlkit traitlets
13+
14+
# Packages to install with conda
15+
CONDA_PKGS =
16+
17+
# Serial compilers
18+
19+
CC = gcc
20+
CXX = g++
21+
FC = gfortran
22+
23+
# Compiler to use for packages needed on the build machine
24+
25+
BUILD_CC = gcc
26+
BUILD_CXX = g++
27+
28+
# MPI compilers
29+
30+
MPICC = mpicc
31+
MPICXX = mpicxx
32+
MPIFC = mpifort
33+
MPI_CPPFLAGS = @AUX_PREFIX@/include
34+
MPI_LDFLAGS = @AUX_PREFIX@/lib
35+
MPI_CXXLIB = mpicxx
36+
MPI_LIB = mpi
37+
MPI_EXTRA_COMP =
38+
MPI_EXTRA_LINK =
39+
40+
# Compile flags
41+
42+
CFLAGS = -O3 -fPIC -pthread
43+
CXXFLAGS = -O3 -fPIC -pthread -std=c++11
44+
FCFLAGS = -O3 -fPIC -pthread -std=legacy -fallow-argument-mismatch
45+
46+
OPENMP_CFLAGS = -fopenmp
47+
OPENMP_CXXFLAGS = -fopenmp
48+
LDFLAGS = -lpthread -fopenmp
49+
50+
# Are we doing a cross-compile?
51+
CROSS =
52+
53+
# Parallel builds
54+
MAKEJ = 4
55+
56+
# Define MKL location
57+
MKL =
58+
59+
# For BLAS/LAPACK, we use openblas
60+
61+
BLAS = @AUX_PREFIX@/lib/libopenblas.a -fopenmp -lm
62+
LAPACK =
63+
64+
# Boost toolchain name
65+
66+
BOOSTCHAIN = gcc
67+
68+
# Group and permissions to set
69+
70+
CHGRP =
71+
CHMOD =

configs/linux-venv-openmpi.pkgs

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# This is the full set of packages that can be installed. This can be
2+
# used as a starting point for the package list for a particular config.
3+
# Some packages accept additional options which can be added after a colon ":".
4+
# These extra options are documented in the shell snippet for each package
5+
# in the top-level pkgs directory.
6+
#
7+
# Autotools. If you already have recent versions installed with your OS
8+
# package manager, then comment these out.
9+
m4
10+
libtool
11+
autoconf
12+
automake
13+
#
14+
# CMake.
15+
cmake
16+
#
17+
# Install zlib. This is needed on some systems where the OS-provided zlib is
18+
# very ancient.
19+
zlib
20+
#
21+
# Install OpenBLAS. Comment out if you are using MKL with the Intel compilers
22+
# or some other vendor BLAS / LAPACK solution.
23+
openblas
24+
#
25+
# Python 3. Uncomment one of the following lines. You should only use the
26+
# "default" option for Docker images. All other configs should use either
27+
# a virtualenv or a conda environment. This will also install a set of
28+
# common base packages.
29+
python:virtualenv
30+
#python:conda
31+
#python:default
32+
#
33+
# Install OpenMPI
34+
openmpi
35+
#
36+
# Install mpi4py. This will use the MPI compilers specified in your config.
37+
mpi4py
38+
#
39+
# Install CFITSIO.
40+
cfitsio
41+
#
42+
# Install FFTW3.
43+
fftw
44+
#
45+
# Install pyFFTW
46+
pyfftw
47+
#
48+
# Install libbz2. This is required to enable some features in the boost
49+
# build which are in turn needed by spt3g.
50+
bzip2
51+
#
52+
# Install Boost.
53+
boost
54+
#
55+
# Install HDF5.
56+
hdf5
57+
#
58+
# Install h5py (using our HDF5).
59+
h5py
60+
#
61+
# Install healpy
62+
healpy
63+
#
64+
# Install quaternionarray
65+
qarray
66+
#
67+
# Install Pixell
68+
pixell
69+
#
70+
# Install fitsio
71+
fitsio
72+
#
73+
# Install aatm. Needed for some features of atmosphere simulations.
74+
aatm
75+
#
76+
# GMP and MPFR are needed by SuiteSparse
77+
gmp
78+
mpfr
79+
#
80+
# Install suitesparse
81+
suitesparse
82+
#
83+
# Install libconviqt. 4-PI a_lm space beam convolution.
84+
conviqt
85+
#
86+
# Install libsharp. Distributed harmonic transforms.
87+
libsharp
88+
#
89+
# Install libmadam. Destriping map-maker.
90+
madam
91+
#
92+
# Install FLAC, needed by spt3g
93+
libflac
94+
#
95+
# Install SPT3G. Frame based data format.
96+
spt3g
97+
#
98+
# Install uncrustify
99+
uncrustify
100+
#
101+
# Install TIDAS. HDF5-based timestream data format.
102+
tidas
103+
#
104+
# Install PySM. Python Sky Model.
105+
pysm
106+
#
107+
# Install PyMPIT for environment testing. Useful for testing working
108+
# mpi4py stack.
109+
pympit
110+
#
111+
# Install TOAST.
112+
toast

pkgs/openmpi.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ if [ "x@MPI_EXTRA_LINK@" != "x" ]; then
4242
fi
4343

4444
tar xzf ${src} \
45-
&& cd mpich-${version} \
45+
&& cd ${pdir} \
4646
&& cleanup="${cleanup} $(pwd)" \
4747
&& CC="@CC@" CXX="@CXX@" FC="@FC@" F77="@FC@" \
4848
CFLAGS="@CFLAGS@" CXXFLAGS="@CXXFLAGS@" \

0 commit comments

Comments
 (0)