From f920aceadcb135ec1b78d033a914ecab86b05248 Mon Sep 17 00:00:00 2001 From: ladinoraa Date: Fri, 26 Jun 2026 07:49:42 +0000 Subject: [PATCH] feat(ci): add GitHub Actions matrix testing for Node/Rust versions (#322) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add .github/workflows/matrix.yml with: - rust-matrix job: Rust 1.75 (MSRV), stable, beta × contracts build + test - node-matrix job: Node 20 (LTS), 22 (current LTS) × frontend type-check + build - Document supported versions table in README Quick Start section Closes #322 --- .github/workflows/matrix.yml | 57 ++++++++++++++++++++++++++++++++++++ README.md | 9 ++++++ 2 files changed, 66 insertions(+) create mode 100644 .github/workflows/matrix.yml diff --git a/.github/workflows/matrix.yml b/.github/workflows/matrix.yml new file mode 100644 index 0000000..30d2326 --- /dev/null +++ b/.github/workflows/matrix.yml @@ -0,0 +1,57 @@ +name: Matrix Tests + +on: + push: + branches: [main, develop] + pull_request: + branches: [main, develop] + +env: + CARGO_TERM_COLOR: always + +# Supported versions matrix +# Rust: 1.75 (MSRV), stable, beta +# Node: 20 (LTS), 22 (current LTS) + +jobs: + rust-matrix: + name: Contracts (Rust ${{ matrix.rust }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: ["1.75", "stable", "beta"] + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: wasm32-unknown-unknown + - uses: Swatinem/rust-cache@v2 + with: + key: rust-${{ matrix.rust }} + - name: Build contracts + run: cargo build --release --target wasm32-unknown-unknown + - name: Test contracts + run: cargo test --all --features testutils + + node-matrix: + name: Frontend (Node ${{ matrix.node }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node: ["20", "22"] + defaults: + run: + working-directory: frontend + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + cache: npm + cache-dependency-path: frontend/package-lock.json + - run: npm ci + - run: npm run type-check + - run: npm run build diff --git a/README.md b/README.md index 203226a..b55bde4 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,15 @@ Decentralized governance is critical for DAOs, protocols, and communities to mak - Stellar CLI (optional, for deployment) - Docker & Docker Compose (optional) +### Supported Versions + +| Component | Supported versions | Notes | +|-----------|-------------------|-------| +| Rust | 1.75 (MSRV), stable, beta | Tested via CI matrix | +| Node.js | 20 (LTS), 22 (current LTS) | For frontend build | + +Matrix build status is tracked in the [Matrix Tests workflow](.github/workflows/matrix.yml). + ### Installation & Testing ```bash