Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI #6

Merged
merged 13 commits into from
Jan 6, 2025
Merged

CI #6

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 140 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
#=========================================================================================
# (C) (or copyright) 2023-2024. Triad National Security, LLC. All rights reserved.
# This program was produced under U.S. Government contract 89233218CNA000001
# for Los Alamos National Laboratory (LANL), which is operated by Triad
# National Security, LLC for the U.S. Department of Energy/National
# Nuclear Security Administration. All rights in the program are
# reserved by Triad National Security, LLC, and the U.S. Department of
# Energy/National Nuclear Security Administration. The Government is
# granted for itself and others acting on its behalf a nonexclusive,
# paid-up, irrevocable worldwide license in this material to reproduce,
# prepare derivative works, distribute copies to the public, perform
# publicly and display publicly, and to permit others to do so.
#=========================================================================================

# This file was created in whole or in part by one of OpenAI's generative AI models.
RyanWollaeger marked this conversation as resolved.
Show resolved Hide resolved

name: CI

on:
push:
branches: [ "main" ]
pull_request:

# Cancel outdated workflows
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
# -------------------------------------------
# 1) CI Format job
# -------------------------------------------
ci_format:
# If you want to skip if the PR title has 'Draft:' or 'WIP:',
# you can approximate with the condition below.
if: >
github.event_name == 'pull_request' &&
(!
(
contains(github.event.pull_request.title, 'Draft:') ||
contains(github.event.pull_request.title, 'WIP:')
)
) ||
github.event_name == 'push'
runs-on: ubuntu-latest

# If you need HPC resources, set up a self-hosted runner here:
# runs-on: self-hosted
# or
# runs-on: [self-hosted, darwin-slurm-shared]

# Equivalent to 'variables:' in GitLab
env:
GIT_SUBMODULE_STRATEGY: recursive
SCHEDULER_PARAMETERS: "--nodes 1 --partition=skylake-gold"

steps:
- name: Check out code (with submodules)
uses: actions/checkout@v3
with:
submodules: true

- name: Set up environment
run: |
source env/bash

- name: Format
run: |
VERBOSE=1 ./style/format.sh

- name: Check for changes
run: |
git diff --exit-code --ignore-submodules

# -------------------------------------------
# 2) CI CPU job
# -------------------------------------------
ci_cpu:
# If you wanted it to run only if ci_format succeeded:
needs: ci_format
# Or skip if 'Draft:' or 'WIP:' in PR title
if: >
github.event_name == 'pull_request' &&
(!
(
contains(github.event.pull_request.title, 'Draft:') ||
contains(github.event.pull_request.title, 'WIP:')
)
) ||
github.event_name == 'push'
runs-on: ubuntu-latest
env:
GIT_SUBMODULE_STRATEGY: recursive
SCHEDULER_PARAMETERS: "--nodes 1 --partition=skylake-gold"

steps:
- name: Check out code (with submodules)
uses: actions/checkout@v3
with:
submodules: recursive

- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qq --no-install-recommends tzdata
sudo apt-get install -qq git
sudo apt-get install -qq make cmake g++
sudo apt-get install -qq libopenmpi-dev libhdf5-openmpi-dev
sudo apt-get install -qq openssh-client
sudo apt-get install -qq python3 python3-numpy python3-h5py python3-matplotlib

- name: Build Jaybenne
run: |
cd tst
mkdir -p build
cd build
cmake -DPARTHENON_DISABLE_HDF5_COMPRESSION=ON -DCMAKE_BUILD_TYPE=Release ../../
make -j 4
echo "JAYBENNE_EXECUTABLE=$(pwd)/mcblock" >> $GITHUB_ENV
cd ..

- name: stepdiff tests
run: |
cd tst
./stepdiff.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff.in --use_mpiexec
./stepdiff.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff_ddmc.in --use_mpiexec
./stepdiff_smr.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff_smr.in --use_mpiexec
./stepdiff_smr.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff_smr_ddmc.in --use_mpiexec
./stepdiff_smr.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff_smr_ddmc.in --use_mpiexec \
--mpi_nthreads 8 --mpi_oversubscribe
./stepdiff_smr.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff_smr_hybrid.in --use_mpiexec
./stepdiff_smr.py --executable $JAYBENNE_EXECUTABLE \
--input ../inputs/stepdiff_smr_hybrid.in --use_mpiexec \
--mpi_nthreads 8 --mpi_oversubscribe
82 changes: 0 additions & 82 deletions .gitlab-ci.yml

This file was deleted.

17 changes: 0 additions & 17 deletions .gitlab/merge_request_templates/Default.md

This file was deleted.

Loading
Loading