chore(deps): bump rmcp from 2.2.0 to 3.1.0 #326
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-License-Identifier: AGPL-3.0-or-later | |
| # This workflow is managed by gh actions-lock. | |
| name: Chapel Accelerator CI | |
| on: | |
| push: | |
| paths: | |
| - 'src/zig_ffi/**' | |
| - 'src/rust/proof_search.rs' | |
| - 'src/rust/dispatch.rs' | |
| - 'src/chapel/**' | |
| - 'Cargo.toml' | |
| - '.github/workflows/chapel-ci.yml' | |
| pull_request: | |
| paths: | |
| - 'src/zig_ffi/**' | |
| - 'src/rust/proof_search.rs' | |
| - 'src/rust/dispatch.rs' | |
| - 'src/chapel/**' | |
| - 'Cargo.toml' | |
| - '.github/workflows/chapel-ci.yml' | |
| # Cause-B mitigation (#77): cancel superseded runs so stacked pushes | |
| # to the same ref don't pile up identical jobs in the queue. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: read-all | |
| # Pinned Chapel deb (Ubuntu 22.04 amd64; installs cleanly on the | |
| # ubuntu24 runner). SHA-256 verified against the GitHub Releases asset; | |
| # mismatch fails the install step. Bumped 2.3.0 -> 2.8.0 (issue #181) | |
| # to track sibling estate repos proven (#141) and panic-attack (#85), | |
| # both of which validated this URL+SHA combo against the same | |
| # `ubuntu-latest` runner image we use here. | |
| env: | |
| CHAPEL_VERSION: '2.8.0' | |
| CHAPEL_DEB_URL: 'https://github.com/chapel-lang/chapel/releases/download/2.8.0/chapel-2.8.0-1.ubuntu22.amd64.deb' | |
| CHAPEL_DEB_SHA256: '944a454b8a791f344312fcd261b562871159b74f5ef41d81e11833eb21d85f60' | |
| jobs: | |
| # Job 1: Compile Chapel .chpl files into a static library. | |
| # | |
| # Strict gating (was continue-on-error before #133 closure) — this job | |
| # is the load-bearing Chapel toolchain signal. If the sources stop | |
| # compiling, the workflow fails. | |
| # | |
| # Why --static and not --dynamic: | |
| # The official apt deb (chapel-${CHAPEL_VERSION}-1.ubuntu22.amd64.deb) | |
| # ships only the CHPL_LIB_PIC=none runtime variant. Building a shared | |
| # library requires CHPL_LIB_PIC=pic runtime objects which are not in | |
| # the package; the linker rejects the non-PIC `libchpl.a` with | |
| # `relocation R_X86_64_TPOFF32 ... can not be used when making a | |
| # shared object`. Until the CI image ships a PIC-enabled runtime | |
| # (or we adopt a from-source Chapel build via the | |
| # `chapel-pic-from-source` Justfile recipe), the metalayer is | |
| # distributed as `libechidna_chapel.a` and the Zig FFI links it | |
| # statically. | |
| chapel-build: | |
| name: Compile Chapel Metalayer | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v7.0.1 | |
| - name: Install Chapel ${{ env.CHAPEL_VERSION }} (SHA-pinned .deb) | |
| run: | | |
| set -euo pipefail | |
| # libunwind-dev is a runtime link-time dep for chpl-built binaries | |
| # on the ubuntu .deb path; sibling estate repo panic-attack (#85) | |
| # established this preinstall as the working pattern, reused by | |
| # proven (#141). Without it the chapel-build smoke link fails with | |
| # `error while loading shared libraries: libunwind.so.8`. | |
| sudo apt-get update -qq | |
| sudo apt-get install -y libunwind-dev | |
| curl -fsSL --max-time 300 --retry 3 -o /tmp/chapel.deb "$CHAPEL_DEB_URL" | |
| echo "$CHAPEL_DEB_SHA256 /tmp/chapel.deb" | sha256sum --check | |
| sudo apt-get install -y /tmp/chapel.deb | |
| chpl --version | |
| - name: Compile Chapel proof search library (static) | |
| run: | | |
| cd src/chapel | |
| # -I ../zig_ffi so `require "chapel_ffi_exports.h"` finds the | |
| # authoritative C ABI header next to the Zig bridge. | |
| chpl --library --static -I ../zig_ffi \ | |
| -o libechidna_chapel \ | |
| chapel_ffi_exports.chpl parallel_proof_search.chpl | |
| ls -la lib/libechidna_chapel* | |
| - name: Compile + run smoke target | |
| run: | | |
| cd src/chapel | |
| chpl -o chapel_smoke smoke.chpl | |
| ./chapel_smoke | |
| - name: Upload Chapel library artifact | |
| uses: actions/upload-artifact@v7.0.1 | |
| with: | |
| name: chapel-lib | |
| path: src/chapel/lib/libechidna_chapel* | |
| # Job 2: Build and test Zig FFI bridge (always uses stubs). | |
| # | |
| # Strict gating (was continue-on-error before #133 closure). The | |
| # earlier comment claimed `addLibrary` was missing on Zig 0.13.0; the | |
| # workflow has pinned 0.14.0 since the Chapel-CI rewrite (which DOES | |
| # ship `addLibrary`), so the comment was stale relative to the actual | |
| # pin. The build now uses the modern API as documented in | |
| # `src/zig_ffi/build.zig`. | |
| zig-ffi: | |
| name: Build & Test Zig FFI Bridge | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v7.0.1 | |
| - name: Install Zig | |
| uses: mlugg/setup-zig@v2.2.1 | |
| with: | |
| version: 0.14.0 | |
| - name: Build Zig FFI library (with Chapel stubs) | |
| run: cd src/zig_ffi && zig build -Doptimize=ReleaseSafe | |
| - name: Run Zig FFI tests (stub mode) | |
| run: cd src/zig_ffi && zig build test | |
| - name: Upload FFI library artifact | |
| uses: actions/upload-artifact@v7.0.1 | |
| with: | |
| name: chapel-ffi-lib | |
| path: src/zig_ffi/zig-out/lib/ | |
| # Job 3: Build Rust with chapel feature (links against Zig FFI stubs). | |
| # Marked continue-on-error: true alongside its needed dependency zig-ffi | |
| # (#133) — when the upstream Zig FFI build is allowed to fail, this job's | |
| # "Download FFI library" step has no artifact to consume and red-fires. | |
| # Re-enable strict gating once #133's Chapel + FFI rehabilitation lands. | |
| rust-chapel-feature: | |
| name: Rust Build with Chapel Feature | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 30 | |
| needs: zig-ffi | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v7.0.1 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| - name: Rust cache | |
| uses: Swatinem/rust-cache@v2.9.1 | |
| - name: Download FFI library | |
| uses: actions/download-artifact@v8.0.1 | |
| with: | |
| name: chapel-ffi-lib | |
| path: src/zig_ffi/zig-out/lib/ | |
| - name: Build with chapel feature | |
| run: cargo build --features chapel | |
| - name: Test with chapel feature | |
| run: cargo test --features chapel -- proof_search | |
| # Job 4: Build Rust linking against the real Chapel library (no Zig stubs). | |
| # | |
| # Still allow-fail in Wave 1: the full static link of Chapel runtime | |
| # (`libchpl.a` + dependency archives) into the Zig FFI shared library | |
| # is non-trivial and is tracked as the next milestone after #133 | |
| # (Wave 2). The chapel-build artifact is now `libechidna_chapel.a` | |
| # (static) rather than the previous `.so`, because the apt-shipped | |
| # Chapel only carries the `CHPL_LIB_PIC=none` runtime. Once a PIC | |
| # runtime is available in the CI image we can revert to `--dynamic` | |
| # and flip this job to strict. | |
| rust-chapel-real: | |
| name: Rust Build — Real Chapel Library (allow-fail, L2.3+ gate) | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 30 | |
| needs: [chapel-build, zig-ffi] | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v7.0.1 | |
| - name: Install Chapel ${{ env.CHAPEL_VERSION }} (SHA-pinned .deb) | |
| run: | | |
| set -euo pipefail | |
| sudo apt-get update -qq | |
| sudo apt-get install -y libunwind-dev | |
| curl -fsSL --max-time 300 --retry 3 -o /tmp/chapel.deb "$CHAPEL_DEB_URL" | |
| echo "$CHAPEL_DEB_SHA256 /tmp/chapel.deb" | sha256sum --check | |
| sudo apt-get install -y /tmp/chapel.deb | |
| chpl --version | |
| - name: Install Zig | |
| uses: mlugg/setup-zig@v2.2.1 | |
| with: | |
| version: 0.14.0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| - name: Rust cache | |
| uses: Swatinem/rust-cache@v2.9.1 | |
| - name: Download real Chapel library | |
| uses: actions/download-artifact@v8.0.1 | |
| with: | |
| name: chapel-lib | |
| path: src/chapel/ | |
| - name: Build Zig FFI without stubs (links against real Chapel) | |
| run: | | |
| cd src/zig_ffi | |
| zig build -Doptimize=ReleaseSafe -Dstubs=false | |
| - name: Build Rust with real Chapel library | |
| run: | | |
| export LD_LIBRARY_PATH="$PWD/src/chapel:$PWD/src/zig_ffi/zig-out/lib:${LD_LIBRARY_PATH:-}" | |
| cargo build --features chapel | |
| - name: Test Rust with real Chapel library | |
| run: | | |
| export LD_LIBRARY_PATH="$PWD/src/chapel:$PWD/src/zig_ffi/zig-out/lib:${LD_LIBRARY_PATH:-}" | |
| cargo test --features chapel -- proof_search |