Skip to content

[BUGFIX] Order of partial absorption was not respected #2407

[BUGFIX] Order of partial absorption was not respected

[BUGFIX] Order of partial absorption was not respected #2407

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
name: [
ubuntu-doc,
ubuntu-clang-15-debug,
ubuntu-gcc-11,
ubuntu-gcc-12-debug,
ubuntu-clang-15-nofortran,
ubuntu-clang-16-nofortran,
macos-gcc-13,
macos-clang-16,
]
include:
- name: ubuntu-doc
os: ubuntu-22.04
compiler: clang
version: "15"
doc: "yes"
arts: "no"
fortran: "no"
check: "no"
libcxx: "yes"
buildtype: "Release"
- name: ubuntu-clang-15-debug
os: ubuntu-22.04
compiler: clang
version: "15"
doc: "no"
arts: "yes"
fortran: "yes"
fortran-version: "11"
check: "yes"
libcxx: "yes"
buildtype: "RelWithDebInfo"
- name: ubuntu-gcc-11
os: ubuntu-22.04
compiler: gcc
version: "11"
doc: "no"
arts: "yes"
fortran: "yes"
fortran-version: "11"
check: "yes"
libcxx: "no"
buildtype: "Release"
- name: ubuntu-gcc-12-debug
os: ubuntu-22.04
compiler: gcc
version: "12"
doc: "no"
arts: "yes"
fortran: "yes"
fortran-version: "12"
check: "yes"
libcxx: "no"
buildtype: "RelWithDebInfo"
- name: ubuntu-clang-15-nofortran
os: ubuntu-22.04
compiler: clang
version: "15"
doc: "no"
arts: "yes"
fortran: "no"
check: "yes"
libcxx: "yes"
buildtype: "Release"
- name: ubuntu-clang-16-nofortran
os: ubuntu-22.04
compiler: clang
version: "16"
doc: "no"
arts: "yes"
fortran: "no"
check: "yes"
libcxx: "yes"
buildtype: "Release"
- name: macos-gcc-13
os: macos-12
compiler: gcc
version: "13"
doc: "no"
arts: "yes"
fortran: "yes"
fortran-version: "13"
check: "yes"
libcxx: "no"
buildtype: "Release"
- name: macos-clang-16
os: macos-12
compiler: clang
version: "16"
doc: "no"
arts: "yes"
fortran: "no"
check: "yes"
libcxx: "no"
buildtype: "Release"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 10
- uses: actions/setup-python@v4
if: runner.os == 'macOS'
with:
python-version: '3.10'
- name: Setup (Linux)
if: runner.os == 'Linux'
run: |
if [ "${{ matrix.compiler }}" = "clang" ] && [ "${{ matrix.version }}" -ge "13" ]; then
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421
sudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ matrix.version }} main"
fi
sudo apt-get update
if [ "${{ matrix.compiler }}" = "gcc" ]; then
sudo apt-get install -y g++-${{ matrix.version }}
echo "CC=gcc-${{ matrix.version }}" >> $GITHUB_ENV
echo "CXX=g++-${{ matrix.version }}" >> $GITHUB_ENV
fi
if [ "${{ matrix.fortran }}" = "yes" ]; then
sudo apt-get install -y gfortran-${{ matrix.fortran-version }}
echo "FC=gfortran-${{ matrix.fortran-version }}" >> $GITHUB_ENV
echo "USEFORTRAN=1" >> $GITHUB_ENV
else
echo "USEFORTRAN=0" >> $GITHUB_ENV
fi
if [ "${{ matrix.compiler }}" = "clang" ]; then
sudo apt-get install -y libunwind-dev clang++-${{ matrix.version }}
echo "CC=clang-${{ matrix.version }}" >> $GITHUB_ENV
echo "CXX=clang++-${{ matrix.version }}" >> $GITHUB_ENV
fi
if [ "${{ matrix.libcxx }}" = "yes" ]; then
sudo apt-get install -y libc++-${{ matrix.version }}-dev libc++abi-${{ matrix.version }}-dev
fi
sudo apt-get install -y python3-minimal python3-pip python3-setuptools zlib1g-dev libopenblas-dev libglew-dev libglfw3-dev libnetcdf-dev libmicrohttpd-dev
sudo pip3 install build docutils lark-parser matplotlib netCDF4 numpy pytest scipy xarray
if [ "${{ matrix.doc }}" = "yes" ]; then
sudo apt-get install -y texlive texlive-latex-extra doxygen
sudo pip3 install sphinx sphinx_rtd_theme sphinx-favicon
fi
- name: Setup (macOS)
if: runner.os == 'macOS'
run: |
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
brew upgrade python
brew install libmicrohttpd
sudo pip3 install build docutils lark-parser matplotlib netCDF4 numpy pytest scipy xarray
if [ "${{ matrix.compiler }}" = "gcc" ]; then
brew install gcc@${{ matrix.version }}
echo "CC=gcc-${{ matrix.version }}" >> $GITHUB_ENV
echo "CXX=g++-${{ matrix.version }}" >> $GITHUB_ENV
elif [ "${{ matrix.compiler }}" = "clang" ]; then
brew install llvm@${{ matrix.version }}
echo "CC=/usr/local/opt/llvm@${{ matrix.version }}/bin/clang" >> $GITHUB_ENV
echo "CXX=/usr/local/opt/llvm@${{ matrix.version }}/bin/clang++" >> $GITHUB_ENV
if [ "${{ matrix.fortran }}" = "yes" ]; then
brew install gcc@${{ matrix.fortran-version }}
fi
else
exit 1
fi
if [ "${{ matrix.fortran }}" = "yes" ]; then
echo "FC=gfortran-${{ matrix.fortran-version }}" >> $GITHUB_ENV
echo "USEFORTRAN=1" >> $GITHUB_ENV
else
echo "USEFORTRAN=0" >> $GITHUB_ENV
fi
brew install glew glfw netcdf
- name: Configure (Linux / macOS)
if: runner.os == 'Linux' || runner.os == 'macOS'
run: |
mkdir cmake-build
cd cmake-build
cmake -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DENABLE_PCH=1 -DENABLE_GUI=1 -DNUM_PYARTS_WSM=2 -DNUM_PYARTS_WSV=1 -DNUM_PYARTS_WSC=1 -DNUM_PYARTS_WSG=1 -DENABLE_FORTRAN=$USEFORTRAN -DENABLE_NETCDF=1 -DENABLE_DOCSERVER=1 -DENABLE_ARTS_LGPL=0 ${{ matrix.cmakeflags }} ..
- name: Build (Linux)
if: runner.os == 'Linux' && matrix.arts == 'yes'
run: |
cd cmake-build
if [[ ${{ matrix.buildtype }} == "Release" ]]; then
make -j2 -C src
else
make -j2 arts
make -j1 pyarts
make -j2 -C src
fi
- name: Build (macOS)
if: runner.os == 'macOS' && matrix.arts == 'yes'
run: |
cd cmake-build
make -j3 -C src
- name: Docs (Linux / macOS)
if: (runner.os == 'Linux' || runner.os == 'macOS') && matrix.doc == 'yes'
run: |
cd cmake-build
make -j2 -C doc
make -j2 pyarts_docs
tar -zcf doxygen.tar.gz doc/doxygen/html
tar -zcf sphinx.tar.gz python/doc/build
- name: Check (Linux / macOS)
if: (runner.os == 'Linux' || runner.os == 'macOS') && matrix.check == 'yes'
run: |
cd cmake-build
make check
- name: Python Wheel (Linux / macOS)
if: (runner.os == 'Linux' || runner.os == 'macOS') && matrix.check == 'yes'
run: |
cd cmake-build
make pyarts-package
- name: Check Controlfile Conversion (Linux / macOS)
if: matrix.check == 'yes'
run: |
cd cmake-build
make check-conversion
- uses: actions/upload-artifact@v4
if: (runner.os == 'Linux' || runner.os == 'macOS') && matrix.doc == 'yes'
with:
name: docs-uguide
path: |
cmake-build/doc/uguide/arts_user.pdf
cmake-build/doc/uguide/arts_theory.pdf
cmake-build/doc/uguide/arts_developer.pdf
- uses: actions/upload-artifact@v4
if: (runner.os == 'Linux' || runner.os == 'macOS') && matrix.doc == 'yes'
with:
name: docs-doxygen
path: |
cmake-build/doxygen.tar.gz
- uses: actions/upload-artifact@v4
if: (runner.os == 'Linux' || runner.os == 'macOS') && matrix.doc == 'yes'
with:
name: docs-sphinx
path: |
cmake-build/sphinx.tar.gz