Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions .github/workflows/next-build-packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "Next: Build packages"

on:
workflow_run:
workflows: ["Next: Precheck"]
types: [completed]
workflow_dispatch:

jobs:
build_moose_mpi:
name: "Build: moose-mpi"
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Get changed packages
uses: actions/download-artifact@v7
with:
name: workflow-vars
95 changes: 95 additions & 0 deletions .github/workflows/next-precheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: "Next: Precheck"

on:
pull_request:
branches: [next]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
precheck:
name: Precheck
runs-on: ubuntu-slim
steps:
- name: Checkout
uses: actions/checkout@v6
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: Get changed packages
shell: bash
run: |
pip install --no-cache pyyaml jinja2

changed_summary="$(./scripts/versioner.py --changed-summary ${{ github.event.pull_request.base.sha }})" || exit $?

echo "$changed_summary" | jq -r 'to_entries[] | "\(.key)\t\(.value // "")"' |
while IFS=$'\t' read -r key value; do
echo "new_version_${key//-/_}=${value}" >> changed-packages.env
done
cat changed-packages.env
- name: Store changed packages
uses: actions/upload-artifact@v7
with:
name: changed-packages
path: changed-packages.env

# build_moose_mpi:
# name: "Build: moose-mpi"
# needs: precheck
# if: ${{ needs.precheck.outputs.new_version_mpi != '' }}
# environment: ${{ (needs.precheck.outputs.new_version_mpi != '' && 'build-pr-containers') || '' }}
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v6
# with:
# repository: ${{ github.event.pull_request.head.repo.full_name }}
# ref: ${{ github.event.pull_request.head.ref }}
# - name: Build moose-mpi
# uses: docker/build-push-action@v7
# with:
# context: ./docker/moose-mpi

# build_moose_dev_openmpi:
# name: "Build: moose-dev-openmpi"
# needs:
# - precheck
# - build_moose_mpi
# if: |
# always() &&
# (needs.build_moose_mpi.result == 'success' || needs.build_moose_mpi.result == 'skipped') &&
# (needs.precheck.outputs.new_version_petsc != '' || needs.precheck.outputs.new_version_libmesh != '' || needs.precheck.outputs.new_version_moose_dev != '')
# environment: ${{ ((needs.precheck.outputs.new_version_petsc != '' || needs.precheck.outputs.new_version_libmesh != '' || needs.precheck.outputs.new_version_moose_dev != '') && 'build-pr-containers') || '' }}
# runs-on: ubuntu-slim
# steps:
# - name: Build moose-petsc-openmpi
# if: ${{ needs.precheck.outputs.new_version_petsc != '' }}
# run: |
# echo "building"
# - name: Build moose-libmesh-openmpi
# if: ${{ needs.precheck.outputs.new_version_libmesh != '' }}
# run: |
# echo "building"
# - name: Build moose-dev-openmpi
# if: ${{ needs.precheck.outputs.new_version_moose_dev != '' }}
# run: |
# echo "building"

# test:
# name: "Test"
# needs:
# - precheck
# - build_moose_dev_openmpi
# if: |
# always() &&
# (needs.build_moose_dev_openmpi.result == 'success' || needs.build_moose_dev_openmpi.result == 'skipped')
# runs-on: ubuntu-slim
# steps:
# - name: Test
# shell: bash
# run: |
# echo "testing"
2 changes: 1 addition & 1 deletion conda/build/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# As well as any directions pertaining to modifying those files.
# ALSO: Follow the directions in scripts/tests/versioner_hashes.yaml
{% set version = "2026.04.21" %}
{% set version = "2026.04.23" %}

package:
name: moose-build
Expand Down
8 changes: 4 additions & 4 deletions conda/libmesh/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# As well as any directions pertaining to modifying those files.
# ALSO: Follow the directions in scripts/tests/versioner_hashes.yaml
{% set build = 0 %}
{% set build = 1 %}
{% set version = "2026.04.13_0185b8b" %}

package:
Expand All @@ -30,7 +30,7 @@ build:
# things that depend on this moose-libmesh must use the
# exact moose-petsc and moose-libmesh-vtk that this was
# built with
- moose-petsc 3.24.6 {{ mpi }}_0
- moose-petsc 3.24.6 {{ mpi }}_1
- moose-libmesh-vtk 9.6.1 {{ mpi }}_0

requirements:
Expand All @@ -45,7 +45,7 @@ requirements:
- pkg-config
host:
- {{ mpi }} {{ mpi_version }}
- moose-petsc 3.24.6 {{ mpi }}_0
- moose-petsc 3.24.6 {{ mpi }}_1
- moose-libmesh-vtk 9.6.1 {{ mpi }}_0
- _openmp_mutex # [linux]
- hdf5 {{ hdf5 }}
Expand All @@ -58,7 +58,7 @@ requirements:
- llvm-openmp # [osx]
- zlib
run:
- moose-petsc 3.24.6 {{ mpi }}_0
- moose-petsc 3.24.6 {{ mpi }}_1
- moose-libmesh-vtk 9.6.1 {{ mpi }}_0

test:
Expand Down
14 changes: 7 additions & 7 deletions conda/moose-dev/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# REMEMBER TO UPDATE the .yaml files for the following packages:
# moose/conda_build_config.yaml
# As well as any directions pertaining to modifying those files.
{% set version = "2026.04.21" %}
{% set version = "2026.04.23" %}

package:
name: moose-dev
Expand All @@ -19,17 +19,17 @@ build:
run_exports:
# things that depend on this moose-dev must use the
# exact moose-* packages that this was built with
- moose-build 2026.04.21 {{ mpi }}
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_0
- moose-build 2026.04.23 {{ mpi }}
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_1
- moose-wasp 2025.09.19_02960f1 build_6
- moose-tools 2026.04.21
- moose-tools 2026.04.23

requirements:
run:
- moose-build 2026.04.21 {{ mpi }}
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_0
- moose-build 2026.04.23 {{ mpi }}
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_1
- moose-wasp 2025.09.19_02960f1 build_6
- moose-tools 2026.04.21
- moose-tools 2026.04.23
run_constrained:
- {{ moose_python_constrained }}

Expand Down
10 changes: 5 additions & 5 deletions conda/moose/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ requirements:
- {{ compiler('fortran') }}
- {{ stdlib('c') }}
# for libmesh libtool
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_0
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_1
# build utilities
- make
- packaging
- patchelf # [linux]
# python; for doc build + premake
- python 3.14.*
- moose-tools 2026.04.21
- moose-tools 2026.04.23
host:
- {{ mpi }} {{ mpi_version }}
- hdf5 {{ hdf5 }}
Expand All @@ -46,19 +46,19 @@ requirements:
- libfabric {{ libfabric }} # [linux]
{% endif %}
- libpng
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_0
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_1
- moose-wasp 2025.09.19_02960f1 build_6
- zlib
run:
- {{ mpi }} {{ mpi_version }}
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_0
- moose-libmesh 2026.04.13_0185b8b {{ mpi }}_1
- moose-wasp 2025.09.19_02960f1 build_6
# c++ compiler for jit
- gxx_linux-64 {{ cxx_compiler_version }}.* # [linux]
- clangxx_osx-64 {{ cxx_compiler_version }}.* # [osx and x86_64]
- clangxx_osx-arm64 {{ cxx_compiler_version }}.* # [osx and arm64]
# for testharness/python utilities
- moose-tools 2026.04.21
- moose-tools 2026.04.23
# for running app --copy-inputs
- rsync
run_constrained:
Expand Down
2 changes: 1 addition & 1 deletion conda/petsc/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#
# As well as any directions pertaining to modifying those files.
# ALSO: Follow the directions in scripts/tests/versioner_hashes.yaml
{% set build = 0 %}
{% set build = 1 %}
{% set version = "3.24.6" %}

package:
Expand Down
2 changes: 1 addition & 1 deletion conda/pyhit/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package:
name: moose-pyhit
version: 2026.04.21
version: 2026.04.23

source:
- path: ../../python/moosetree
Expand Down
2 changes: 1 addition & 1 deletion conda/tools/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# moose-dev/*
#
# As well as any directions pertaining to modifying those files.
{% set version = "2026.04.21" %}
{% set version = "2026.04.23" %}

package:
name: moose-tools
Expand Down
17 changes: 17 additions & 0 deletions docker/moose-mpi/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
ARG BASE_IMAGE=ghcr.io/idaholab/moose-mpibase/rocky:8.10-gcc13.3.1-mpich5.0.1-openmpi5.0.10_2026.04.12
FROM $BASE_IMAGE

# Remove apptainer if it's installed
RUN (dnf list installed apptainer &> /dev/null && dnf remove -y apptainer) || true

# Extra installs
RUN dnf install -y dnf-plugins-core \
&& dnf config-manager --set-enabled powertools \
&& dnf install -y redhat-lsb-core.x86_64 \
&& dnf install -y epel-release \
&& dnf install -y emacs make cmake diffutils bison flex perl-IO-Compress perl-JSON \
perl-JSON-PP libtirpc libtirpc-devel zlib-devel patch patchutils libpng \
libpng-devel valgrind cppunit doxygen fftw-devel gsl-devel libtool autoconf \
automake cppunit-devel glpk-devel patchelf lcov bash-completion \
&& dnf clean all

27 changes: 26 additions & 1 deletion scripts/versioner.py
Original file line number Diff line number Diff line change
Expand Up @@ -511,18 +511,38 @@ def output_summary(self) -> str:
}
return yaml.dump(output)

def changed_summary(self, base: str) -> str:
packages = self.get_packages("HEAD")
base_packages = self.get_packages(base)

changed_summary = {}
for name, package in packages.items():
base_package = base_packages.get(name)
if (
base_package is None
or base_package.hash != package.hash
or base_package.full_version != package.full_version
):
changed_summary[name] = package.full_version
else:
changed_summary[name] = None

return json.dumps(changed_summary)

def output_cli(self, args) -> str:
"""performs command line actions"""
args = self.parse_args(args, self.entities)
self.check_args(args)
if args.summary or args.verify or args.build_templates:
if args.summary or args.changed_summary or args.verify or args.build_templates:
if self.git_is_diff():
print(
"\033[91mWARNING\033[0m: You have changes not yet committed. Information"
" displayed may be inaccurate!\n"
)
if args.summary:
return self.output_summary()
if args.changed_summary:
return self.changed_summary(args.changed_summary)
if args.verify:
return self.verify_recipes(args)
if args.build_templates:
Expand Down Expand Up @@ -899,6 +919,11 @@ def parse_args(argv: list[str], entities: list[str]) -> argparse.Namespace:
default=False,
help="Output summary as should be entered in versioner_hashes.yaml",
)
parser.add_argument(
"--changed-summary",
type=str,
help="foo"
)
parser.add_argument(
"-v",
"--verify",
Expand Down
14 changes: 7 additions & 7 deletions scripts/versioner.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
packages:
# dependers: moose-dev
tools:
version: 2026.04.21
version: 2026.04.23
conda: conda/tools
templates:
conda/tools/meta.yaml.template: conda/tools/meta.yaml
Expand All @@ -16,7 +16,7 @@ packages:
- conda/tools
# dependers: moose-dev
build:
version: 2026.04.21
version: 2026.04.23
conda: conda/build
templates:
conda/build/meta.yaml.template: conda/build/meta.yaml
Expand All @@ -25,7 +25,7 @@ packages:
- conda/build
# dependers: moose-dev
mpi:
version: 2026.04.21
version: 2026.04.23
influential:
- apptainer/mpi.def
- apptainer/files/mpi
Expand All @@ -44,7 +44,7 @@ packages:
# dependers: libmesh, moose-dev
petsc:
version: 3.24.6
build_number: 0
build_number: 1
conda: conda/petsc
templates:
conda/petsc/meta.yaml.template: conda/petsc/meta.yaml
Expand All @@ -63,7 +63,7 @@ packages:
# dependers: moose-dev
libmesh:
version: 2026.04.13_0185b8b
build_number: 0
build_number: 1
conda: conda/libmesh
templates:
conda/libmesh/meta.yaml.template: conda/libmesh/meta.yaml
Expand Down Expand Up @@ -95,7 +95,7 @@ packages:
- scripts/update_and_rebuild_wasp.sh
# dependers: none
pyhit:
version: 2026.04.21
version: 2026.04.23
conda: conda/pyhit
dependencies:
- wasp
Expand All @@ -111,7 +111,7 @@ packages:
conda/pyhit/meta.yaml.template: conda/pyhit/meta.yaml
# dependers: none
moose-dev:
version: 2026.04.21
version: 2026.04.23
conda: conda/moose-dev
templates:
conda/moose-dev/meta.yaml.template: conda/moose-dev/meta.yaml
Expand Down