Fixes from AmberTools 2025 Integration #272
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Build and Test QUICK Serial Version' | |
defaults: | |
run: | |
shell: bash | |
on: | |
push: | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
jobs: | |
build-and-test-serial-legacy-configure-make: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: 'ubuntu-22.04' | |
compiler-type: 'gnu' | |
compiler-version: '10' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-10 g++-10 gfortran-10' | |
- os: 'ubuntu-22.04' | |
compiler-type: 'gnu' | |
compiler-version: '11' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-11 g++-11 gfortran-11' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'gnu' | |
compiler-version: '12' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-12 g++-12 gfortran-12' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'gnu' | |
compiler-version: '13' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-13 g++-13 gfortran-13' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'gnu' | |
compiler-version: '14' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-14 g++-14 gfortran-14' | |
- os: 'ubuntu-24.04-arm' | |
compiler-type: 'gnu' | |
compiler-version: '14' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-14 g++-14 gfortran-14' | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.os }} - Serial - Legacy - ${{ matrix.compiler-type }} - ${{ matrix.compiler-version }} | |
steps: | |
- name: 'Checkout Repository' | |
uses: actions/checkout@v4 | |
- name: 'Linux: Install Dependencies for Serial Version' | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install ${{ matrix.compiler-install }} parallel | |
if [[ ${{ matrix.compiler-type }} == 'gnu' || ${{ matrix.compiler-type }} == 'clang' ]]; then | |
sudo rm /usr/bin/${{ matrix.c-compiler }} | |
sudo ln -s -T ${{ matrix.c-compiler }}-${{ matrix.compiler-version }} /usr/bin/${{ matrix.c-compiler }} | |
sudo rm /usr/bin/${{ matrix.cxx-compiler }} | |
sudo ln -s -T ${{ matrix.cxx-compiler }}-${{ matrix.compiler-version }} /usr/bin/${{ matrix.cxx-compiler }} | |
if [[ ${{ matrix.compiler-type }} == 'gnu' ]]; then | |
sudo rm /usr/bin/${{ matrix.fortran-compiler }} | |
sudo ln -s -T ${{ matrix.fortran-compiler }}-${{ matrix.compiler-version }} /usr/bin/${{ matrix.fortran-compiler }} | |
fi | |
fi | |
- name: 'Linux: Log Softare Environment Configuration' | |
if: runner.os == 'Linux' | |
run: | | |
echo "OS version:" | |
cat /etc/os-release | |
echo | |
echo "Kernel version:" | |
uname -a | |
echo | |
ldd --version | |
echo | |
echo "Fortran compiler version:" | |
${{ matrix.fortran-compiler }} --version | |
echo | |
echo "GNU Parallel version:" | |
parallel --version | |
- name: 'Setup Environment Variables for Building and Running Tests' | |
run: | | |
echo "QUICK_BASIS=$PWD/install/basis" >> "$GITHUB_ENV" | |
echo "PATH=$PWD/install/bin:$PATH" >> "$GITHUB_ENV" | |
echo "LIBRARY_PATH=$PWD/install/lib/serial:$LIBRARY_PATH" >> "$GITHUB_ENV" | |
echo "LD_LIBRARY_PATH=$PWD/install/lib/serial:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" | |
echo "PARALLEL_TEST_COUNT=2" >> "$GITHUB_ENV" | |
echo "CC=${{ matrix.c-compiler }}" >> "$GITHUB_ENV" | |
echo "CXX=${{ matrix.cxx-compiler }}" >> "$GITHUB_ENV" | |
echo "FC=${{ matrix.fortran-compiler }}" >> "$GITHUB_ENV" | |
- name: 'Configure Serial Version' | |
run: | | |
./configure --serial --enablef --shared --verbose --prefix $PWD/install \ | |
${{ matrix.compiler-type }} | |
- name: 'Build and Install Serial Version Using 2 Jobs' | |
run: | | |
make -j2 all install | |
- name: 'Run Tests for Serial Version (Make)' | |
run: | | |
make fulltest | |
- name: 'Upload Test Artifacts for Serial Version' | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: serial-legacy-configure-make-tests-${{ matrix.os }}-${{ matrix.compiler-type }}-${{ matrix.compiler-version }} | |
path: ${{ github.workspace }}/install/test/runs/serial | |
retention-days: 3 | |
compression-level: 6 | |
- name: 'Download Test Artifacts for Serial Version' | |
uses: actions/download-artifact@v4 | |
with: | |
name: serial-legacy-configure-make-tests-${{ matrix.os }}-${{ matrix.compiler-type }}-${{ matrix.compiler-version }} | |
- name: 'Display Artifacts' | |
run: | | |
ls -R | |
build-and-test-serial-cmake: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: 'ubuntu-22.04' | |
compiler-type: 'GNU' | |
compiler-version: '10' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-10 g++-10 gfortran-10' | |
- os: 'ubuntu-22.04' | |
compiler-type: 'GNU' | |
compiler-version: '11' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-11 g++-11 gfortran-11' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'GNU' | |
compiler-version: '12' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-12 g++-12 gfortran-12' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'GNU' | |
compiler-version: '13' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-13 g++-13 gfortran-13' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'GNU' | |
compiler-version: '14' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-14 g++-14 gfortran-14' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'CLANG' | |
compiler-version: '17' | |
c-compiler: 'clang' | |
cxx-compiler: 'clang++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'clang-17 gfortran' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'CLANG' | |
compiler-version: '18' | |
c-compiler: 'clang' | |
cxx-compiler: 'clang++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'clang-18 gfortran' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'INTELLLVM' | |
compiler-version: '2024.2.1' | |
c-compiler: 'icx' | |
cxx-compiler: 'icpx' | |
fortran-compiler: 'ifx' | |
compiler-install: 'intel-oneapi-compiler-dpcpp-cpp-2024.2 intel-oneapi-compiler-fortran-2024.2 intel-oneapi-mkl-2024.2 intel-oneapi-mkl-devel-2024.2' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'INTELLLVM' | |
compiler-version: '2025.0.1' | |
c-compiler: 'icx' | |
cxx-compiler: 'icpx' | |
fortran-compiler: 'ifx' | |
compiler-install: 'intel-oneapi-compiler-dpcpp-cpp-2025.0 intel-oneapi-compiler-fortran-2025.0 intel-oneapi-mkl-2025.0 intel-oneapi-mkl-devel-2025.0' | |
- os: 'ubuntu-24.04' | |
compiler-type: 'PGI' | |
compiler-version: '25.1' | |
c-compiler: 'pgcc' | |
cxx-compiler: 'pgcc++' | |
fortran-compiler: 'pgf90' | |
compiler-install: 'nvhpc-25-1 gfortran' | |
- os: 'ubuntu-24.04-arm' | |
compiler-type: 'GNU' | |
compiler-version: '14' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc-14 g++-14 gfortran-14' | |
- os: 'ubuntu-24.04-arm' | |
compiler-type: 'CLANG' | |
compiler-version: '18' | |
c-compiler: 'clang' | |
cxx-compiler: 'clang++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'clang-18 gfortran' | |
- os: 'macos-13' | |
compiler-type: 'GNU' | |
compiler-version: '14' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc@14' | |
- os: 'macos-13' | |
compiler-type: 'CLANG' | |
compiler-version: '15' | |
fortran-compiler-version: '14' | |
c-compiler: 'clang' | |
cxx-compiler: 'clang++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'llvm@15 gcc@14' | |
- os: 'macos-14' | |
compiler-type: 'GNU' | |
compiler-version: '14' | |
c-compiler: 'gcc' | |
cxx-compiler: 'g++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'gcc@14' | |
- os: 'macos-14' | |
compiler-type: 'CLANG' | |
compiler-version: '15' | |
fortran-compiler-version: '14' | |
c-compiler: 'clang' | |
cxx-compiler: 'clang++' | |
fortran-compiler: 'gfortran' | |
compiler-install: 'llvm@15 gcc@14' | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.os }} - Serial - CMake - ${{ matrix.compiler-type }} - ${{ matrix.compiler-version }} | |
steps: | |
- name: 'Checkout Repository' | |
uses: actions/checkout@v4 | |
- name: 'Linux: Setup Environment Variables for Building and Running Tests' | |
if: runner.os == 'Linux' | |
run: | | |
echo "QUICK_BASIS=$PWD/install/basis" >> "$GITHUB_ENV" | |
echo "PATH=$PWD/install/bin:$PATH" >> "$GITHUB_ENV" | |
echo "LIBRARY_PATH=$PWD/install/lib:$LIBRARY_PATH" >> "$GITHUB_ENV" | |
echo "LD_LIBRARY_PATH=$PWD/install/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" | |
echo "PARALLEL_TEST_COUNT=2" >> "$GITHUB_ENV" | |
echo "CC=${{ matrix.c-compiler }}" >> "$GITHUB_ENV" | |
echo "CXX=${{ matrix.cxx-compiler }}" >> "$GITHUB_ENV" | |
echo "FC=${{ matrix.fortran-compiler }}" >> "$GITHUB_ENV" | |
if [ ${{ matrix.compiler-type }} == 'PGI' ]; then | |
echo PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ matrix.compiler-version }}/compilers/bin:$PATH >> "$GITHUB_ENV" | |
echo INCLUDE_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ matrix.compiler-version }}/compilers/include:$INCLUDE_PATH >> "$GITHUB_ENV" | |
echo LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ matrix.compiler-version }}/compilers/lib:$LIBRARY_PATH >> "$GITHUB_ENV" | |
echo LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ matrix.compiler-version }}/compilers/lib:$LD_LIBRARY_PATH >> "$GITHUB_ENV" | |
echo CMAKE_PREFIX_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ matrix.compiler-version }}/compilers/:$CMAKE_PREFIX_PATH >> "$GITHUB_ENV" | |
echo "NVHPC=/opt/nvidia/hpc_sdk" >> "$GITHUB_ENV" | |
echo NVHPC_ROOT=/opt/nvidia/hpc_sdk/Linux_x86_64/${{ matrix.compiler-version }} >> "$GITHUB_ENV" | |
fi | |
- name: 'MacOS: Setup Environment Variables for Building and Running Tests' | |
if: runner.os == 'macOS' | |
run: | | |
echo "QUICK_BASIS=$PWD/install/basis" >> "$GITHUB_ENV" | |
echo "PATH=$PWD/install/bin:$PATH" >> "$GITHUB_ENV" | |
echo "LIBRARY_PATH=$PWD/install/lib:$LIBRARY_PATH" >> "$GITHUB_ENV" | |
echo "LD_LIBRARY_PATH=$PWD/install/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" | |
echo "PARALLEL_TEST_COUNT=2" >> "$GITHUB_ENV" | |
echo "CC=${{ matrix.c-compiler }}" >> "$GITHUB_ENV" | |
echo "CXX=${{ matrix.cxx-compiler }}" >> "$GITHUB_ENV" | |
echo "FC=${{ matrix.fortran-compiler }}" >> "$GITHUB_ENV" | |
if [[ ${{ matrix.os }} == 'macos-13' ]]; then | |
echo "BREW_COMPILER_PREFIX=/usr/local/bin" >> "$GITHUB_ENV" | |
echo "PATH=/usr/local/bin:$PATH" >> "$GITHUB_ENV" | |
elif [[ ${{ matrix.os }} == 'macos-14' ]]; then | |
echo "BREW_COMPILER_PREFIX=/opt/homebrew/bin" >> "$GITHUB_ENV" | |
echo "PATH=/opt/homebrew/bin:$PATH" >> "$GITHUB_ENV" | |
fi | |
- name: 'Linux: Install Dependencies for Serial Version' | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
if [ ${{ matrix.compiler-type }} == 'INTELLLVM' ]; then | |
sudo apt install -y gpg-agent wget | |
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | |
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null | |
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | |
| sudo tee /etc/apt/sources.list.d/oneAPI.list | |
sudo apt update | |
elif [ ${{ matrix.compiler-type }} == 'PGI' ]; then | |
sudo apt install -y gpg-agent wget | |
wget -O- https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK \ | |
| gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg > /dev/null | |
echo "deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /" \ | |
| sudo tee /etc/apt/sources.list.d/nvhpc.list | |
sudo apt update | |
fi | |
sudo apt-get -y install ${{ matrix.compiler-install }} cmake parallel | |
if [[ ${{ matrix.compiler-type }} == 'GNU' || ${{ matrix.compiler-type }} == 'CLANG' ]]; then | |
sudo rm /usr/bin/${{ matrix.c-compiler }} | |
sudo ln -s -T ${{ matrix.c-compiler }}-${{ matrix.compiler-version }} /usr/bin/${{ matrix.c-compiler }} | |
sudo rm /usr/bin/${{ matrix.cxx-compiler }} | |
sudo ln -s -T ${{ matrix.cxx-compiler }}-${{ matrix.compiler-version }} /usr/bin/${{ matrix.cxx-compiler }} | |
if [[ ${{ matrix.compiler-type }} == 'GNU' ]]; then | |
sudo rm /usr/bin/${{ matrix.fortran-compiler }} | |
sudo ln -s -T ${{ matrix.fortran-compiler }}-${{ matrix.compiler-version }} /usr/bin/${{ matrix.fortran-compiler }} | |
fi | |
fi | |
- name: 'MacOS: Install Dependencies for Serial Version' | |
if: runner.os == 'macOS' | |
run: | | |
brew install --formula --quiet ${{ matrix.compiler-install }} cmake parallel | |
if [[ ${{ matrix.compiler-type }} == 'GNU' || ${{ matrix.compiler-type }} == 'CLANG' ]]; then | |
sudo ln -Fs $BREW_COMPILER_PREFIX/${{ matrix.c-compiler }}-${{ matrix.compiler-version }} \ | |
$BREW_COMPILER_PREFIX/${{ matrix.c-compiler }} | |
sudo ln -Fs $BREW_COMPILER_PREFIX/${{ matrix.cxx-compiler }}-${{ matrix.compiler-version }} \ | |
$BREW_COMPILER_PREFIX/${{ matrix.cxx-compiler }} | |
if [[ ${{ matrix.compiler-type }} == 'GNU' ]]; then | |
sudo ln -Fs $BREW_COMPILER_PREFIX/${{ matrix.fortran-compiler }}-${{ matrix.compiler-version }} \ | |
$BREW_COMPILER_PREFIX/${{ matrix.fortran-compiler }} | |
elif [[ ${{ matrix.compiler-type }} == 'CLANG' ]]; then | |
sudo ln -Fs $BREW_COMPILER_PREFIX/${{ matrix.fortran-compiler }}-${{ matrix.fortran-compiler-version }} \ | |
$BREW_COMPILER_PREFIX/${{ matrix.fortran-compiler }} | |
fi | |
fi | |
- name: 'Linux: Log Softare Environment Configuration' | |
if: runner.os == 'Linux' | |
run: | | |
if [ ${{ matrix.compiler-type }} == 'INTELLLVM' ]; then | |
source /opt/intel/oneapi/setvars.sh | |
fi | |
echo "OS version:" | |
cat /etc/os-release | |
echo | |
echo "Kernel version:" | |
uname -a | |
echo | |
ldd --version | |
echo | |
echo "Fortran compiler version:" | |
${{ matrix.fortran-compiler }} --version | |
echo | |
if [ ${{ matrix.compiler-type }} == 'INTELLLVM' ]; then | |
echo "MKL install directory:" | |
echo "${MKLROOT}" | |
echo | |
fi | |
echo "CMake version:" | |
cmake --version | |
echo | |
echo "GNU Parallel version:" | |
parallel --version | |
- name: 'MacOS: Log Softare Environment Configuration' | |
if: runner.os == 'macOS' | |
run: | | |
echo "OS version:" | |
cat /System/Library/CoreServices/SystemVersion.plist | |
echo | |
echo "Kernel version:" | |
uname -a | |
echo | |
echo "Fortran compiler version:" | |
${{ matrix.fortran-compiler }} --version | |
echo | |
echo "CMake version:" | |
cmake --version | |
echo | |
echo "GNU Parallel version:" | |
parallel --version | |
- name: 'Configure Serial Version' | |
run: | | |
mkdir build | |
cd build | |
if [ ${{ matrix.compiler-type }} == 'INTELLLVM' ]; then | |
source /opt/intel/oneapi/setvars.sh | |
cmake .. -DCOMPILER=${{ matrix.compiler-type }} \ | |
-DENABLEF=TRUE -DCMAKE_INSTALL_PREFIX=$PWD/../install \ | |
-DMKL_HOME=$MKLROOT -DMKL_MULTI_THREADED=FALSE -DTRUST_SYSTEM_LIBS=TRUE | |
else | |
cmake .. -DCOMPILER=${{ matrix.compiler-type }} \ | |
-DENABLEF=TRUE -DCMAKE_INSTALL_PREFIX=$PWD/../install | |
fi | |
- name: 'Build and Install Serial Version Using 2 Jobs' | |
run: | | |
if [ ${{ matrix.compiler-type }} == 'INTELLLVM' ]; then | |
source /opt/intel/oneapi/setvars.sh | |
fi | |
cd build | |
cmake --build . --parallel 2 --verbose | |
cmake --install . | |
- name: 'Run Tests for Serial Version' | |
run: | | |
if [ ${{ matrix.compiler-type }} == 'INTELLLVM' ]; then | |
source /opt/intel/oneapi/setvars.sh | |
fi | |
cd install | |
./runtest --serial --full | |
- name: 'Upload Test Artifacts for Serial Version' | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: serial-cmake-tests-${{ matrix.os }}-${{ matrix.compiler-type }}-${{ matrix.compiler-version }} | |
path: ${{ github.workspace }}/install/test/runs/serial | |
retention-days: 3 | |
compression-level: 6 | |
- name: 'Download Test Artifacts for Serial Version' | |
uses: actions/download-artifact@v4 | |
with: | |
name: serial-cmake-tests-${{ matrix.os }}-${{ matrix.compiler-type }}-${{ matrix.compiler-version }} | |
- name: 'Display Artifacts' | |
run: ls -R |