Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f65cd44
Updates dockerfile to use quay base image and stop using latest tag
jasonb5 Oct 31, 2025
879ace8
Removes ubuntu user, adds cime user, updates entrypoint
jasonb5 Oct 31, 2025
8e8f8e5
Updates contributing docs
jasonb5 Nov 1, 2025
58b3b34
Adds missing quote
jasonb5 Nov 3, 2025
de23277
Moves from vim from conda to host
jasonb5 Nov 3, 2025
f7ee876
Adds new spack build
jasonb5 Nov 25, 2025
2e62d03
Fixes build job
jasonb5 Nov 25, 2025
573dda0
Fixes builder job
jasonb5 Nov 25, 2025
22eee71
Adds action to free diskspace for build
jasonb5 Nov 25, 2025
b8c3958
Updates job to run tests
jasonb5 Nov 25, 2025
d9a7ff0
Fixes astral action version
jasonb5 Nov 25, 2025
a1dbae5
Fixes using uv to install requirements
jasonb5 Nov 25, 2025
b92322b
Fixes missing venv
jasonb5 Nov 25, 2025
f69fbcf
Fixes pre-commit errors
jasonb5 Nov 25, 2025
8b706af
Adds missing test requirements
jasonb5 Nov 25, 2025
76e9ca1
Adds libxml2 utils for xmllint
jasonb5 Nov 25, 2025
07cadc0
Fixes creating required directories
jasonb5 Nov 25, 2025
ebf35e6
Fixes skiping setup and command
jasonb5 Nov 25, 2025
f499b6d
Updates dockerifle
jasonb5 Nov 25, 2025
75579a2
Fixes setup for testing
jasonb5 Nov 25, 2025
03712e1
Fixes copying .cime to runner home directory
jasonb5 Nov 26, 2025
3dd3de6
Fixes copying .cime to home directory
jasonb5 Nov 26, 2025
77a5a95
Adds debug statement
jasonb5 Nov 26, 2025
af5ac9a
Fixes using proper return when sourcing entrypoint
jasonb5 Nov 26, 2025
57421a5
Fixes setting exit code when entrypoint does not create a new shell
jasonb5 Nov 26, 2025
3bd12ff
Fixes copying to github actions runner home
jasonb5 Nov 27, 2025
3994a49
Updates dockerfile
jasonb5 Dec 2, 2025
bb98f0d
Fixes loading spack environment in CI
jasonb5 Dec 2, 2025
520e909
Fixes ordering of activations
jasonb5 Dec 2, 2025
6fe0104
Adds esmf dependency
jasonb5 Dec 8, 2025
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
67 changes: 36 additions & 31 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,16 @@ jobs:
permissions:
packages: write
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-package: true
docker-images: true
swap-storage: true
- name: Checkout code
uses: actions/checkout@v4
- name: Set up QEMU
Expand All @@ -62,8 +72,8 @@ jobs:
- name: Build and push
uses: docker/build-push-action@v6
with:
target: base
context: docker/
file: docker/base/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
Expand Down Expand Up @@ -123,6 +133,10 @@ jobs:
with:
path: cesm/cime
submodules: "true"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
- name: Run tests
shell: bash
working-directory: cesm/cime
Expand All @@ -132,16 +146,13 @@ jobs:
CIME_TEST_PLATFORM: "ubuntu-latest"
SKIP_ENTRYPOINT: "true"
run: |
source /opt/conda/etc/profile.d/conda.sh

conda activate cesm

mamba install -y 'python=${{ matrix.python-version }}'

pip install -r test-requirements.txt
uv venv
source .venv/bin/activate
uv pip install -r test-requirements.txt

# GitHub runner home is different than container
cp -rf /home/cime/.cime /github/home/
set -x
unset SKIP_SETUP
USER_ID=`id -u` GROUP_ID=`id -g` SKIP_COMMAND="true" source /entrypoint.sh

pytest -vvv --cov=CIME --cov-branch --cov-report=xml --machine docker CIME/tests/test_unit*
- name: Upload coverage reports to Codecov
Expand Down Expand Up @@ -214,39 +225,33 @@ jobs:
with:
path: /home/cime/inputdata
key: inputdata-2
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: 3.12
- name: Run tests
shell: bash
working-directory: ${{ matrix.model.name }}/cime
env:
CIME_MODEL: ${{ matrix.model.name }}
CIME_DRIVER: ${{ matrix.driver }}
CIME_TEST_PLATFORM: ubuntu-latest
SKIP_ENTRYPOINT: "true"
SKIP_SETUP: "true"
run: |
source /opt/conda/etc/profile.d/conda.sh

conda activate ${{ matrix.model.name }}

pip install -r test-requirements.txt

source /entrypoint.sh

if [[ "${{ matrix.model.name }}" == "e3sm" ]]; then
fix_mct_makefiles ../externals/mct
fi

# GitHub runner home is different than container
cp -rf /home/cime/.cime /github/home/

if [[ "${CIME_MODEL}" == "e3sm" ]]; then
ln -sf /github/home/.cime/config_machines.v2.xml /github/home/.cime/config_machines.xml
else
ln -sf /github/home/.cime/config_machines.v3.xml /github/home/.cime/config_machines.xml
fi
set -x
unset SKIP_SETUP
USER_ID=`id -u` GROUP_ID=`id -g` SKIP_COMMAND="true" source /entrypoint.sh

# Required for testing that uses case git feature
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"

source /opt/spack-environment/activate.sh

uv venv
source .venv/bin/activate
uv pip install -r test-requirements.txt

pytest -vvv --cov=CIME --cov-branch --cov-report=xml --machine docker --no-fortran-run --no-teardown CIME/tests/test_sys*
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ _build/
dist/
.coverage

# Ignore env directories
.venv
.env
.spack-env

# Ignore emacs backup files
*~

Expand Down
Loading
Loading