From 66b7f8c97ccec15b8c3be41fa4074c247d9120cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20T=C3=B3th?= Date: Mon, 11 May 2026 15:46:01 +0000 Subject: [PATCH 1/3] Move `build-and-test` onto a public runner --- .github/actions/with-docker/Dockerfile | 14 -------------- .github/workflows/test-pr.yml | 13 ++----------- rust-toolchain.toml | 3 +++ 3 files changed, 5 insertions(+), 25 deletions(-) delete mode 100644 .github/actions/with-docker/Dockerfile create mode 100644 rust-toolchain.toml diff --git a/.github/actions/with-docker/Dockerfile b/.github/actions/with-docker/Dockerfile deleted file mode 100644 index 284ae09..0000000 --- a/.github/actions/with-docker/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM rust:1.85.0 - -RUN rustup component add clippy rustfmt - -RUN apt-get update && apt-get install --yes libclang-dev - -ARG USER=user -ARG GROUP=$USER -ARG USER_ID=1000 -ARG GROUP_ID=$USER_ID - -RUN groupadd -g $GROUP_ID $GROUP && useradd -m -u $USER_ID -s /bin/sh -g $GROUP $USER - -USER $USER:$GROUP diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 041b8e9..63cb65a 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -8,21 +8,12 @@ concurrency: jobs: build-and-test: name: 'Build and Test Project' - runs-on: [self-hosted, linux, normal] + runs-on: ubuntu-latest steps: - name: 'Check out code' uses: actions/checkout@v4 - - name: 'Set up Docker' - uses: ./.github/actions/with-docker - with: - container-name: kframework-rs-${{ github.sha }} - dockerfile: Dockerfile - name: 'Build and test' - run: docker exec -u user kframework-rs-${GITHUB_SHA} make - - name: 'Tear down Docker' - if: always() - run: | - docker stop --time=0 kframework-rs-${GITHUB_SHA} + run: make build-ffi-and-fuzz: name: 'Build with the FFI and run the fuzzing example' diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..e22c344 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "1.85.0" +components = ["clippy", "rustfmt"] From 675e1d4705ace1b68a63bce222e9c6fac4de380f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20T=C3=B3th?= Date: Mon, 11 May 2026 16:23:08 +0000 Subject: [PATCH 2/3] Extract Rust version from `rust-toolchain.toml` in `with-docker` --- .github/actions/with-docker/Dockerfile.fuzz | 2 +- .github/actions/with-docker/action.yml | 5 ++++- .github/workflows/test-pr.yml | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/actions/with-docker/Dockerfile.fuzz b/.github/actions/with-docker/Dockerfile.fuzz index a5c34f0..507f4ae 100644 --- a/.github/actions/with-docker/Dockerfile.fuzz +++ b/.github/actions/with-docker/Dockerfile.fuzz @@ -1,5 +1,5 @@ ARG K_VERSION=7.1.241 -ARG RUST_TOOLCHAIN=1.85.0 +ARG RUST_TOOLCHAIN FROM runtimeverificationinc/kframework-k:ubuntu-jammy-${K_VERSION} AS semantics diff --git a/.github/actions/with-docker/action.yml b/.github/actions/with-docker/action.yml index b4389d3..14b3201 100644 --- a/.github/actions/with-docker/action.yml +++ b/.github/actions/with-docker/action.yml @@ -21,9 +21,12 @@ runs: TAG=runtimeverificationinc/${CONTAINER_NAME} DOCKERFILE=${{ github.action_path }}/${{ inputs.dockerfile }} + RUST_TOOLCHAIN="$(grep -oP '(?<=channel = ").*(?=")' rust-toolchain.toml)" + docker build . \ --file ${DOCKERFILE} \ - --tag ${TAG} + --tag ${TAG} \ + --build-arg RUST_TOOLCHAIN="${RUST_TOOLCHAIN}" - name: 'Run Docker container' shell: bash {0} diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 63cb65a..e36fc27 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -28,13 +28,18 @@ jobs: dockerfile: Dockerfile.fuzz - name: 'Build and test' run: | + set -euxo pipefail + export HFUZZ_RUN_ARGS="--verbose --logfile log.txt --run_time 60" + docker exec \ --env HFUZZ_RUN_ARGS="${HFUZZ_RUN_ARGS}" \ --workdir /home/user/examples/fuzzer \ kframework-rs-fuzz-${GITHUB_SHA} \ cargo hfuzz run fuzzer + echo "Final lines of hfuzz output:" + docker exec \ --env HFUZZ_RUN_ARGS="${HFUZZ_RUN_ARGS}" \ --workdir /home/user/examples/fuzzer \ From 7c952bccde8405eb7e4c2bff8bfb56af6c803e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20T=C3=B3th?= Date: Mon, 11 May 2026 16:24:30 +0000 Subject: [PATCH 3/3] Update Rust version --- rust-toolchain.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e22c344..38ab2c6 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.85.0" +channel = "1.95.0" components = ["clippy", "rustfmt"]