Skip to content

Commit ea853a3

Browse files
authored
Merge pull request #1425 from LLNL/task/rhornung67/v0.10.0-RC
Merge v0.10.0-RC to main
2 parents 5f53159 + 0cbe048 commit ea853a3

File tree

350 files changed

+20442
-8629
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

350 files changed

+20442
-8629
lines changed
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM ghcr.io/llnl/radiuss:clang-14-ubuntu-22.04
2+
3+
COPY entrypoint.sh /entrypoint.sh
4+
5+
USER root
6+
7+
ENTRYPOINT ["/entrypoint.sh"]
+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/bin/bash
2+
3+
# This is a bare minimum of options needed to create the `style` build target.
4+
CMAKE_ARGS=-DCMAKE_CXX_COMPILER=clang++
5+
CMAKE_ARGS="$CMAKE_ARGS -DENABLE_CLANGFORMAT=ON"
6+
CMAKE_ARGS="$CMAKE_ARGS -DCLANGFORMAT_EXECUTABLE=/usr/bin/clang-format"
7+
CMAKE_ARGS="$CMAKE_ARGS -DAXOM_ENABLE_ALL_COMPONENTS=OFF"
8+
9+
# Avoid error "fatal: detected dubious ownership in repository at '/github/workspace'"
10+
REPO_PATH=/github/workspace
11+
git config --global --add safe.directory "$REPO_PATH"
12+
find "$REPO_PATH" -type d | while read -r dir; do
13+
git config --global --add safe.directory "$dir"
14+
done
15+
16+
git fetch
17+
18+
###
19+
# Attempt to find the branch of the PR from the detached head state
20+
##
21+
22+
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
23+
echo "Attempting to find branch that matches commit..."
24+
25+
# Get the current commit SHA
26+
current_commit_sha=$(git rev-parse HEAD)
27+
# List all branches containing the current commit SHA
28+
branches=$(git branch -r --contains $current_commit_sha)
29+
30+
# Loop over the string split by whitespace
31+
branch=""
32+
num_branches_found=0
33+
for _possible_branch in $branches; do
34+
# Skip items that start with "pull/"
35+
if [[ $_possible_branch == pull/* ]]; then
36+
continue
37+
fi
38+
if [[ $_possible_branch == origin/* ]]; then
39+
_possible_branch=$(echo "$_possible_branch" | sed 's/origin\///')
40+
fi
41+
echo "Possible Branch: $_possible_branch"
42+
branch=$_possible_branch
43+
num_branches_found=$((num_branches_found+1))
44+
done
45+
46+
if [ "$num_branches_found" -ne 1 ]; then
47+
echo "Error: Unable to find a single branch that matched git sha $current_commit_sha"
48+
exit 1
49+
fi
50+
51+
echo "Found branch: $branch"
52+
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
53+
54+
git checkout $branch
55+
56+
git submodule update --init --recursive
57+
58+
mkdir build && cd build
59+
cmake $CMAKE_ARGS ../src
60+
make style
61+
cd ..
62+
63+
git config user.name "format-robot"
64+
git config user.email "[email protected]"
65+
if [ -n "$(git status --porcelain)" ]; then
66+
git commit -am 'Apply style updates'
67+
git push
68+
fi

.github/workflows/apply-style.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Apply Style
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
jobs:
8+
apply-style:
9+
if: startsWith(github.event.comment.body, '/style')
10+
name: Apply Style to Source
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
# Checkout the GitHub created reference for the PR.
15+
# The only way to do this is by using the "issue" number
16+
# but that is really the PR number in this context.
17+
# This is due to using an `issue_comment` event which
18+
# is due to the GitHub Actions API that does not have
19+
# a `pull_request_comment` event or something similar.
20+
# This leaves us in a detached head state which is corrected
21+
# in `apply-style/entrypoint.sh`
22+
- name: Checkout pull request
23+
uses: actions/checkout@v3
24+
with:
25+
ref: refs/pull/${{ github.event.issue.number }}/head
26+
27+
- name: Apply style updates
28+
uses: ./.github/actions/apply-style

.github/workflows/docker_build_tpls.yml

+14-11
Original file line numberDiff line numberDiff line change
@@ -11,43 +11,46 @@ jobs:
1111
name: Builds a docker image and extracts generated hostconfigs
1212
strategy:
1313
matrix:
14-
compiler: [clang-10, gcc-11]
14+
compiler: [clang-14, gcc-13]
1515
env:
1616
REPO: axom/tpls
1717
HOSTCONFIG_LOC: /home/axom/export_hostconfig
1818
DOCKERFILE_PREFIX: ./scripts/docker/dockerfile_
1919
steps:
2020
- name: Extract branch name
2121
shell: bash
22-
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
22+
run: |
23+
echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
2324
id: extract_branch
2425
- name: Get dockerfile name
2526
shell: bash
26-
run: echo "##[set-output name=filename;]$(echo ${DOCKERFILE_PREFIX}${{ matrix.compiler }})"
27+
run: |
28+
echo "filename=$(echo ${DOCKERFILE_PREFIX}${{ matrix.compiler }})" >> $GITHUB_OUTPUT
2729
id: dockerfile_name
2830
- name: Get dockerhub repo name
2931
shell: bash
3032
run: |
31-
echo ${REPO}:${{ matrix.compiler }}_`date "+%m-%d-%y_%Hh-%Mm"`
32-
echo "##[set-output name=repo_plus_tag;]$(echo ${REPO}:${{ matrix.compiler }}_`date "+%m-%d-%y_%Hh-%Mm"`)"
33-
echo "##[set-output name=repo_plus_latest;]$(echo ${REPO}:${{ matrix.compiler }}_latest)"
33+
repo_plus_tag=$(echo ${REPO}:${{ matrix.compiler }}_`date "+%m-%d-%y_%Hh-%Mm"`) && export repo_plus_tag
34+
echo $repo_plus_tag
35+
echo "repo_plus_tag=$repo_plus_tag" >> $GITHUB_OUTPUT
36+
echo "repo_plus_latest=$(echo ${REPO}:${{ matrix.compiler }}_latest)" >> $GITHUB_OUTPUT
3437
id: repo_name
3538

3639
- name: Checkout
37-
uses: actions/checkout@v2
40+
uses: actions/checkout@v4
3841

3942
- name: Set up Docker Buildx
40-
uses: docker/setup-buildx-action@v1
43+
uses: docker/setup-buildx-action@v3
4144

4245
- name: Login to DockerHub
43-
uses: docker/login-action@v1
46+
uses: docker/login-action@v3
4447
with:
4548
username: ${{ secrets.DOCKERHUB_USERNAME }}
4649
password: ${{ secrets.DOCKERHUB_TOKEN }}
4750

4851
- name: Build and push
4952
id: docker_build
50-
uses: docker/build-push-action@v2
53+
uses: docker/build-push-action@v5
5154
with:
5255
push: true
5356
tags: ${{ steps.repo_name.outputs.repo_plus_tag }},${{ steps.repo_name.outputs.repo_plus_latest }}
@@ -66,7 +69,7 @@ jobs:
6669
docker rm extract_hc
6770
6871
- name: Upload hostconfig
69-
uses: actions/upload-artifact@v2
72+
uses: actions/upload-artifact@v4
7073
with:
7174
name: ${{ matrix.compiler }}_hostconfigs
7275
path: ./extracted_hc/export_hostconfig/*

.github/workflows/test_windows_tpls.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,21 @@ jobs:
2929

3030
steps:
3131
- name: Checkout repo w/ submodules
32-
uses: actions/checkout@v2
32+
uses: actions/checkout@v4
3333
with:
3434
submodules: recursive
3535

3636
- name: Set up python
37-
uses: actions/setup-python@v2
37+
uses: actions/setup-python@v5
3838
with:
39-
python-version: '3.7'
39+
python-version: '3.10'
4040

4141
- name: List path and files
4242
run: ls
4343
- name: Run uberenv (${{ matrix.triplet }})
4444
run: python3 ./scripts/uberenv/uberenv.py --triplet ${{ matrix.triplet }}
4545
- name: Save Uberenv logs
46-
uses: actions/upload-artifact@v2
46+
uses: actions/upload-artifact@v4
4747
if: ${{ always() }}
4848
with:
4949
name: uberenv_artifacts_${{ matrix.triplet }}_${{ matrix.cfg }}.zip
@@ -73,7 +73,7 @@ jobs:
7373
ls
7474
ctest -C ${{ matrix.cfg }} --no-compress-output -T Test
7575
- name: Save CTest logs
76-
uses: actions/upload-artifact@v2
76+
uses: actions/upload-artifact@v4
7777
if: ${{ always() }}
7878
with:
7979
name: ctest_artifacts_${{ matrix.triplet }}_${{ matrix.cfg }}.zip

.gitlab-ci.yml

+5-12
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,10 @@
66
variables:
77
LLNL_SERVICE_USER: atk
88
GIT_SUBMODULE_STRATEGY: recursive
9-
PROJECT_ALLOC_NAME: ${CI_PROJECT_NAME}_ci_${CI_PIPELINE_ID}
109
BUILD_ROOT: ${CI_PROJECT_DIR}
1110
FULL_BUILD_ROOT: ${CI_BUILDS_DIR}/axom/${CI_JOB_NAME}
1211
SLURM_OVERLAP: 1
1312

14-
stages:
15-
- allocate
16-
- build
17-
- release
18-
1913
.src_workflow:
2014
rules:
2115
- if: '$FULL_BUILD != "ON"'
@@ -28,12 +22,8 @@ stages:
2822
# Template
2923
.src_build_script:
3024
script:
31-
# Use pre-existing allocation if any
32-
- export JOBID=$(if [[ "$SYS_TYPE" == "toss_4_x86_64_ib" ]]; then squeue -h --name=${PROJECT_ALLOC_NAME} --format=%A; fi)
33-
- ASSIGN_ID=$(if [[ -n "${JOBID}" ]]; then echo "--jobid=${JOBID}"; fi)
34-
# BUILD + TEST
3525
- echo -e "\e[0Ksection_start:$(date +%s):src_build_and_test\r\e[0KSource Build and Test ${CI_PROJECT_NAME}"
36-
- ${ALLOC_COMMAND} ${ASSIGN_ID} python3 scripts/llnl_scripts/build_src.py -v --host-config ${HOST_CONFIG} --extra-cmake-options '-DENABLE_DOCS=OFF ${EXTRA_CMAKE_OPTIONS}' --build-type ${BUILD_TYPE:-Debug} ${EXTRA_OPTIONS}
26+
- ${ALLOC_COMMAND} python3 scripts/llnl_scripts/build_src.py -v --host-config ${HOST_CONFIG} --extra-cmake-options '-DENABLE_DOCS=OFF ${EXTRA_CMAKE_OPTIONS}' --build-type ${BUILD_TYPE:-Debug} ${EXTRA_OPTIONS}
3727
- echo -e "\e[0Ksection_end:$(date +%s):src_build_and_test\r\e[0K"
3828
artifacts:
3929
expire_in: 2 weeks
@@ -58,6 +48,9 @@ stages:
5848

5949
# This is where jobs are included
6050
include:
61-
- local: .gitlab/build_quartz.yml
51+
- local: .gitlab/build_ruby.yml
6252
- local: .gitlab/build_lassen.yml
6353
- local: .gitlab/build_tioga.yml
54+
# ID token requirement for Gitlab 17.0+
55+
- project: 'lc-templates/id_tokens'
56+
file: 'id_tokens.yml'

.gitlab/build_lassen.yml

+5-30
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
####
77
# This is the share configuration of jobs for lassen
88
.on_lassen:
9+
variables:
10+
SCHEDULER_PARAMETERS: "-nnodes 1 -W ${ALLOC_TIME} -q pci -alloc_flags atsdisable"
911
tags:
10-
- shell
12+
- batch
1113
- lassen
1214
rules:
1315
- if: '$CI_COMMIT_BRANCH =~ /_lnone/ || $ON_LASSEN == "OFF"' #run except if ...
@@ -20,16 +22,14 @@
2022
####
2123
# Template
2224
.src_build_on_lassen:
23-
stage: build
2425
variables:
25-
ALLOC_COMMAND: "lalloc 1 -W 25 -q pci -alloc_flags atsdisable"
26+
ALLOC_TIME: "25"
2627
extends: [.src_build_script, .on_lassen, .src_workflow]
2728
needs: []
2829

2930
.full_build_on_lassen:
30-
stage: build
3131
variables:
32-
ALLOC_COMMAND: "lalloc 1 -W 45 -q pci -alloc_flags atsdisable"
32+
ALLOC_TIME: "45"
3333
extends: [.full_build_script, .on_lassen, .full_workflow]
3434
needs: []
3535

@@ -59,18 +59,6 @@ lassen-gcc_8_3_1_cuda-src:
5959
HOST_CONFIG: "lassen-blueos_3_ppc64le_ib_p9-${COMPILER}.cmake"
6060
extends: [.src_build_on_lassen]
6161

62-
lassen-xl_16_1_1-src:
63-
variables:
64-
COMPILER: "[email protected]"
65-
HOST_CONFIG: "lassen-blueos_3_ppc64le_ib_p9-${COMPILER}.cmake"
66-
extends: [.src_build_on_lassen]
67-
68-
lassen-xl_16_1_1_cuda-src:
69-
variables:
70-
COMPILER: "[email protected]_cuda"
71-
HOST_CONFIG: "lassen-blueos_3_ppc64le_ib_p9-${COMPILER}.cmake"
72-
extends: [.src_build_on_lassen]
73-
7462
####
7563
# Full Build jobs
7664
lassen-clang_10_0_1-full:
@@ -98,16 +86,3 @@ lassen-gcc_8_3_1_cuda-full:
9886
SPEC: "%${COMPILER}~mfem+cuda"
9987
EXTRA_SPEC: "cuda_arch=70"
10088
extends: [.full_build_on_lassen]
101-
102-
lassen-xl_16_1_1-full:
103-
variables:
104-
COMPILER: "[email protected]"
105-
SPEC: "%${COMPILER}+mfem~openmp~cpp14"
106-
extends: [.full_build_on_lassen]
107-
108-
lassen-xl_16_1_1_cuda-full:
109-
variables:
110-
COMPILER: "[email protected]"
111-
SPEC: "%${COMPILER}+mfem+cuda~openmp~cpp14"
112-
EXTRA_SPEC: "cuda_arch=70"
113-
extends: [.full_build_on_lassen]

0 commit comments

Comments
 (0)