From 8d0c75171cef14b015d945a8b6c601b8a1a686f3 Mon Sep 17 00:00:00 2001 From: Geza Lore Date: Sun, 5 Jul 2026 18:52:55 +0100 Subject: [PATCH] CI: Unify regression and RTLMeter build jobs to one (#7872) - Merge reusable-rtlmeter-build.yml into reusable-build.yml, selected by an 'install' flag: archive the installed Verilator for RTLMeter, or the whole repository tree for the test jobs. - Align reusable-test.yml input arguments with reusable-build.yml - Pass build/test options as booleans instead of 0/1. - Inline the single-entry build matrices, and hoist matrix keys that are constant across a job. --- .github/workflows/build-test.yml | 144 +++++------------- .github/workflows/coverage.yml | 12 +- .github/workflows/reusable-build.yml | 75 ++++++--- .github/workflows/reusable-rtlmeter-build.yml | 99 ------------ .github/workflows/reusable-rtlmeter-run.yml | 4 +- .github/workflows/reusable-test.yml | 33 ++-- .github/workflows/rtlmeter.yml | 24 ++- ci/ci-install.bash | 6 +- 8 files changed, 139 insertions(+), 258 deletions(-) delete mode 100644 .github/workflows/reusable-rtlmeter-build.yml diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index e618873cd..e102bc699 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -29,74 +29,61 @@ concurrency: jobs: build-2604-gcc: - name: Build | ubuntu-26.04 | gcc + name: Build | 26.04 | gcc uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: ubuntu-26.04 cc: gcc - dev-asan: 0 - dev-gcov: 0 + runs-on: ubuntu-26.04 + sha: ${{ github.sha }} build-2604-clang: - name: Build | ubuntu-26.04 | clang + name: Build | 26.04 | clang uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: ubuntu-26.04 cc: clang - dev-asan: 1 - dev-gcov: 0 + dev-asan: true # Build (and run) with address sanitizer + runs-on: ubuntu-26.04 + sha: ${{ github.sha }} build-2404-gcc: - name: Build | ubuntu-24.04 | gcc + name: Build | 24.04 | gcc uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: ubuntu-24.04 cc: gcc - dev-asan: 0 - dev-gcov: 0 + runs-on: ubuntu-24.04 + sha: ${{ github.sha }} build-2404-clang: - name: Build | ubuntu-24.04 | clang + name: Build | 24.04 | clang uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: ubuntu-24.04 cc: clang - dev-asan: 0 - dev-gcov: 0 + runs-on: ubuntu-24.04 + sha: ${{ github.sha }} build-2204-gcc: - name: Build | ubuntu-22.04 | gcc + name: Build | 22.04 | gcc uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: ubuntu-22.04 cc: gcc - dev-asan: 0 - dev-gcov: 0 + runs-on: ubuntu-22.04 + sha: ${{ github.sha }} build-macos-15-gcc: name: Build | macos-15 | gcc uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: macos-15 cc: gcc - dev-asan: 0 - dev-gcov: 0 + runs-on: macos-15 + sha: ${{ github.sha }} build-macos-15-clang: name: Build | macos-15 | clang uses: ./.github/workflows/reusable-build.yml with: - sha: ${{ github.sha }} - os: macos-15 cc: clang - dev-asan: 0 - dev-gcov: 0 + runs-on: macos-15 + sha: ${{ github.sha }} build-windows: name: Build | windows-2025-vs2026 | msvc @@ -129,124 +116,75 @@ jobs: name: verilator-win.zip test-2604-gcc: - name: Test | ${{ matrix.os }} | ${{ matrix.cc }} | ${{ matrix.suite }} + name: Test | 26.04 | gcc | ${{ matrix.suite }} needs: build-2604-gcc uses: ./.github/workflows/reusable-test.yml with: archive: ${{ needs.build-2604-gcc.outputs.archive }} - os: ${{ matrix.os }} - cc: ${{ matrix.cc }} - reloc: ${{ matrix.reloc }} + cc: gcc + runs-on: ubuntu-26.04 suite: ${{ matrix.suite }} - dev-gcov: 0 strategy: fail-fast: false matrix: - include: - # Ubuntu 26.04 gcc - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: dist-vlt-0} - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: dist-vlt-1} - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: dist-vlt-2} - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: dist-vlt-3} - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: vltmt-0} - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: vltmt-1} - - {os: ubuntu-26.04, cc: gcc, reloc: 0, suite: vltmt-2} + suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1, vltmt-2] test-2604-clang: - name: Test | ${{ matrix.os }} | ${{ matrix.cc }} | ${{ matrix.suite }} + name: Test | 26.04 | clang | ${{ matrix.suite }} needs: build-2604-clang uses: ./.github/workflows/reusable-test.yml with: archive: ${{ needs.build-2604-clang.outputs.archive }} - os: ${{ matrix.os }} - cc: ${{ matrix.cc }} - reloc: ${{ matrix.reloc }} + cc: clang + runs-on: ubuntu-26.04 suite: ${{ matrix.suite }} - dev-gcov: 0 strategy: fail-fast: false matrix: - include: - # Ubuntu 26.04 clang - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: dist-vlt-0} - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: dist-vlt-1} - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: dist-vlt-2} - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: dist-vlt-3} - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: vltmt-0} - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: vltmt-1} - - {os: ubuntu-26.04, cc: clang, reloc: 0, suite: vltmt-2} + suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1, vltmt-2] test-2404-gcc: - name: Test | ${{ matrix.os }} | ${{ matrix.cc }} | ${{ matrix.suite }} + name: Test | 24.04 | gcc | ${{ matrix.suite }} needs: build-2404-gcc uses: ./.github/workflows/reusable-test.yml with: archive: ${{ needs.build-2404-gcc.outputs.archive }} - os: ${{ matrix.os }} - cc: ${{ matrix.cc }} - reloc: ${{ matrix.reloc }} + cc: gcc + runs-on: ubuntu-24.04 suite: ${{ matrix.suite }} - dev-gcov: 0 strategy: fail-fast: false matrix: - include: - # Ubuntu 24.04 gcc - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: dist-vlt-0} - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: dist-vlt-1} - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: dist-vlt-2} - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: dist-vlt-3} - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: vltmt-0} - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: vltmt-1} - - {os: ubuntu-24.04, cc: gcc, reloc: 0, suite: vltmt-2} + suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1, vltmt-2] test-2404-clang: - name: Test | ${{ matrix.os }} | ${{ matrix.cc }} | ${{ matrix.suite }} + name: Test | 24.04 | clang | ${{ matrix.suite }} needs: build-2404-clang uses: ./.github/workflows/reusable-test.yml with: archive: ${{ needs.build-2404-clang.outputs.archive }} - os: ${{ matrix.os }} - cc: ${{ matrix.cc }} - reloc: ${{ matrix.reloc }} + cc: clang + reloc: true # Test with relocated installation + runs-on: ubuntu-24.04 suite: ${{ matrix.suite }} - dev-gcov: 0 strategy: fail-fast: false matrix: - include: - # Ubuntu 24.04 clang, also test relocation - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: dist-vlt-0} - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: dist-vlt-1} - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: dist-vlt-2} - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: dist-vlt-3} - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: vltmt-0} - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: vltmt-1} - - {os: ubuntu-24.04, cc: clang, reloc: 1, suite: vltmt-2} + suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1, vltmt-2] test-2204-gcc: - name: Test | ${{ matrix.os }} | ${{ matrix.cc }} | ${{ matrix.suite }} + name: Test | 22.04 | gcc | ${{ matrix.suite }} needs: build-2204-gcc uses: ./.github/workflows/reusable-test.yml with: archive: ${{ needs.build-2204-gcc.outputs.archive }} - os: ${{ matrix.os }} - cc: ${{ matrix.cc }} - reloc: ${{ matrix.reloc }} + cc: gcc + runs-on: ubuntu-22.04 suite: ${{ matrix.suite }} - dev-gcov: 0 strategy: fail-fast: false matrix: - include: - # Ubuntu 22.04 gcc - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: dist-vlt-0} - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: dist-vlt-1} - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: dist-vlt-2} - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: dist-vlt-3} - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: vltmt-0} - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: vltmt-1} - - {os: ubuntu-22.04, cc: gcc, reloc: 0, suite: vltmt-2} + suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1, vltmt-2] lint-py: name: Lint Python diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 3b21b8f48..00ab5329e 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -38,14 +38,13 @@ jobs: (github.event_name == 'workflow_dispatch') uses: ./.github/workflows/reusable-build.yml with: + cc: gcc + dev-gcov: true + runs-on: ubuntu-24.04 # For pull requests, build the head of the pull request branch, not the # merge commit, otherwise patch coverage would include the changes # between the root of the pull request and the target branch sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} - os: ubuntu-24.04 - cc: gcc - dev-asan: 0 - dev-gcov: 1 test: name: Test | ${{ matrix.test }}${{ matrix.num }} @@ -53,11 +52,10 @@ jobs: uses: ./.github/workflows/reusable-test.yml with: archive: ${{ needs.build.outputs.archive }} - os: ubuntu-24.04 cc: gcc - reloc: 0 + dev-gcov: true + runs-on: ubuntu-24.04 suite: ${{ matrix.test }}${{ matrix.num }} - dev-gcov: 1 strategy: fail-fast: false matrix: diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index a956d927e..4b26610bc 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -7,25 +7,41 @@ name: reusable-build on: workflow_call: inputs: + cc: + description: "Compiler to use: 'gcc' or 'clang'" + required: true + type: string + ccwarn: + description: "Build Verilator with warnings treated as errors (--enable-ccwarn)" + required: false + default: true + type: boolean + dev-asan: + description: "Build Verilator with the address sanitizer (--enable-dev-asan)" + required: false + default: false + type: boolean + dev-gcov: + description: "Build Verilator with gcov instrumentation (--enable-dev-gcov)" + required: false + default: false + type: boolean + install: + description: "Archive the Verilator installation, not the repo tree" + required: false + default: false + type: boolean + runs-on: + description: "Runner to build on, e.g. ubuntu-24.04" + required: true + type: string sha: description: "Commit SHA to build" required: true type: string - os: # e.g. ubuntu-24.04 - required: true - type: string - cc: # 'clang' or 'gcc' - required: true - type: string - dev-asan: - required: true - type: number - dev-gcov: - required: true - type: number outputs: archive: - description: "Name of the built repository archive artifact" + description: "Name of the built archive artifact" value: ${{ jobs.build.outputs.archive }} env: @@ -42,19 +58,21 @@ jobs: build: name: Build - runs-on: ${{ inputs.os }} + runs-on: ${{ inputs.runs-on }} outputs: archive: ${{ steps.create-archive.outputs.archive }} env: - CACHE_BASE_KEY: build-${{ inputs.os }}-${{ inputs.cc }} - CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total) + CACHE_BASE_KEY: build-${{ inputs.runs-on }}-${{ inputs.cc }} + CCACHE_MAXSIZE: 1000M steps: - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 with: path: repo ref: ${{ inputs.sha }} - fetch-depth: ${{ inputs.dev-gcov && '0' || '1' }} # Coverage flow needs full history + # Coverage needs full history; install needs it for the 'git describe' + # behind 'verilator --version' + fetch-depth: ${{ (inputs.install || inputs.dev-gcov) && '0' || '1' }} - name: Cache $CCACHE_DIR uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5 @@ -74,24 +92,33 @@ jobs: ./ci/ci-build.bash \ --prefix ${{ github.workspace }}/install \ --compiler ${{ inputs.cc }} \ - --ccwarn \ + ${{ inputs.ccwarn && '--ccwarn' || '' }} \ ${{ inputs.dev-asan && '--asan' || '' }} \ ${{ inputs.dev-gcov && '--gcov' || '' }} - - name: Create repository archive + - name: Install + if: ${{ inputs.install }} + run: make install + + - name: Create archive id: create-archive working-directory: ${{ github.workspace }} run: | - # Name of the archive must be unique based on the build parameters - ARCHIVE=verilator-${{ inputs.sha }}-${{ inputs.os }}-${{ inputs.cc }}-${{ inputs.dev-asan }}-${{ inputs.dev-gcov }}.tar.zst - # zstd compresses faster than gzip and decompresses far faster in the many downstream test jobs - ZSTD_NBTHREADS=0 tar --posix --zstd -c -f $ARCHIVE repo + # Archive name, unique per build; flavour tags mark non-default builds + ARCHIVE="verilator-${{ inputs.sha }}-${{ inputs.runs-on }}-${{ inputs.cc }}" + ARCHIVE="$ARCHIVE${{ inputs.ccwarn && '-ccwarn' || '' }}" + ARCHIVE="$ARCHIVE${{ inputs.dev-asan && '-asan' || '' }}" + ARCHIVE="$ARCHIVE${{ inputs.dev-gcov && '-gcov' || '' }}" + ARCHIVE="$ARCHIVE.tar.zst" + # zstd compresses faster than gzip and decompresses far faster in the many downstream jobs + ZSTD_NBTHREADS=0 tar --posix --zstd -c -f "$ARCHIVE" ${{ inputs.install && 'install' || 'repo' }} echo "archive=$ARCHIVE" >> "$GITHUB_OUTPUT" - - name: Upload repository archive + - name: Upload archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: path: ${{ github.workspace }}/${{ steps.create-archive.outputs.archive }} name: ${{ steps.create-archive.outputs.archive }} + overwrite: true # Archive is already zstd-compressed; skip upload-artifact's zip pass compression-level: 0 diff --git a/.github/workflows/reusable-rtlmeter-build.yml b/.github/workflows/reusable-rtlmeter-build.yml deleted file mode 100644 index 1c0078207..000000000 --- a/.github/workflows/reusable-rtlmeter-build.yml +++ /dev/null @@ -1,99 +0,0 @@ ---- -# DESCRIPTION: Github actions config -# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 - -name: reusable-rtlmeter-build - -on: - workflow_call: - inputs: - runs-on: - description: "Runner to use, e.g.: ubuntu-24.04" - type: string - required: true - cc: - description: "Compiler to use: 'gcc' or 'clang'" - type: string - required: true - sha: - description: "Git SHA to build" - type: string - required: true - outputs: - archive: - description: "Name of the built installation archive artifact" - value: ${{ jobs.build.outputs.archive }} - -defaults: - run: - shell: bash - -env: - CCACHE_DIR: ${{ github.workspace }}/ccache - CCACHE_MAXSIZE: 512M - -jobs: - build: - name: Build - runs-on: ${{ inputs.runs-on }} - outputs: - archive: ${{ steps.create-archive.outputs.archive }} - steps: - - name: Install dependencies - run: | - echo "path-exclude /usr/share/doc/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc - echo "path-exclude /usr/share/man/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc - echo "path-exclude /usr/share/info/*" | sudo tee -a /etc/dpkg/dpkg.cfg.d/01_nodoc - sudo apt update || \ - sudo apt update - sudo apt install ccache mold help2man libfl-dev libjemalloc-dev libsystemc-dev || \ - sudo apt install ccache mold help2man libfl-dev libjemalloc-dev libsystemc-dev - - - name: Use saved ccache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v5 - with: - path: ccache - key: rtlmeter-build-ccache-${{ inputs.runs-on }}-${{ inputs.cc }}-${{ inputs.sha }}-${{ github.run_id }}-${{ github.run_attempt }} - restore-keys: | - rtlmeter-build-ccache-${{ inputs.runs-on }}-${{ inputs.cc }}-${{ inputs.sha }}-${{ github.run_id }} - rtlmeter-build-ccache-${{ inputs.runs-on }}-${{ inputs.cc }}-${{ inputs.sha }} - rtlmeter-build-ccache-${{ inputs.runs-on }}-${{ inputs.cc }} - - - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - with: - path: repo - ref: ${{ inputs.sha }} - fetch-depth: 0 # Required for 'git describe' used for 'verilator --version' - - - name: Configure - working-directory: repo - run: | - autoconf - ./configure --prefix=${{ github.workspace }}/install CXX=${{ inputs.cc == 'clang' && 'clang++' || 'g++' }} - - - name: Make - working-directory: repo - run: make -j $(nproc) - - - name: Install - working-directory: repo - run: make install - - - name: Tar up installation - id: create-archive - run: | - SHA=$(git -C repo rev-parse HEAD) - ARCHIVE=verilator-$SHA-rtlmeter-${{ inputs.runs-on }}-${{ inputs.cc }}.tar.zst - # zstd compresses faster than gzip and decompresses far faster in the downstream run jobs - ZSTD_NBTHREADS=0 tar --posix --zstd -c -f $ARCHIVE install - echo "archive=$ARCHIVE" >> $GITHUB_OUTPUT - - - name: Upload Verilator installation archive - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 - with: - path: ${{ steps.create-archive.outputs.archive }} - name: ${{ steps.create-archive.outputs.archive }} - overwrite: true - # Archive is already zstd-compressed; skip upload-artifact's zip pass - compression-level: 0 diff --git a/.github/workflows/reusable-rtlmeter-run.yml b/.github/workflows/reusable-rtlmeter-run.yml index c4dfbf913..55cc4bc55 100644 --- a/.github/workflows/reusable-rtlmeter-run.yml +++ b/.github/workflows/reusable-rtlmeter-run.yml @@ -20,11 +20,11 @@ on: type: string required: true verilator-archive-new: - description: "Name of the installation archive artifact from reusable-rtlmeter-build, new version" + description: "Name of the installation archive artifact from reusable-build, new version" type: string required: true verilator-archive-old: - description: "Name of the installation archive artifact from reusable-rtlmeter-build, old version" + description: "Name of the installation archive artifact from reusable-build, old version" type: string required: false default: "" diff --git a/.github/workflows/reusable-test.yml b/.github/workflows/reusable-test.yml index 1c393c4f0..8782f17e4 100644 --- a/.github/workflows/reusable-test.yml +++ b/.github/workflows/reusable-test.yml @@ -11,21 +11,28 @@ on: description: "Name of the repository archive artifact from reusable-build" required: true type: string - os: # e.g. ubuntu-24.04 - required: true - type: string - cc: # gcc or clang - required: true - type: string - reloc: # 0 or 1 - required: true - type: number - suite: # e.g. dist-vlt-0 + cc: + description: "Compiler to use: 'gcc' or 'clang'" required: true type: string dev-gcov: + description: "Collect gcov coverage data from the test run" + required: false + default: false + type: boolean + reloc: + description: "Relocate the installation before testing" + required: false + default: false + type: boolean + runs-on: + description: "Runner to test on, e.g. ubuntu-24.04" required: true - type: number + type: string + suite: + description: "Test suite to run, e.g. dist-vlt-0" + required: true + type: string env: CCACHE_COMPRESS: 1 @@ -40,11 +47,11 @@ defaults: jobs: test: - runs-on: ${{ inputs.os }} + runs-on: ${{ inputs.runs-on }} name: Test env: CXX: ${{ inputs.cc == 'clang' && 'clang++' || 'g++' }} - CACHE_BASE_KEY: test-${{ inputs.os }}-${{ inputs.cc }}-${{inputs.reloc }}-${{ inputs.suite }} + CACHE_BASE_KEY: test-${{ inputs.runs-on }}-${{ inputs.cc }}-${{ inputs.reloc }}-${{ inputs.suite }} CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total) steps: diff --git a/.github/workflows/rtlmeter.yml b/.github/workflows/rtlmeter.yml index 1848d4ec8..c0f7506cd 100644 --- a/.github/workflows/rtlmeter.yml +++ b/.github/workflows/rtlmeter.yml @@ -65,39 +65,47 @@ jobs: build-gcc-new: name: Build New Verilator - GCC needs: start - uses: ./.github/workflows/reusable-rtlmeter-build.yml + uses: ./.github/workflows/reusable-build.yml with: - runs-on: ubuntu-24.04 cc: gcc + ccwarn: false + install: true + runs-on: ubuntu-24.04 sha: ${{ github.sha }} build-clang-new: name: Build New Verilator - Clang needs: start - uses: ./.github/workflows/reusable-rtlmeter-build.yml + uses: ./.github/workflows/reusable-build.yml with: - runs-on: ubuntu-24.04 cc: clang + ccwarn: false + install: true + runs-on: ubuntu-24.04 sha: ${{ github.sha }} build-gcc-old: name: Build Old Verilator - GCC needs: start if: ${{ needs.start.outputs.old-sha != '' }} - uses: ./.github/workflows/reusable-rtlmeter-build.yml + uses: ./.github/workflows/reusable-build.yml with: - runs-on: ubuntu-24.04 cc: gcc + ccwarn: false + install: true + runs-on: ubuntu-24.04 sha: ${{ needs.start.outputs.old-sha }} build-clang-old: name: Build Old Verilator - Clang needs: start if: ${{ needs.start.outputs.old-sha != '' }} - uses: ./.github/workflows/reusable-rtlmeter-build.yml + uses: ./.github/workflows/reusable-build.yml with: - runs-on: ubuntu-24.04 cc: clang + ccwarn: false + install: true + runs-on: ubuntu-24.04 sha: ${{ needs.start.outputs.old-sha }} run-gcc: diff --git a/ci/ci-install.bash b/ci/ci-install.bash index db71c8159..1f58184ea 100755 --- a/ci/ci-install.bash +++ b/ci/ci-install.bash @@ -153,7 +153,9 @@ else fi # Report where the tools we may have installed live (ok if some are missing) +set +x +echo "Tools:" for bin in autoconf bear bison ccache flex gdb help2man jq lcov mold perl wavediff z3; do - echo -n "$bin " - which "$bin" || true + echo -n " $bin: " + which "$bin" || echo "Not found" done