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

Move remainder of CI to github #10

Merged
merged 56 commits into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
4a0712e
Updated CI
brryan Nov 8, 2024
b4c1290
python dependencies
brryan Nov 8, 2024
efc7a35
different dependnecies approach
brryan Nov 8, 2024
4337870
No redundant doc jobs
brryan Nov 8, 2024
da94f1f
try getting nvidia on gpu runner
brryan Nov 8, 2024
20cf325
Fewer nproc during make
brryan Nov 8, 2024
d7962da
Remove GPU jobs for now
brryan Nov 8, 2024
c8319c3
Smaller disk problems
brryan Nov 9, 2024
d71d7a1
Only change cartesian disk
brryan Nov 9, 2024
c4371f2
Working on this
brryan Nov 9, 2024
4fc31f5
Formatting
brryan Nov 9, 2024
32edddf
Only two ranks for MPI
brryan Nov 9, 2024
46f1879
Oops typo
brryan Nov 9, 2024
1becc6e
Testing CPU count
brryan Nov 9, 2024
9e661a0
binary test takes too long on two slow ranks -- leave for GPU
brryan Nov 9, 2024
b9b610b
Oops missing os
brryan Nov 9, 2024
5c24d95
Update names
brryan Nov 9, 2024
fa64e71
Add slow version of parallel suite
brryan Nov 9, 2024
2f31a3d
debug weird issue with cpu count
brryan Nov 9, 2024
cbe5152
typo in debug prints
brryan Nov 9, 2024
ddcc735
New attempt at counting mpi slots
brryan Nov 9, 2024
c036695
Trying again with mpi oversubscribe
brryan Nov 9, 2024
16c4c8c
OK lets just use oversubscribe
brryan Nov 9, 2024
c922286
Change how run dir is created
brryan Nov 9, 2024
17de819
I need this branch to be up to date on github lol
brryan Nov 9, 2024
e5917af
build code separately from run_tests
brryan Nov 9, 2024
8678efa
update
brryan Nov 9, 2024
0ed3e6e
Dont use build_artemis command on unknown CI runner platforms
brryan Nov 9, 2024
9c1cd41
Fix paths
brryan Nov 11, 2024
6656fee
Cleanup, move file
brryan Nov 11, 2024
824b47e
shifting to darwin
brryan Nov 12, 2024
918608a
Move old files
brryan Nov 12, 2024
56435b5
formatting, clean up CI script
brryan Nov 12, 2024
e6bd938
Try to fix logfile output
brryan Nov 12, 2024
db2068b
advection history output seems out of order -- lets test (also log ar…
brryan Nov 12, 2024
3bebfb0
Switch to cmake preset?
brryan Nov 12, 2024
88ff9bc
Is this sufficient
brryan Nov 12, 2024
f23eca7
OK also provide C compiler by default
brryan Nov 12, 2024
ec7991d
default to make for github CI
brryan Nov 12, 2024
a985542
cmake syntax
brryan Nov 12, 2024
bd7ba7c
ok we actually do need these compiler flags apparently
brryan Nov 12, 2024
31f726c
trying again...
brryan Nov 12, 2024
2ecaedb
Did env break the CI?
brryan Nov 12, 2024
3a89e1d
annoying nonetype issue
brryan Nov 12, 2024
0426be3
Trying with two ranks...
brryan Nov 12, 2024
0e3b88f
OK explicitly turn off oversubscribe and see if that fixes it
brryan Nov 12, 2024
cb3387b
Another try... sigh
brryan Nov 12, 2024
91591eb
Merge into develop, fix advection, back to oversubscribe
brryan Nov 13, 2024
49d8ac9
logfile issue
brryan Nov 13, 2024
b08b2cc
Added run_tests behaviors
brryan Nov 13, 2024
7e406d0
Formatting
brryan Nov 13, 2024
2b43518
Need to commit this to repo to test
brryan Nov 13, 2024
c59bca2
Oops found the bug
brryan Nov 13, 2024
16545ff
Better gitignore
brryan Nov 13, 2024
ab4e800
revert parthenon
brryan Nov 13, 2024
b44c50c
Formatting and update readme
brryan Nov 14, 2024
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
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Background

## Description of Changes

## Checklist

- [ ] New features are documented
- [ ] Tests added for bug fixes and new features
- [ ] (@lanl.gov employees) Update copyright on changed files
brryan marked this conversation as resolved.
Show resolved Hide resolved
93 changes: 93 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# ========================================================================================
# (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 \
--exe build/src/artemis \
--log_file=ci_cpu_log.txt
- name: Upload CPU test log
if: always()
uses: actions/upload-artifact@v3
with:
name: ci_cpu_log.txt
path: tst/ci_cpu_log.txt
retention-days: 3
- name: Upload figures
if: always()
uses: actions/upload-artifact@v3
with:
name: figs
path: tst/figs
retention-days: 3
14 changes: 13 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# ========================================================================================
# (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.
# ========================================================================================

name: Build And Deploy Docs

Expand Down Expand Up @@ -31,5 +43,5 @@ jobs:
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
publish_dir: ./public
force_orphan: true
70 changes: 70 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# ========================================================================================
# (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: Nightly Tests

on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight; adjust as needed

jobs:
cpu:
runs-on: ubuntu-latest
env:
MAKE_PROGRAM: ${{ env.MAKE_PROGRAM || 'make' }}
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: Update Parthenon submodule
run: |
cd external/parthenon
git pull origin develop
echo "==> Current Parthenon commit hash:"
git rev-parse HEAD
- name: Run CPU tests
run: |
cd tst
mkdir -p build
cd build
cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc ../../
make -j 4
cd ..
python3 run_tests.py regression.suite \
--exe build/src/artemis \
--log_file=ci_cpu_log.txt
- name: Upload CPU test log
if: always()
uses: actions/upload-artifact@v3
with:
name: ci_cpu_log.txt
path: tst/ci_cpu_log.txt
retention-days: 3
- name: Upload figures
if: always()
uses: actions/upload-artifact@v3
with:
name: figs
path: tst/figs
retention-days: 3
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ debug*
doc/_build/*
doc/src/parameters.rst

# CI files
artemis_ci_*.out
tst/figs

# Visualization package files
.smhist

Expand Down
189 changes: 0 additions & 189 deletions .gitlab-ci.yml

This file was deleted.

Loading
Loading