diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 283ff8a..dbb86af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2022 Google LLC -# +# # SPDX-License-Identifier: Apache-2.0 name: CI @@ -54,7 +54,7 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} args: --target riscv32imc-unknown-none-elf --all-features - + rust-build-programs: name: Build Programs runs-on: ubuntu-22.04 @@ -77,7 +77,7 @@ jobs: target: riscv32imc-unknown-none-elf components: clippy, rustfmt - - name: Cachign + - name: Caching uses: Swatinem/rust-cache@v2 - name: Build release binaries @@ -85,16 +85,16 @@ jobs: with: command: build args: --release - + - name: Build debug binaries uses: actions-rs/cargo@v1 with: command: build - + - name: Archive Integration Test Binaries run: | cd clash-vexriscv-sim; sh bundle_test_binaries.sh - + - name: Upload Integration Test Binaries uses: actions/upload-artifact@v3 with: @@ -107,8 +107,17 @@ jobs: runs-on: ubuntu-22.04 needs: [rust-build-programs] + strategy: + fail-fast: false + matrix: + ghc: + - "9.0.2" + - "9.2.8" + - "9.4.8" + - "9.6.4" + container: - image: ghcr.io/clash-lang/clash-ci-9.0.2:2022-12-13 + image: ghcr.io/clash-lang/clash-ci:${{ matrix.ghc }}-20240221 steps: - name: Checkout @@ -124,8 +133,8 @@ jobs: with: path: | ~/.cabal/store - key: packages-cachebust-1-${{ hashFiles('cabal.project.freeze', 'cabal.project') }} - restore-keys: packages-cachebust-1- + key: packages-cachebust-2-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze', 'cabal.project') }} + restore-keys: packages-cachebust-2-${{ matrix.ghc }} - name: Install build deps run: | diff --git a/cabal.project b/cabal.project index 33d7755..253c2a3 100644 --- a/cabal.project +++ b/cabal.project @@ -8,8 +8,6 @@ packages: write-ghc-environment-files: always -with-compiler: ghc-9.0.2 - tests: True @@ -49,9 +47,9 @@ source-repository-package source-repository-package type: git location: https://github.com/clash-lang/clash-protocols.git - tag: f7ea04834d396669fe4ef404b03541601a68b136 + tag: eb76cd1be746ae91beff60c0f16d8c1dd888662c source-repository-package type: git location: https://github.com/cchalmers/circuit-notation.git - tag: 618e37578e699df235f2e7150108b6401731919b + tag: 19b386c4aa3ff690758ae089c7754303f3500cc9 diff --git a/clash-vexriscv-sim/clash-vexriscv-sim.cabal b/clash-vexriscv-sim/clash-vexriscv-sim.cabal index 6e72e8d..c5db079 100644 --- a/clash-vexriscv-sim/clash-vexriscv-sim.cabal +++ b/clash-vexriscv-sim/clash-vexriscv-sim.cabal @@ -60,9 +60,9 @@ common common-options -fno-worker-wrapper -- clash-prelude will set suitable version bounds for the plugins build-depends: - base >= 4.14 && < 4.16, + base >= 4.14 && < 4.19, clash-prelude >= 1.6 && < 1.10, - containers >= 0.6 && < 0.7, + containers >= 0.6 && < 0.8, ghc-typelits-natnormalise, ghc-typelits-extra, ghc-typelits-knownnat, @@ -83,7 +83,7 @@ library clash-protocols, clash-vexriscv, elf >= 0.31 && < 0.32, - bytestring >= 0.10 && < 0.11, + bytestring >= 0.10 && < 0.13, executable clash import: common-options @@ -132,6 +132,6 @@ test-suite unittests containers, directory, temporary >=1.1 && <1.4, - tasty >= 1.2 && < 1.5, + tasty >= 1.2 && < 1.6, tasty-hunit >= 0.10 && < 0.11, filepath diff --git a/clash-vexriscv/clash-vexriscv.cabal b/clash-vexriscv/clash-vexriscv.cabal index 44d68ef..8450eab 100644 --- a/clash-vexriscv/clash-vexriscv.cabal +++ b/clash-vexriscv/clash-vexriscv.cabal @@ -87,9 +87,9 @@ common common-options -fno-worker-wrapper -- clash-prelude will set suitable version bounds for the plugins build-depends: - base >= 4.14 && < 4.16, + base >= 4.14 && < 4.19, clash-prelude >= 1.6 && < 1.10, - containers >= 0.6 && < 0.7, + containers >= 0.6 && < 0.8, ghc-typelits-natnormalise, ghc-typelits-extra, ghc-typelits-knownnat, @@ -109,7 +109,7 @@ library base, clash-prelude, clash-protocols, - bytestring >= 0.10 && < 0.11, + bytestring >= 0.10 && < 0.13, process >= 1.6 && < 1.8, directory >= 1.3 && < 1.4, filepath, @@ -134,9 +134,9 @@ test-suite unittests base, clash-vexriscv, bytestring, - hedgehog >= 1.0 && < 1.1, - tasty >= 1.4 && < 1.5, - tasty-hedgehog >= 1.2 && < 1.3, + hedgehog >= 1.0 && < 1.5, + tasty >= 1.4 && < 1.6, + tasty-hedgehog >= 1.2 && < 1.5, tasty-hunit, tasty-th, template-haskell,