Skip to content

Commit

Permalink
Merge pull request #592 from PrincetonUniversity/hotfix/remove-travis-ci
Browse files Browse the repository at this point in the history
Remove Travis CI YAML and badge from README
  • Loading branch information
felker authored Jun 13, 2024
2 parents f701e67 + 8eebdab commit 5bef896
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 217 deletions.
193 changes: 0 additions & 193 deletions .travis.yml

This file was deleted.

1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ athena
<!-- [![Jenkins Build Status](https://jenkins.princeton.edu/buildStatus/icon?job=athena/PrincetonUniversity_athena_jenkins_master)](https://jenkins.princeton.edu/job/athena/job/PrincetonUniversity_athena_jenkins_master/) -->
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4455880.svg)](https://doi.org/10.5281/zenodo.4455880) <!-- v21.0, not Concept DOI that tracks the "latest" version (erroneously sorted by DOI creation date on Zenodo). 10.5281/zenodo.4455879 -->
[![Travis CI Build Status](https://travis-ci.com/PrincetonUniversity/athena.svg?token=Ejzw3yndG1Fqub679gCB&branch=master)](https://travis-ci.com/PrincetonUniversity/athena)
[![codecov](https://codecov.io/gh/PrincetonUniversity/athena/branch/master/graph/badge.svg?token=ZzniY084kP)](https://codecov.io/gh/PrincetonUniversity/athena)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# FFTW 3.3.7 = released 2017-10-29
version_str=3.3.8
# for macOS builds, install FFTW from Homebrew
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
if [ "$OS_NAME" == "osx" ]; then
export HOMEBREW_NO_AUTO_UPDATE=1
cd fftw
brew link fftw || true
Expand All @@ -13,7 +13,7 @@ if [ "$TRAVIS_OS_NAME" == "osx" ]; then
echo "Using cached FFTW"
else
echo "Installing FFTW with Homebrew"
HOMEBREW_TEMP=$TRAVIS_BUILD_DIR/fftw
HOMEBREW_TEMP=$BUILD_DIR/fftw
# brew update
brew install fftw
brew unlink fftw
Expand All @@ -37,7 +37,7 @@ else
cd fftw-${version_str}
echo "Configuring and building FFTW"
# --enable-mpi: not needed, since Plimpton's FFT library is used in Athena++ for MPI+FFT grav
./configure --prefix=$TRAVIS_BUILD_DIR/fftw &> fftw.configure
./configure --prefix=$BUILD_DIR/fftw &> fftw.configure
# make -j4 &> fftw.make
make &> fftw.make
make install &> fftw.install
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# HDF5 1.10.1 = released 2018-08-22
version_str=1.10.4
# for macOS builds, install HDF5 from Homebrew
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
if [ "$OS_NAME" == "osx" ]; then
export HOMEBREW_NO_AUTO_UPDATE=1
cd hdf5
# HDF5 dependencies
Expand All @@ -18,7 +18,7 @@ if [ "$TRAVIS_OS_NAME" == "osx" ]; then
echo "Using cached HDF5"
else
echo "Installing HDF5 with Homebrew"
HOMEBREW_TEMP=$TRAVIS_BUILD_DIR/hdf5
HOMEBREW_TEMP=$BUILD_DIR/hdf5
# brew update
brew install hdf5 # --with-mpi
brew unlink hdf5
Expand All @@ -41,7 +41,7 @@ else
tar zxf hdf5-${version_str}.tar.gz
cd hdf5-${version_str}
echo "Configuring and building HDF5"
./configure --prefix=$TRAVIS_BUILD_DIR/hdf5 &> hdf5.configure
./configure --prefix=$BUILD_DIR/hdf5 &> hdf5.configure
# For parallel MPI build of HDF5 library:
# CC=/Users/kfelker/mpich-install/bin/mpicc ./configure --enable-parallel
make -j4 &> hdf5.make
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# MPICH 3.2.1 = released 2017-11-10
version_str=3.2.1
# for macOS builds, install MPICH from Homebrew
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
if [ "$OS_NAME" == "osx" ]; then
export HOMEBREW_NO_AUTO_UPDATE=1
cd mpich
brew unlink open-mpi || true
Expand All @@ -21,7 +21,7 @@ if [ "$TRAVIS_OS_NAME" == "osx" ]; then
echo "Using cached MPICH"
else
echo "Installing MPICH with Homebrew"
HOMEBREW_TEMP=$TRAVIS_BUILD_DIR/mpich
HOMEBREW_TEMP=$BUILD_DIR/mpich
# There is no libtoolize in macOS system. Homebrew uses "g" prefix
ln -s `which glibtoolize` /usr/local/opt/libtool/bin/libtoolize
brew install mpich # --HEAD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# will need to manually adjust below URL after major version 3.0
version_str=3.0.2
# for macOS builds, install OpenMPI from Homebrew:
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
if [ "$OS_NAME" == "osx" ]; then
export HOMEBREW_NO_AUTO_UPDATE=1
cd openmpi
brew unlink mpich || true
Expand All @@ -23,7 +23,7 @@ if [ "$TRAVIS_OS_NAME" == "osx" ]; then
echo "Using cached OpenMPI"
else
echo "Installing OpenMPI with Homebrew"
HOMEBREW_TEMP=$TRAVIS_BUILD_DIR/openmpi
HOMEBREW_TEMP=$BUILD_DIR/openmpi
# brew update
brew install open-mpi #--cc=gcc-7 --build-from-source --without-fortran
brew unlink open-mpi
Expand All @@ -48,7 +48,7 @@ else
cd openmpi-${version_str}
echo "Configuring and building OpenMPI"
# The configure output is not printed to the Travis CI log due to the redirect
./configure --prefix=$TRAVIS_BUILD_DIR/openmpi &> openmpi.configure # CC=$C_COMPILER CXX=$CXX_COMPILER --without-fortran
./configure --prefix=$BUILD_DIR/openmpi &> openmpi.configure # CC=$C_COMPILER CXX=$CXX_COMPILER --without-fortran
make -j4 &> openmpi.make
make install &> openmpi.install
cd ..
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
#!/bin/bash

# Script originally used for testing on Travis CI osx and Ubuntu containers;
# could be modified to be useful for Docker, Apptainer, etc. containers for testing
OS_NAME=osx #linux, ubuntu
BUILD_DIR=$HOME/build

# Terminate script at first cmd w/ non-zero exit status & echo commands before executing (-v) as lines are read
set -ev # -x # for tracing/debugging commands after variable expansion
# Do not use "python run_tests.py" to run all tests, so that:
# - Each set/directory of tests are timed separately (although entire script is timed as one unit in Travis CI)
# - Each set/directory of tests are timed separately
# - Script fails after first broken set of tests
# (Could alternatively group sets of tests with && operator)

# Assume script is called from the top-level athena/ directory
cd tst/regression/

if [ "$MPI_CHOICE" == "openmpi" ]; then
PATH=$TRAVIS_BUILD_DIR/openmpi/bin/:$PATH
PATH=$BUILD_DIR/openmpi/bin/:$PATH
MPI_OPTS=--oversubscribe
# Disable OpenMPI 3.1 vader CMA due to namespace permission issues on Travis CI / Docker containers
export OMPI_MCA_btl_vader_single_copy_mechanism=none
else
PATH=$TRAVIS_BUILD_DIR/mpich/bin/:$PATH
PATH=$BUILD_DIR/mpich/bin/:$PATH
fi

# --silent option refers only to stdout of Makefile calls for condensed build logs. Don't use with pgen_compile.py
Expand All @@ -25,17 +30,18 @@ time python3 run_tests.py pgen/pgen_compile --config=--cxx=$TEMP_CXX -c=--ccmd=$
time python3 run_tests.py pgen/hdf5_reader_serial --config=--cxx=$TEMP_CXX -c=--ccmd=$TEMP_CCMD -v

# need to switch serial compiler to Homebrew's GCC instead of /usr/bin/gcc -> Apple Clang for OpenMP functionality
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
if [ "$OS_NAME" == "osx" ]; then
time python3 run_tests.py mpi --config=--cxx=$TEMP_CXX -c=--ccmd=$TEMP_CCMD --mpirun_opts=$MPI_OPTS --silent
# TODO(felker): improve selection of 'gcc-9' so when 'brew install gcc' formula instead installs gcc-10, this won't break
export OMPI_CC=/usr/local/bin/gcc-9
export OMPI_CXX=/usr/local/bin/g++-9
export MPICH_CC=/usr/local/bin/gcc-9
export MPICH_CXX=/usr/local/bin/g++-9
time python3 run_tests.py hybrid --config=--cxx=g++ --config=--ccmd=/usr/local/bin/g++-9 \
# TODO(felker): improve selection of 'gcc-14' so when 'brew install gcc' formula instead installs gcc-10, this won't break
# TODO(felker): note, these hardcoded paths were only true for x86_64 macOS systems; arm64 uses /opt/homebrew/bin/gcc-14
export OMPI_CC=/usr/local/bin/gcc-14
export OMPI_CXX=/usr/local/bin/g++-14
export MPICH_CC=/usr/local/bin/gcc-14
export MPICH_CXX=/usr/local/bin/g++-14
time python3 run_tests.py hybrid --config=--cxx=g++ --config=--ccmd=/usr/local/bin/g++-14 \
--config=--mpiccmd='mpicxx -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX' --mpirun_opts=$MPI_OPTS --silent
time python3 run_tests.py omp --config=--cxx=g++ --config=--ccmd=/usr/local/bin/g++-9 --silent
time python3 run_tests.py grav --config=--cxx=g++ --config=--ccmd=/usr/local/bin/g++-9 \
time python3 run_tests.py omp --config=--cxx=g++ --config=--ccmd=/usr/local/bin/g++-14 --silent
time python3 run_tests.py grav --config=--cxx=g++ --config=--ccmd=/usr/local/bin/g++-14 \
--config=--mpiccmd='mpicxx -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX' --mpirun_opts=$MPI_OPTS --silent # requires FFTW library
else
export OMPI_CC=$TEMP_CCMD
Expand Down

0 comments on commit 5bef896

Please sign in to comment.