From a5818b2f167f0b099bf20a86e9a799338a35acb5 Mon Sep 17 00:00:00 2001 From: Tod Haren Date: Sun, 15 Mar 2026 07:39:47 +0000 Subject: [PATCH 1/6] Add PyFVS to the matrix build --- .github/workflows/container-image.yml | 3 ++- README.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index 9dc06d0..a13a9c8 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -16,6 +16,7 @@ jobs: strategy: matrix: python_version: ["3.12", "3.13"] + pyfvs_version: ["main","dev","v0.3.3","v0.3.4"] steps: - name: Checkout repository @@ -32,7 +33,7 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository }}-py${{ matrix.python_version }} + images: ghcr.io/${{ github.repository }}-py${{ matrix.python_version }}-pyfvs${{ matrix.pyfvs_version }} - name: Build and push Docker image uses: docker/build-push-action@v5 diff --git a/README.md b/README.md index 875f53d..d79da74 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,6 @@ Forest Modeling Container Image Combines multiple packages used for forest modeling # Packages Included -PyFVS (main)[https://github.com/forest-modeling/PyFVS] +PyFVS - (main)[https://github.com/forest-modeling/PyFVS],(v0.3.3)[https://github.com/forest-modeling/PyFVS/releases/tag/v0.3.3],(v0.3.4)[https://github.com/forest-modeling/PyFVS/releases/tag/v0.3.4],(dev)[https://github.com/forest-modeling/PyFVS/tree/dev] PyNVEL (main)[https://github.com/forest-modeling/PyNVEL] PySiteIndex (main)[https://github.com/forest-modeling/PySiteIndex] From e377bf9e2b1f967976a1ef210d828c48fdc76ab6 Mon Sep 17 00:00:00 2001 From: Tod Haren Date: Sun, 15 Mar 2026 07:48:57 +0000 Subject: [PATCH 2/6] Add PYFVS_VER to the containerfile --- .github/workflows/container-image.yml | 3 ++- formage.containerfile | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index a13a9c8..306febd 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -45,4 +45,5 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} build-args: | - PYTHON_VER=${{ matrix.python_version }} \ No newline at end of file + PYTHON_VER=${{ matrix.python_version }} + PYFVS_VER=${{ matrix.pyfvs_version }} \ No newline at end of file diff --git a/formage.containerfile b/formage.containerfile index 4fc4631..6289d24 100644 --- a/formage.containerfile +++ b/formage.containerfile @@ -1,17 +1,16 @@ # ---- Stage 1: Build ---- ARG OS_TAG=slim-bookworm ARG PYTHON_VER +ARG PYFVS_VER FROM python:${PYTHON_VER}-$OS_TAG AS builder -ARG PYFVS_VERSION=main ARG PYNVEL_VERSION=main ARG PYSITEINDEX_VERSION=main # FVS variant libraries to build, must be lowercase ARG FVS_VARIANTS=pn,wc,ca,so,op,oc,ec,nc,bm,ie,ci,ak,ws #,em,tt,cr,ut,ls,cs,sn,ne # ARG FVS_VARIANTS=pn,wc,ca,so -# ARG PYFVS_VERSION=v0.3.2 ARG ROOT=/formage @@ -43,7 +42,7 @@ RUN git clone https://github.com/forest-modeling/PyFVS.git --recurse-submodules WORKDIR "$ROOT/PyFVS" -RUN git checkout "${PYFVS_VERSION}" +RUN git checkout "${PYFVS_VER}" RUN python -m pip install . \ --verbose --no-build-isolation \ --config-settings=setup-args="-Dfvsvariants=$FVS_VARIANTS" From 039d17953c684a02aafb6df5d6f0d2031c3458ca Mon Sep 17 00:00:00 2001 From: Tod Haren Date: Sun, 15 Mar 2026 08:13:40 +0000 Subject: [PATCH 3/6] Change PyFVS version template --- .github/workflows/container-image.yml | 4 ++-- formage.containerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index 306febd..c3aa970 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -3,7 +3,7 @@ name: Formage Container Image CI on: push: branches: [ "main","dev" ] - tags: 'v.*.*' + tags: 'v*.*' jobs: @@ -16,7 +16,7 @@ jobs: strategy: matrix: python_version: ["3.12", "3.13"] - pyfvs_version: ["main","dev","v0.3.3","v0.3.4"] + pyfvs_version: ["main","dev","0.3.3","0.3.4"] steps: - name: Checkout repository diff --git a/formage.containerfile b/formage.containerfile index 6289d24..d9015f8 100644 --- a/formage.containerfile +++ b/formage.containerfile @@ -1,10 +1,10 @@ # ---- Stage 1: Build ---- ARG OS_TAG=slim-bookworm ARG PYTHON_VER -ARG PYFVS_VER FROM python:${PYTHON_VER}-$OS_TAG AS builder +ARG PYFVS_VER ARG PYNVEL_VERSION=main ARG PYSITEINDEX_VERSION=main # FVS variant libraries to build, must be lowercase @@ -42,7 +42,7 @@ RUN git clone https://github.com/forest-modeling/PyFVS.git --recurse-submodules WORKDIR "$ROOT/PyFVS" -RUN git checkout "${PYFVS_VER}" +RUN git checkout "v${PYFVS_VER}" RUN python -m pip install . \ --verbose --no-build-isolation \ --config-settings=setup-args="-Dfvsvariants=$FVS_VARIANTS" From 149c85d7c7c3292877678cf1b50b21a8895163ef Mon Sep 17 00:00:00 2001 From: Tod Haren Date: Sun, 15 Mar 2026 08:29:48 +0000 Subject: [PATCH 4/6] Fix PYFVS_VER formatting --- formage.containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/formage.containerfile b/formage.containerfile index d9015f8..ba7cb86 100644 --- a/formage.containerfile +++ b/formage.containerfile @@ -42,7 +42,7 @@ RUN git clone https://github.com/forest-modeling/PyFVS.git --recurse-submodules WORKDIR "$ROOT/PyFVS" -RUN git checkout "v${PYFVS_VER}" +RUN if [[ "$PYFVS_VER" =~ ^[0-9] ]]; then git checkout "v$PYFVS_VER"; else git checkout "$PYFVS_VER"; fi RUN python -m pip install . \ --verbose --no-build-isolation \ --config-settings=setup-args="-Dfvsvariants=$FVS_VARIANTS" From af2839fd05a703a67126ac47f9a1c06af9086a2f Mon Sep 17 00:00:00 2001 From: Tod Haren Date: Mon, 16 Mar 2026 06:03:34 +0000 Subject: [PATCH 5/6] Fix PYFVS_VER run command in containerfile --- README.md | 6 +++--- formage.containerfile | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d79da74..12dd20e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,6 @@ Forest Modeling Container Image Combines multiple packages used for forest modeling # Packages Included -PyFVS - (main)[https://github.com/forest-modeling/PyFVS],(v0.3.3)[https://github.com/forest-modeling/PyFVS/releases/tag/v0.3.3],(v0.3.4)[https://github.com/forest-modeling/PyFVS/releases/tag/v0.3.4],(dev)[https://github.com/forest-modeling/PyFVS/tree/dev] -PyNVEL (main)[https://github.com/forest-modeling/PyNVEL] -PySiteIndex (main)[https://github.com/forest-modeling/PySiteIndex] +PyFVS - [main](https://github.com/forest-modeling/PyFVS),[v0.3.3](https://github.com/forest-modeling/PyFVS/releases/tag/v0.3.3),[v0.3.4](https://github.com/forest-modeling/PyFVS/releases/tag/v0.3.4),[dev](https://github.com/forest-modeling/PyFVS/tree/dev) +PyNVEL [main](https://github.com/forest-modeling/PyNVEL) +PySiteIndex [main](https://github.com/forest-modeling/PySiteIndex) diff --git a/formage.containerfile b/formage.containerfile index ba7cb86..093a292 100644 --- a/formage.containerfile +++ b/formage.containerfile @@ -42,7 +42,8 @@ RUN git clone https://github.com/forest-modeling/PyFVS.git --recurse-submodules WORKDIR "$ROOT/PyFVS" -RUN if [[ "$PYFVS_VER" =~ ^[0-9] ]]; then git checkout "v$PYFVS_VER"; else git checkout "$PYFVS_VER"; fi +# RUN if [[ "$PYFVS_VER" =~ ^[0-9] ]]; then git checkout "v$PYFVS_VER"; else git checkout "$PYFVS_VER"; fi +RUN if echo "$PYFVS_VER" | grep -q '^[0-9]'; then git checkout "v$PYFVS_VER"; else git checkout "$PYFVS_VER"; fi RUN python -m pip install . \ --verbose --no-build-isolation \ --config-settings=setup-args="-Dfvsvariants=$FVS_VARIANTS" From d036e67cb27e3db70ec474d70a22b7ec24dab97a Mon Sep 17 00:00:00 2001 From: Tod Haren Date: Mon, 16 Mar 2026 16:34:03 +0000 Subject: [PATCH 6/6] Drop PyFVS from the build matrix v0.3.3 and ensure submodules are recursed. --- .github/workflows/container-image.yml | 2 +- formage.containerfile | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index c3aa970..a7d9bfc 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: python_version: ["3.12", "3.13"] - pyfvs_version: ["main","dev","0.3.3","0.3.4"] + pyfvs_version: ["main","dev","0.3.4"] steps: - name: Checkout repository diff --git a/formage.containerfile b/formage.containerfile index 093a292..e3f7721 100644 --- a/formage.containerfile +++ b/formage.containerfile @@ -43,7 +43,10 @@ RUN git clone https://github.com/forest-modeling/PyFVS.git --recurse-submodules WORKDIR "$ROOT/PyFVS" # RUN if [[ "$PYFVS_VER" =~ ^[0-9] ]]; then git checkout "v$PYFVS_VER"; else git checkout "$PYFVS_VER"; fi -RUN if echo "$PYFVS_VER" | grep -q '^[0-9]'; then git checkout "v$PYFVS_VER"; else git checkout "$PYFVS_VER"; fi +RUN if echo "$PYFVS_VER" | grep -q '^[0-9]'; \ + then git checkout --recurse-submodules "v$PYFVS_VER"; \ + else git checkout --recurse-submodules "$PYFVS_VER"; \ + fi RUN python -m pip install . \ --verbose --no-build-isolation \ --config-settings=setup-args="-Dfvsvariants=$FVS_VARIANTS"