Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
cc50945
update free space action
gardner48 May 12, 2026
47a85e7
remove old ci container workflows
gardner48 May 12, 2026
79a0b94
remove old docker scripts
gardner48 May 13, 2026
af1f55d
add new CI container scripts
gardner48 May 13, 2026
3e35101
build container on push
gardner48 May 13, 2026
56cbe2e
update docker script path
gardner48 May 13, 2026
0169cf5
remove v prefix from SPACK_RELEASE
gardner48 May 13, 2026
b768e69
install venv
gardner48 May 13, 2026
e2b4ceb
fix typo in spec
gardner48 May 13, 2026
1e14a9b
remove deprecated packages:all:compiler
gardner48 May 13, 2026
43052bc
update buildcache commands
gardner48 May 13, 2026
f16b285
use when_possible for int64-single/double
gardner48 May 13, 2026
c30bcaf
use develop build cache
gardner48 May 13, 2026
280bc04
prevent failure when updating buildcache
gardner48 May 13, 2026
fdf16ea
prevent picking up inconsistent builds from binary cache
gardner48 May 13, 2026
e09a968
remove extra white space
gardner48 May 13, 2026
bdab9ad
add adiak and caliper
gardner48 May 13, 2026
31b153e
disable trilinos in int64-single build
gardner48 May 13, 2026
d82abe5
update spack-packages in develop build
gardner48 May 13, 2026
8cf5362
remove cache-from/to
gardner48 May 13, 2026
574b486
add concurrency to develop build
gardner48 May 13, 2026
d7ed2ea
ensure suite-sparse and superlu-dist use the same metis
gardner48 May 13, 2026
0b58bab
remove build on push
gardner48 May 13, 2026
bf67d28
change cron to saturday
gardner48 May 13, 2026
5ca2319
update container tag in workflows
gardner48 May 13, 2026
2d2dc7e
update answer submodule
gardner48 May 13, 2026
648ca8d
specify BLAS_LIBRARIES
gardner48 May 13, 2026
cb1ef6d
unset BLAS_LIBRARIES when off
gardner48 May 13, 2026
739aa1d
fix colliding artifact names
gardner48 May 13, 2026
e0b7b7f
do not overwrite BLAS_LIBRARIES
gardner48 May 13, 2026
2415fda
update answers submodule
gardner48 May 14, 2026
0c8d818
revert answer submodule updates
gardner48 May 14, 2026
e3272a8
Merge branch 'develop' into ci/update-containers
gardner48 May 26, 2026
2b54545
update docker action version
gardner48 May 26, 2026
a4e88d9
Merge branch 'develop' into ci/update-containers
gardner48 May 26, 2026
c526b85
Merge branch 'develop' into ci/update-containers
gardner48 Jun 2, 2026
b3d6f04
Merge branch 'develop' into ci/update-containers
gardner48 Jun 27, 2026
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
83 changes: 62 additions & 21 deletions .github/actions/free-space-ubuntu/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,69 @@ description: Frees up disk space on GitHub Actions Ubuntu VMs
runs:
using: composite
steps:
- id: show-space
run: df -h
- id: disk-before
run: |
echo "=== Disk space before cleanup ==="
df -h /
echo "DISK_BEFORE=$(df / --output=avail | tail -1 | tr -d ' ')" >> "$GITHUB_ENV"
shell: bash

- id: free-up
run: |
sudo rm -rf /usr/local/lib/android || true
sudo rm -rf /usr/share/dotnet || true
sudo rm -rf /opt/ghc || true
sudo rm -rf /usr/local/.ghcup || true
sudo apt-get remove -y '^aspnetcore-.*' || echo "::warning::The command [sudo apt-get remove -y '^aspnetcore-.*'] failed to complete successfully. Proceeding..."
sudo apt-get remove -y '^dotnet-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^dotnet-.*' --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y '^llvm-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^llvm-.*' --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y 'php.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y 'php.*' --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y '^mongodb-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mongodb-.*' --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y '^mysql-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mysql-.*' --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri --fix-missing || echo "::warning::The command [sudo apt-get remove -y azure-cli google-chrome-stable firefox powershell mono-devel libgl1-mesa-dri --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y google-cloud-sdk --fix-missing || echo "::debug::The command [sudo apt-get remove -y google-cloud-sdk --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get remove -y google-cloud-cli --fix-missing || echo "::debug::The command [sudo apt-get remove -y google-cloud-cli --fix-missing] failed to complete successfully. Proceeding..."
sudo apt-get autoremove -y || echo "::warning::The command [sudo apt-get autoremove -y] failed to complete successfully. Proceeding..."
sudo apt-get clean || echo "::warning::The command [sudo apt-get clean] failed to complete successfully. Proceeding..."
sudo docker image prune --all --force || true
# Remove large directories in parallel using rm -rf directly
# (much faster than apt-get remove, which runs scripts and resolves deps)

# Android SDK
sudo rm -rf /usr/local/lib/android &
# .NET SDK and runtimes
sudo rm -rf /usr/share/dotnet &
# GHC / Haskell
sudo rm -rf /opt/ghc &
sudo rm -rf /usr/local/.ghcup &
# Swift
sudo rm -rf /usr/share/swift &
# GraalVM
sudo rm -rf /usr/local/graalvm &
# Boost
sudo rm -rf /usr/local/share/boost &
# PowerShell
sudo rm -rf /usr/local/share/powershell &
# Chromium
sudo rm -rf /usr/local/share/chromium &
# Miniconda
sudo rm -rf /usr/share/miniconda &
# Heroku
sudo rm -rf /usr/local/lib/heroku &
# Hosted tool cache - Python, Node, Go, CodeQL, etc.
# NOTE: remove this if we later need actions/setup-*
sudo rm -rf /opt/hostedtoolcache &
# LLVM
sudo rm -rf /usr/lib/llvm-* &
# Google Cloud CLI
sudo rm -rf /usr/lib/google-cloud-sdk &
# Microsoft packages (azure-cli, powershell, etc.)
sudo rm -rf /opt/microsoft &
# MySQL / MongoDB data
sudo rm -rf /var/lib/mysql &
sudo rm -rf /var/lib/mongodb &
# Docker images
sudo docker image prune --all --force &

# Wait for removals to finish
wait

# Final apt cleanup for any residual package metadata
sudo apt-get autoremove -y 2>/dev/null || true
sudo apt-get clean 2>/dev/null || true
shell: bash

- id: disk-after
run: |
echo "=== Disk space after cleanup ==="
df -h /
DISK_AFTER=$(df / --output=avail | tail -1 | tr -d ' ')
FREED_KB=$(( DISK_AFTER - DISK_BEFORE ))
FREED_GB=$(( FREED_KB / 1024 / 1024 ))
FREED_MB=$(( FREED_KB / 1024 ))
echo "::notice::Freed approximately ${FREED_GB} GB (${FREED_MB} MB) of disk space"
shell: bash
- id: show-space-again
run: df -h
shell: bash
68 changes: 0 additions & 68 deletions .github/workflows/build-ci-containers-e4s.yml

This file was deleted.

40 changes: 0 additions & 40 deletions .github/workflows/build-ci-containers-nightly.yml

This file was deleted.

56 changes: 56 additions & 0 deletions .github/workflows/build-ci-containers-spack-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: CI Containers - spack@develop

on:
workflow_dispatch:
schedule:
- cron: '30 23 * * 6'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

permissions:
packages: write

env:
REGISTRY: ghcr.io

jobs:
build_ci_containers:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
indexsize: [32, 64]
precision: ['double']
steps:
- name: VM Hardware Info
run: cat /proc/cpuinfo

- name: Checkout
uses: actions/checkout@v6

- name: Free up disk space
uses: ./.github/actions/free-space-ubuntu

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

- name: Login to container registry
uses: docker/login-action@v4
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker images
uses: docker/build-push-action@v7.2.0
with:
context: "./scripts/docker"
build-args: |
SPACK_BASE_IMAGE=spack/ubuntu-noble:develop
UPDATE_SPACK_PACKAGES=true
spack_yaml=int${{ matrix.indexsize }}-${{ matrix.precision }}/spack.yaml
push: true
tags: >-
${{ env.REGISTRY }}/llnl/sundials-ci-int${{ matrix.indexsize }}-${{ matrix.precision }}:spack-develop
54 changes: 54 additions & 0 deletions .github/workflows/build-ci-containers-spack-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: CI Containers - spack@release

on:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true

permissions:
packages: write

env:
SPACK_RELEASE: 1.1.1
REGISTRY: ghcr.io

jobs:
build_ci_containers:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
indexsize: [32, 64]
precision: ['single', 'double', 'extended']
steps:
- name: VM Hardware Info
run: cat /proc/cpuinfo

- name: Checkout
uses: actions/checkout@v6

- name: Free up disk space
uses: ./.github/actions/free-space-ubuntu

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

- name: Login to container registry
uses: docker/login-action@v4
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker images
uses: docker/build-push-action@v7.2.0
with:
context: "./scripts/docker"
build-args: |
SPACK_BASE_IMAGE=spack/ubuntu-noble:${{ env.SPACK_RELEASE }}
spack_yaml=int${{ matrix.indexsize }}-${{ matrix.precision }}/spack.yaml
push: true
tags: >-
${{ env.REGISTRY }}/llnl/sundials-ci-int${{ matrix.indexsize }}-${{ matrix.precision }}:spack-v${{ env.SPACK_RELEASE }}
6 changes: 3 additions & 3 deletions .github/workflows/test-address-sanitizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
sanitizer_build_and_test:
runs-on: ubuntu-latest
container:
image: ghcr.io/llnl/sundials-ci-int${{ matrix.indexsize }}-${{ matrix.precision }}:latest
image: ghcr.io/llnl/sundials-ci-int${{ matrix.indexsize }}-${{ matrix.precision }}:spack-v1.1.1
options: --user root
strategy:
fail-fast: false
Expand Down Expand Up @@ -48,14 +48,14 @@ jobs:
uses: actions/upload-artifact@v7
if: failure()
with:
name: build_files_${{ matrix.indexsize }}_${{ matrix.precision }}_${{ matrix.buildtype }}_${{ matrix.tpls }}
name: build_files_address_sanitizer_${{ matrix.indexsize }}_${{ matrix.precision }}_${{ matrix.buildtype }}_${{ matrix.tpls }}
path: |
${{ github.workspace }}/test/build_*
!${{ github.workspace }}/test/build_*/Testing/output
- name: Archive output files from failed build
uses: actions/upload-artifact@v7
if: failure()
with:
name: output_files_${{ matrix.indexsize }}_${{ matrix.precision }}_${{ matrix.buildtype }}_${{ matrix.tpls }}
name: output_files_address_sanitizer_${{ matrix.indexsize }}_${{ matrix.precision }}_${{ matrix.buildtype }}_${{ matrix.tpls }}
path: |
${{ github.workspace }}/test/build_*/Testing/
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
build_and_test:
runs-on: ubuntu-latest
container:
image: ghcr.io/llnl/sundials-ci-int${{ matrix.indexsize }}-${{ matrix.precision }}:latest
image: ghcr.io/llnl/sundials-ci-int${{ matrix.indexsize }}-${{ matrix.precision }}:spack-v1.1.1
options: --user root
strategy:
fail-fast: false
Expand Down
14 changes: 0 additions & 14 deletions docker/sundials-ci/build-all-containers.sh

This file was deleted.

Loading
Loading