More tutorial devel. (#1076) #690
This file contains 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: Bmad Ecosystem - Build & Test | |
on: | |
# Run on demand | |
workflow_dispatch: | |
# Run on push to main | |
push: | |
branches: | |
- "main" | |
# Run on pull requests | |
pull_request: | |
## Future Ideas: | |
## PR make it 10 or less | |
## For main and time based we can run something bigger | |
## Run when releases are published | |
## release: | |
## types: | |
## - "published" | |
# Configuration for the version of external packages | |
# We do this so we can cache them and avoid checking out that big | |
# repository at all times. | |
env: | |
EXTERNAL_PACKAGES_VERSION: main | |
# | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
# | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
# Future Ideas: | |
# add macOS - check if GH Actions can make intel and arm | |
os: [ubuntu-latest] | |
shared: ["Y"] | |
openmp_mpi: ["N", "Y"] | |
steps: | |
# Check out the code from GitHub | |
- uses: actions/checkout@v4 | |
# Install system dependencies | |
- name: Install System Dependencies | |
run: | | |
sudo apt update | |
sudo apt-get install gfortran g++ cmake libtool-bin libreadline-dev libpango1.0-dev libssl-dev bc libopenmpi-dev openmpi-bin openmpi-common | |
# sudo apt install build-essential curl wget cmake gfortran automake \ | |
# autoconf libtool m4 libgomp1 libreadline-dev libncurses-dev pkg-config \ | |
# libcairo2-dev libpango1.0-dev libxt-dev libx11-dev -y | |
# In case we don't have it available, check it out | |
- name: Checkout External Packages | |
run: | | |
git clone --depth 1 --branch ${{ env.EXTERNAL_PACKAGES_VERSION }} https://github.com/bmad-sim/bmad-external-packages.git ~/external_packages | |
# | |
- name: Move External Packages | |
run: | | |
for dep in ~/external_packages/*; \ | |
do if [ $dep != "README.md" ]; \ | |
then cp -r $dep $GITHUB_WORKSPACE/; \ | |
fi; \ | |
done | |
# | |
- name: Build | |
env: | |
USE_MPI: ${{ matrix.openmp_mpi }} | |
SHARED: ${{ matrix.shared }} | |
run: .github/scripts/install_bmad.sh | |
# | |
- name: Run Tests | |
run: .github/scripts/run_tests.sh |