diff --git a/.github/workflows/gitlab-ci.yml b/.github/workflows/gitlab-ci.yml index 95a3479..b2e8c67 100644 --- a/.github/workflows/gitlab-ci.yml +++ b/.github/workflows/gitlab-ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check Gitlab CI - uses: pulp-platform/pulp-actions/gitlab-ci@v2.4.4 + uses: pulp-platform/pulp-actions/gitlab-ci@v2.5.0 # Skip on forks or pull requests from forks due to missing secrets. if: github.repository == 'pulp-platform/chimera' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) with: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2538140..c12d516 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,6 +28,16 @@ stages: when: always expire_in: 1 week +# Pull the cached bender checkout +.cache-deps: + cache: &global_cache + key: + files: + - Bender.lock + paths: + - .bender + policy: pull + init-deps: extends: .base stage: init @@ -40,18 +50,28 @@ init-deps: - bender path idma - bender path snitch_cluster - bender path memory_island + # Pre-init cheshire's large submodules serially to avoid rate limiting + - git -C "$(bender path cheshire)" submodule update --init sw/deps/cva6-sdk + - git -C "$(bender path cheshire)" submodule update --init sw/deps/printf # Collect bender sourcess - bender checkout # bender checkout sometimes fails, - # due to rate limiting of github + cache: + <<: *global_cache + policy: pull-push + # due to rate limiting of github retry: 1 vsim-build: - extends: .base + extends: + - .base + - .cache-deps + - init-deps stage: build + needs: + - init-deps script: - # Checkout dependencies - bender checkout # Build hardware - make chs-hw-init @@ -67,7 +87,9 @@ vsim-build: expire_in: 3 days vsim-test: - extends: .base + extends: + - .base + - .cache-deps stage: test needs: [ vsim-build ] parallel: diff --git a/CHANGELOG.md b/CHANGELOG.md index cdc19dc..dcb98b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `hw`: Add configurable CDC cut removal between SoC and clusters. Clock gating pushed into cluster domain. - `hw`: Add `apb_dump_msg` module for APB-based fast printf support in simulation. -- `hw`: Add simulation waveform scripts (`waves.tcl`, `run.tcl`). - `ci`: Add GitLab CI configuration for open repository with bender dependency stage. - `sw`: Add `pyproject.toml`, replace `requirements.txt` with proper Python packaging.