Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
374026b
Update machines for mache.depoly
xylar Dec 31, 2025
1430b71
Add missing dependency
xylar Dec 31, 2025
f79708b
Switch deployment to mache.deploy
xylar Dec 31, 2025
06c336c
Install polaris in developer mode by default
xylar Jan 26, 2026
fecae96
Switch to pixi list in provenance
xylar Jan 26, 2026
06706fa
Remove or fix various conda references
xylar Jan 26, 2026
224bf3f
Add caches to git ignore
xylar Jan 26, 2026
903432b
Fix LOAD_POLARIS_ENV --> POLARIS_LOAD_SCRIPT
xylar Jan 26, 2026
9144538
Add environment variables as a snippet shell script
xylar Jan 26, 2026
a6e5226
Look for compiler's default using compiler with underscore
xylar Mar 6, 2026
a38ff6e
Update deploy.py and cli_spec.json
xylar Mar 17, 2026
f4241fb
Update to mache 3.0.0
xylar Mar 18, 2026
08bffae
Update comments in config files for new approach
xylar Mar 18, 2026
c47c1b6
Update the docs to match new deploy approach
xylar Mar 18, 2026
c4f56e3
Move to mache.parallel in Polaris framework
xylar Feb 25, 2026
745cc67
Constrain resources with cells per GPU in ocean framework
xylar Feb 25, 2026
134268e
Update e3sm-init tasks steps to use mache.parallel
xylar Feb 25, 2026
a85b4b6
Remove parallel sections from Polaris machine configs
xylar Feb 25, 2026
7020e25
Update the docs
xylar Feb 25, 2026
9b1fce6
Add resolution for node counts that aren't allowed
xylar Mar 14, 2026
5a535cf
Remove filesystems config on Aurora
xylar Mar 14, 2026
7297211
Fix how wall_time is handled in job scripts
xylar Mar 16, 2026
2e0a6d7
Update CI
xylar Mar 18, 2026
deef358
Add GPU compiler to Aurora config
xylar Feb 9, 2026
8f28ab6
Update the docs with correct load script names
xylar Mar 19, 2026
ca52922
Update to mache 3.0.1
xylar Mar 19, 2026
f712684
Update to mache 3.0.2
xylar Mar 20, 2026
e12c046
Remove functions from API docs that were removed
xylar Mar 20, 2026
6501363
Fix support for deployment without spack
xylar Mar 20, 2026
0f40f45
Merge branch 'move-parallel-to-mache'
xylar Mar 20, 2026
feae065
Update to mache 3.0.3
xylar Mar 20, 2026
2defb90
Fix mache spec
xylar Mar 20, 2026
9c92dbd
Update to mache v3.0.4
xylar Mar 21, 2026
f946d25
Merge branch 'add-mache-deploy'
xylar Mar 21, 2026
0f90e48
Update to 1.0.0-alpha.1
xylar Mar 6, 2026
dd8a7b2
Update pins for dependencies
xylar Mar 6, 2026
d56afdd
Add oneapi-ifx support for chrysalis
xylar Mar 6, 2026
5736bcb
Make sure auto-build raises an error on build failures
xylar Mar 16, 2026
c69d7e3
Update Omega submodule to bring in E3SM/master
xylar Mar 18, 2026
7284d86
Lower rotation_2d convergence_thresh_tracer3_order2 to 0.25
xylar Mar 18, 2026
87fea22
Update to parallelio 2.6.9
xylar Mar 20, 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
72 changes: 26 additions & 46 deletions .github/workflows/build_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
extra_args: --files ${{ steps.file_changes.outputs.files}}

build:
name: test polaris - py ${{ matrix.python-version }}${{ matrix.env_only && ' (env_only)' || '' }}
name: test polaris - py ${{ matrix.python-version }}
runs-on: ubuntu-latest
timeout-minutes: 20
defaults:
Expand All @@ -60,10 +60,6 @@ jobs:
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
env_only: [false]
include:
- python-version: "3.14"
env_only: true
fail-fast: false
steps:
- id: skip_check
Expand All @@ -76,47 +72,37 @@ jobs:
uses: actions/checkout@v6

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Cache Conda
uses: actions/cache@v5
env:
# Increase this value to reset cache if conda-dev-spec.template has not changed in the workflow
CACHE_NUMBER: 0
name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
path: ~/conda_pkgs_dir_py${{ matrix.python-version }}${{ matrix.env_only && '_envonly' || '' }}
key: ${{ runner.os }}-${{ matrix.python-version }}${{ matrix.env_only && '-envonly' || '' }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('configure_polaris_envs.py,deploy/*') }}
python-version: ${{ matrix.python-version }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Set up Conda Environment
uses: mamba-org/setup-micromamba@v2
name: Cache pixi packages
uses: actions/cache@v5
env:
# Increase this value to reset cache if deploy inputs have not changed in the workflow
CACHE_NUMBER: 0
with:
environment-name: polaris_test
init-shell: bash
condarc: |
channel_priority: strict
channels:
- conda-forge
- e3sm/label/polaris
create-args: >-
python=${{ matrix.python-version }}
path: |
~/.cache/rattler/cache
~/.pixi/bin
key: ${{ runner.os }}-${{ matrix.python-version }}-pixi-${{ env.CACHE_NUMBER }}-${{ hashFiles('deploy.py', 'deploy/**', 'pyproject.toml') }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Install polaris
run: |
git config --global url."https://github.com/".insteadOf "git@github.com:"
if [ "${{ matrix.env_only }}" = "true" ]; then
./configure_polaris_envs.py \
--conda_env_only \
--env_name polaris_test \
--verbose \
--python=${{ matrix.python-version }}
source load_polaris_test.sh
else
./configure_polaris_envs.py \
--env_name polaris_test \
--verbose \
--python=${{ matrix.python-version }}
source load_polaris_test_mpich.sh
./deploy.py \
--no-spack \
--python ${{ matrix.python-version }} \
--recreate
load_script=$(find . -maxdepth 1 -type f -name 'load_polaris*.sh' | sort | tail -n 1)
if [ -z "$load_script" ]; then
echo "ERROR: no generated Polaris load script found" >&2
exit 1
fi
source "$load_script"
python -c "import polaris; import polaris.version; print(polaris.version.__version__)"
polaris --help
polaris list --help
Expand All @@ -125,21 +111,15 @@ jobs:
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Run unit tests
run: |
if [ "${{ matrix.env_only }}" = "true" ]; then
source load_polaris_test.sh
else
source load_polaris_test_mpich.sh
fi
load_script=$(find . -maxdepth 1 -type f -name 'load_polaris*.sh' | sort | tail -n 1)
source "$load_script"
pytest tests/

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Build Sphinx Docs
run: |
if [ "${{ matrix.env_only }}" = "true" ]; then
source load_polaris_test.sh
else
source load_polaris_test_mpich.sh
fi
load_script=$(find . -maxdepth 1 -type f -name 'load_polaris*.sh' | sort | tail -n 1)
source "$load_script"
DOCS_VERSION=test
cd docs
DOCS_VERSION=$DOCS_VERSION make versioned-html-strict
55 changes: 26 additions & 29 deletions .github/workflows/docs_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,49 +25,46 @@ jobs:
persist-credentials: false
fetch-depth: 0

- name: Cache Conda
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Cache pixi packages
uses: actions/cache@v5
env:
# Increase this value to reset cache if deploy/conda-dev-spec.template has not changed in the workflow
# Increase this value to reset cache if deploy inputs have not changed in the workflow
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('configure_polaris_envs.py,deploy/*') }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Set up Conda Environment
uses: mamba-org/setup-micromamba@v2
with:
environment-name: polaris_test
init-shell: bash
condarc: |
channel_priority: strict
channels:
- conda-forge
- e3sm/label/polaris
create-args: >-
python=${{ env.PYTHON_VERSION }}
path: |
~/.cache/rattler/cache
~/.pixi/bin
key: ${{ runner.os }}-${{ env.PYTHON_VERSION }}-pixi-${{ env.CACHE_NUMBER }}-${{ hashFiles('deploy.py', 'deploy/**', 'pyproject.toml') }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Install polaris
- name: Install polaris
run: |
git config --global url."https://github.com/".insteadOf "git@github.com:"
./configure_polaris_envs.py \
--conda_env_only \
--env_name polaris_test \
--verbose \
--python=${{ env.PYTHON_VERSION }}
source load_polaris_test.sh
./deploy.py \
--no-spack \
--python ${{ env.PYTHON_VERSION }} \
--recreate
load_script=$(find . -maxdepth 1 -type f -name 'load_polaris*.sh' | sort | tail -n 1)
if [ -z "$load_script" ]; then
echo "ERROR: no generated Polaris load script found" >&2
exit 1
fi
source "$load_script"

- name: Build Sphinx Docs
run: |
source load_polaris_test.sh
load_script=$(find . -maxdepth 1 -type f -name 'load_polaris*.sh' | sort | tail -n 1)
source "$load_script"
cd docs
DOCS_VERSION=${{ github.ref_name }} make versioned-html
- name: Copy Docs and Commit
run: |
source load_polaris_test.sh
load_script=$(find . -maxdepth 1 -type f -name 'load_polaris*.sh' | sort | tail -n 1)
source "$load_script"
cd docs
# gh-pages branch must already exist
git clone https://github.com/E3SM-Project/polaris.git --branch gh-pages --single-branch gh-pages
Expand Down
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,20 @@ docs/_build/
# build directories
/build_mpas_ocean/
/build_omega/

# pixi
.pixi/
pixi.lock
pixi-env/

# vs code
.vscode/

# mypy
.mypy_cache/

# ruff
.ruff_cache/

# mache
.mache_cache/
162 changes: 0 additions & 162 deletions configure_polaris_envs.py

This file was deleted.

Loading
Loading