Skip to content

Build container with JEDI libraries weekly#2123

Open
CoryMartin-NOAA wants to merge 11 commits into
developfrom
feature/build-container
Open

Build container with JEDI libraries weekly#2123
CoryMartin-NOAA wants to merge 11 commits into
developfrom
feature/build-container

Conversation

@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor

Description

Add a GitHub action to build a container with key JEDI libraries already compiled/installed

Companion PRs

None

Issues

None

Automated CI tests to run in Global Workflow

  • atm_jjob
  • C96C48_ufs_hybatmDA
  • C96C48_hybatmsnowDA
  • C96_gcafs_cycled
  • C48mx500_3DVarAOWCDA
  • C48mx500_hybAOWCDA
  • C96C48_ufsgsi_hybatmDA
  • C48_ufsenkf_atmDA
  • C96C48_hybatmDA

Copy link
Copy Markdown
Contributor

@RussTreadon-NOAA RussTreadon-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know much about containers, but this looks neat. Two simple questions:

  1. where will the container be stored / pushed?
  2. on which machines / how will developers use the container?

Do we want to temporarily change the cron date to 19Z today (cron: '0 19 * * 4) to ensure that the changes automatically and correctly run as intended?

Approve.

@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor Author

CoryMartin-NOAA commented Apr 16, 2026

@RussTreadon-NOAA I've temporarily made it run on push so that I can debug
For 2) we can run containers on HPC (Mark Potts had a presentation from a year ago or so), but the bigger thing will be taking advantage of GitHub actions and codespaces further. We can test building GDASApp on Github more quickly if the core JEDI libraries are already compiled separately.

  1. GitHub apparently stores them!

@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor Author

@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor Author

@weihuang-jedi
Copy link
Copy Markdown
Collaborator

I see there are discussions about use container here, and Cory shared Mark Potts's way, or we call it externalizing container to compile and run GDASApp (or Global-Workflow, in general).
Based on chats with Jacob and Rahul (Mark included), Jacob and Rahul are more interested in a way I am working on, which we can it shell-in. Here is a document about this approach:
https://docs.google.com/presentation/d/1gLlUuxxitqLi4oI0OJ1rl4Ik1qJMuZI9/edit?slide=id.p1#slide=id.p1
If you any here is interested on such topic, I'd be glad to work with.
Thank you,
Wei

@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor Author

Thanks @weihuang-jedi for the additional information!

@weihuang-jedi
Copy link
Copy Markdown
Collaborator

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds automation to build and publish a weekly JEDI container image and introduces CMake options to split core JEDI library builds from GDAS application builds.

Changes:

  • Adds a GitHub Actions workflow to build JEDI libraries inside a JCSDA base container and push tagged images to GHCR.
  • Adds BUILD_JEDI and BUILD_GDAS CMake options to control which bundle components are built.
  • Moves several bundle components behind the new build-option gates.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
.github/workflows/build-jedi-container.yaml Adds the scheduled/manual container build and GHCR publish workflow.
bundle/CMakeLists.txt Adds build split options and gates JEDI/GDAS bundle components accordingly.

Comment thread bundle/CMakeLists.txt Outdated
Comment thread bundle/CMakeLists.txt
Comment on lines +92 to +94
# Gibbs seawater (optional dependency for vader)
if (BUILD_SOCA)
ecbuild_bundle( PROJECT gsw SOURCE "../sorc/gsw" )
Comment on lines +79 to +83
bash -c "
source /opt/spack-environment/activate.sh
export jedi_cmake_ROOT=/opt/view
mkdir -p /build && cd /build
ecbuild \
Copy link
Copy Markdown
Collaborator

@DavidNew-NOAA DavidNew-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No objections

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants