From 6f0c52cb65dc1ca961f1d60097cd6237a011fcc5 Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Thu, 23 Oct 2025 17:01:00 +0000 Subject: [PATCH 1/7] chore: bump cpp-sysroot to 0.8.0 --- .github/workflows/tests.yml | 2 +- cpp | 2 +- docker/base.dockerfile | 2 +- docker/build.dockerfile | 16 +++++++++------- tasks/docker.py | 3 --- tasks/env.py | 6 +++--- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9bd4298..d903d1a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -61,7 +61,7 @@ jobs: if: ${{ needs.needs-build.outputs.needs-wasm == 'true' }} runs-on: ubuntu-latest container: - image: ghcr.io/faasm/examples-build:0.6.0_0.4.0 + image: ghcr.io/faasm/examples-build:0.8.0_0.4.0 steps: - name: "Checkout code" uses: actions/checkout@v4 diff --git a/cpp b/cpp index a1c54c1..fc018f1 160000 --- a/cpp +++ b/cpp @@ -1 +1 @@ -Subproject commit a1c54c1c5e7e7ebac24fc069a9ba580dce313fe3 +Subproject commit fc018f1674ec203bcc11d6e4bd1ea9867d352cf8 diff --git a/docker/base.dockerfile b/docker/base.dockerfile index 9ee1048..1e03138 100644 --- a/docker/base.dockerfile +++ b/docker/base.dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 AS base +FROM ubuntu:24.04 AS base RUN apt update \ && apt install -y \ diff --git a/docker/build.dockerfile b/docker/build.dockerfile index bdc0fe9..a360d7b 100644 --- a/docker/build.dockerfile +++ b/docker/build.dockerfile @@ -1,7 +1,7 @@ ARG CPP_VERSION ARG EXAMPLES_VERSION # Base image is not re-built often and tag may lag behind -FROM ghcr.io/faasm/examples-base:0.6.0_0.4.0 AS base +FROM ghcr.io/faasm/examples-base:0.8.0_0.4.0 AS base FROM ghcr.io/faasm/cpp-sysroot:${CPP_VERSION:-dead} SHELL ["/bin/bash", "-c"] @@ -10,23 +10,25 @@ ENV IN_DOCKER="on" # Copy built OpenMPI from previous step COPY --from=base /tmp/openmpi-4.1.0/ /tmp/openmpi-4.1.0/ +# Install OpenMP +ARG DEBIAN_FRONTEND=noninteractive +RUN apt update \ + && apt install -y --no-install-recommends \ + build-essential \ + curl \ + libomp-17-dev + # Install OpenMPI RUN cd /tmp/openmpi-4.1.0 \ && make install \ && cd /tmp \ && rm -rf /tmp/openmpi-4.1.0 /tmp/openmpi-4.1.0.tar.bz2 -# Install OpenMP -ARG DEBIAN_FRONTEND=noninteractive -RUN apt update \ - && apt install -y libomp-17-dev - # Install rust RUN curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh -s -- -y \ && source ~/.cargo/env \ && rustup target add wasm32-wasip1 - # Fetch the code and update submodules ARG EXAMPLES_VERSION RUN mkdir -p code \ diff --git a/tasks/docker.py b/tasks/docker.py index 5e6c7f3..17261bc 100644 --- a/tasks/docker.py +++ b/tasks/docker.py @@ -55,9 +55,6 @@ def build(ctx, ctr, nocache=False, push=False): build_args=build_args, ) - if push: - push(ctx, [c]) - @task(iterable=["ctr"]) def push(ctx, ctr): diff --git a/tasks/env.py b/tasks/env.py index e9a8261..11c408b 100644 --- a/tasks/env.py +++ b/tasks/env.py @@ -1,5 +1,5 @@ from faasmtools.build import FAASM_LOCAL_DIR -from faasmtools.docker import ACR_NAME +from faasmtools.docker import CR_NAME from faasmtools.env import get_version as get_cpp_version from os import environ from os.path import dirname, abspath, join @@ -14,9 +14,9 @@ # Docker variables EXAMPLES_BUILD_IMAGE_CTR = "examples-build-workon" -EXAMPLES_BUILD_IMAGE_NAME = "{}/examples-build".format(ACR_NAME) +EXAMPLES_BUILD_IMAGE_NAME = "{}/examples-build".format(CR_NAME) EXAMPLES_BUILD_DOCKERFILE = join(DOCKER_ROOT, "build.dockerfile") -EXAMPLES_BASE_IMAGE_NAME = "{}/examples-base".format(ACR_NAME) +EXAMPLES_BASE_IMAGE_NAME = "{}/examples-base".format(CR_NAME) EXAMPLES_BASE_DOCKERFILE = join(DOCKER_ROOT, "base.dockerfile") # Shared files data From 5b29dcc23f9436f6e32034fae691f8421c787c07 Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Thu, 23 Oct 2025 17:46:11 +0000 Subject: [PATCH 2/7] fix tensorflow compilation --- docker/build.dockerfile | 9 ++------- examples/tensorflow | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/docker/build.dockerfile b/docker/build.dockerfile index a360d7b..ae6773e 100644 --- a/docker/build.dockerfile +++ b/docker/build.dockerfile @@ -16,7 +16,8 @@ RUN apt update \ && apt install -y --no-install-recommends \ build-essential \ curl \ - libomp-17-dev + libomp-17-dev \ + unzip # Install OpenMPI RUN cd /tmp/openmpi-4.1.0 \ @@ -48,9 +49,7 @@ RUN mkdir -p code \ && git submodule update --init -f examples/LULESH \ && git submodule update --init -f examples/libpng \ && git submodule update --init -f examples/polybench \ - && git submodule update --init -f examples/rabe \ && git submodule update --init -f examples/tensorflow \ - && git submodule update --init -f examples/tless-jwt # Build the examples and demo functions ENV PATH=${PATH}:/root/.cargo/bin @@ -66,7 +65,6 @@ RUN cd /code/examples \ && inv polybench --native \ # Build the WASM applications && inv ffmpeg \ - && inv jwt \ # ImageMagick needs libpng && inv libpng imagemagick \ && inv kernels \ @@ -75,14 +73,11 @@ RUN cd /code/examples \ && inv lammps --migration-net \ && inv lulesh \ && inv polybench \ - && inv rabe \ && inv tensorflow \ # These demo functions link with the cross-compiled static libraries && inv func ffmpeg check \ - && inv func jwt test \ && inv func lammps chain \ && inv func mpi migrate \ - && inv func rabe test \ && inv func tf check # Prepare bashrc diff --git a/examples/tensorflow b/examples/tensorflow index 0334529..9bb7e0b 160000 --- a/examples/tensorflow +++ b/examples/tensorflow @@ -1 +1 @@ -Subproject commit 0334529868a465243f3bdb8f61743376a60196d7 +Subproject commit 9bb7e0bab37abce965b0d616500a431eef955163 From 3d631eeed0c258ad5c71e361dc4cd7611f24b575 Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Thu, 23 Oct 2025 18:00:10 +0000 Subject: [PATCH 3/7] docker: remove trailing backslash --- docker/build.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/build.dockerfile b/docker/build.dockerfile index ae6773e..bf34293 100644 --- a/docker/build.dockerfile +++ b/docker/build.dockerfile @@ -49,7 +49,7 @@ RUN mkdir -p code \ && git submodule update --init -f examples/LULESH \ && git submodule update --init -f examples/libpng \ && git submodule update --init -f examples/polybench \ - && git submodule update --init -f examples/tensorflow \ + && git submodule update --init -f examples/tensorflow # Build the examples and demo functions ENV PATH=${PATH}:/root/.cargo/bin From 2376c444677eb6e34f3519e4767b0d71b07a3ede Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Thu, 23 Oct 2025 18:07:38 +0000 Subject: [PATCH 4/7] gha: remove rabe and jwt --- .github/workflows/tests.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d903d1a..e9f1404 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -67,12 +67,6 @@ jobs: uses: actions/checkout@v4 with: submodules: true - - name: "Build Rabe and JWT" - run: | - export PATH=$PATH:/root/.cargo/env - rustup default stable - rustup target add wasm32-wasip1 - ./bin/inv_wrapper.sh rabe jwt - name: "Build OpenCV" run: ./bin/inv_wrapper.sh opencv - name: "Build FFmpeg" @@ -312,14 +306,6 @@ jobs: - name: "Run FFmpeg check" timeout-minutes: 1 run: faasmctl invoke ffmpeg check - - name: "Run Rabe test" - if: "contains(env.FAASM_WASM_VM, 'wamr')" - timeout-minutes: 1 - run: faasmctl invoke rabe test - # - name: "Run JWT test" - # if: "contains(env.FAASM_WASM_VM, 'wamr')" - # timeout-minutes: 1 - # run: faasmctl invoke jwt test - name: "Print upload logs in case of failure" if: failure() run: faasmctl logs -s upload From 59cbc78c4090256a0e23a66e4851da7f0ec3807e Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Fri, 24 Oct 2025 08:44:05 +0000 Subject: [PATCH 5/7] nits from gemini --- docker/build.dockerfile | 3 ++- tasks/func.py | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/build.dockerfile b/docker/build.dockerfile index bf34293..01f9e0b 100644 --- a/docker/build.dockerfile +++ b/docker/build.dockerfile @@ -17,7 +17,8 @@ RUN apt update \ build-essential \ curl \ libomp-17-dev \ - unzip + unzip \ + && rm -rf /var/lib/apt/lists/* # Install OpenMPI RUN cd /tmp/openmpi-4.1.0 \ diff --git a/tasks/func.py b/tasks/func.py index ee0a901..4aa375a 100644 --- a/tasks/func.py +++ b/tasks/func.py @@ -44,7 +44,6 @@ def tests(ctx, clean=False): ["ffmpeg", "check"], ["opencv", "check"], ["opencv", "pca"], - ["rabe", "test"], ["tf", "check"], # TODO: this two functions are not used in the tests, as they are used # to exercise migration, for what we need a distributed test setting From d481876105770ccd8d7189603925cdd21706405e Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Fri, 24 Oct 2025 09:31:40 +0000 Subject: [PATCH 6/7] bump faasmctl --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 468a490..7221e46 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ black>=22.3.0 -faasmctl>=0.32.0 +faasmctl>=0.51.0 flake8>=4.0.1 invoke>=1.7.1 python-lsp-server[all]>=1.12.0 From b6a222a2128698e1dd352a98ac9cae79c10770fd Mon Sep 17 00:00:00 2001 From: Carlos Segarra Date: Fri, 24 Oct 2025 09:41:27 +0000 Subject: [PATCH 7/7] fix: bump faasm version --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e9f1404..704ade1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -132,7 +132,7 @@ jobs: shell: bash env: FAASM_INI_FILE: ./faasm.ini - FAASM_VERSION: 0.29.0 + FAASM_VERSION: 0.33.0 FAASM_WASM_VM: ${{ matrix.faasm_wasm_vm }} steps: - uses: csegarragonz/set-compose-version-action@main