Preserve CI artifacts #104
Workflow file for this run
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
# ======================================================================================== | |
# (C) (or copyright) 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 part or in whole by one of OpenAI's generative AI models | |
name: Continuous Integration | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
# Cancel outdated workflows | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
format: | |
if: > | |
${{ !contains(github.event.pull_request.title, 'Draft:') && | |
!contains(github.event.pull_request.title, 'WIP:') }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' # Specify the Python version you need | |
- name: Install dependencies | |
run: | | |
pip install black | |
- name: Run format check | |
run: | | |
source env/bash | |
VERBOSE=1 ./style/format.sh | |
git diff --exit-code --ignore-submodules | |
cpu: | |
if: > | |
${{ !contains(github.event.pull_request.title, 'Draft:') && | |
!contains(github.event.pull_request.title, 'WIP:') }} | |
runs-on: ubuntu-latest | |
steps: | |
- 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: Run CPU tests | |
run: | | |
export MAKE_PROGRAM=make | |
cd tst | |
mkdir -p build | |
cd build | |
cmake --preset=cpu-release ../../ | |
make -j 4 | |
cd .. | |
python3 run_tests.py regression.suite \ | |
--save_build \ | |
--reuse_build \ | |
--use_oversubscribe \ | |
--log_file=ci_cpu_log.txt | |
- name: Upload logs | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: logs | |
path: tst/testing/logs | |
retention-days: 3 | |
- name: Upload figures | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: figs | |
path: tst/testing/figs | |
retention-days: 3 |