CI: One-time yamlfix cleanups. No functional change intended.

This commit is contained in:
Wilson Snyder 2024-09-15 14:37:09 -04:00
parent 48a607cc78
commit 99a29acca0
9 changed files with 220 additions and 236 deletions

View File

@ -1,6 +1,6 @@
--- ---
exclude_paths: exclude_paths:
- '.github/**' - ".github/**"
- 'ci/build_verilator.sh' - "ci/build_verilator.sh"
- 'include/vltstd/**' - "include/vltstd/**"
- 'nodist/fastcov.py' - "nodist/fastcov.py"

View File

@ -1,3 +1,4 @@
---
# DESCRIPTION: Github actions config # DESCRIPTION: Github actions config
# This name is key to badges in README.rst, so we use the name build # This name is key to badges in README.rst, so we use the name build
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 # SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
@ -9,7 +10,7 @@ on:
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 0 * * 0' # weekly - cron: '0 0 * * 0' # weekly
env: env:
CI_OS_NAME: linux CI_OS_NAME: linux
@ -37,12 +38,12 @@ jobs:
matrix: matrix:
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04] os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04]
compiler: compiler:
- { cc: clang, cxx: clang++ } - {cc: clang, cxx: clang++}
- { cc: gcc, cxx: g++ } - {cc: gcc, cxx: g++}
include: include:
# Build GCC 10 on ubuntu-20.04 # Build GCC 10 on ubuntu-20.04
- os: ubuntu-20.04 - os: ubuntu-20.04
compiler: { cc: gcc-10, cxx: g++-10 } compiler: {cc: gcc-10, cxx: g++-10}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
name: Build | ${{ matrix.os }} | ${{ matrix.compiler.cc }} name: Build | ${{ matrix.os }} | ${{ matrix.compiler.cc }}
env: env:
@ -51,41 +52,40 @@ jobs:
CC: ${{ matrix.compiler.cc }} CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }} CXX: ${{ matrix.compiler.cxx }}
CACHE_BASE_KEY: build-${{ matrix.os }}-${{ matrix.compiler.cc }} CACHE_BASE_KEY: build-${{ matrix.os }}-${{ matrix.compiler.cc }}
CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total) CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total)
VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: repo path: repo
- name: Cache $CCACHE_DIR - name: Cache $CCACHE_DIR
uses: actions/cache@v4 uses: actions/cache@v4
env: env:
CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache
with: with:
path: ${{ env.CCACHE_DIR }} path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_KEY }}-${{ github.sha }} key: ${{ env.CACHE_KEY }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ env.CACHE_KEY }}- ${{ env.CACHE_KEY }}-
- name: Install packages for build - name: Install packages for build
run: ./ci/ci-install.bash run: ./ci/ci-install.bash
- name: Build - name: Build
run: ./ci/ci-script.bash run: ./ci/ci-script.bash
- name: Tar up repository - name: Tar up repository
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo
- name: Upload tar archive
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }}
name: ${{ env.VERILATOR_ARCHIVE }}
- name: Upload tar archive
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }}
name: ${{ env.VERILATOR_ARCHIVE }}
test: test:
needs: build needs: build
@ -94,25 +94,25 @@ jobs:
matrix: matrix:
os: [ubuntu-22.04, ubuntu-20.04] os: [ubuntu-22.04, ubuntu-20.04]
compiler: compiler:
- { cc: clang, cxx: clang++ } - {cc: clang, cxx: clang++}
- { cc: gcc, cxx: g++ } - {cc: gcc, cxx: g++}
reloc: [0] reloc: [0]
suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1] suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1]
include: include:
# Test with GCC 10 on ubuntu-20.04, also test relocation # Test with GCC 10 on ubuntu-20.04, also test relocation
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-0} - {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-0}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-1} - {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-1}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-2} - {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-2}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-3} - {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-3}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: vltmt-0} - {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: vltmt-0}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: vltmt-1} - {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: vltmt-1}
# Ubuntu 24.04 only on GCC; not passing on clang yet # Ubuntu 24.04 only on GCC; not passing on clang yet
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-0} - {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-0}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-1} - {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-1}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-2} - {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-2}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-3} - {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-3}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: vltmt-0} - {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: vltmt-0}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: vltmt-1} - {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: vltmt-1}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
name: Test | ${{ matrix.os }} | ${{ matrix.compiler.cc }} | ${{ matrix.reloc && 'reloc | ' || '' }} ${{ matrix.suite }} name: Test | ${{ matrix.os }} | ${{ matrix.compiler.cc }} | ${{ matrix.reloc && 'reloc | ' || '' }} ${{ matrix.suite }}
env: env:
@ -122,37 +122,37 @@ jobs:
CC: ${{ matrix.compiler.cc }} CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }} CXX: ${{ matrix.compiler.cxx }}
CACHE_BASE_KEY: test-${{ matrix.os }}-${{ matrix.compiler.cc }}-${{ matrix.reloc }}-${{ matrix.suite }} CACHE_BASE_KEY: test-${{ matrix.os }}-${{ matrix.compiler.cc }}-${{ matrix.reloc }}-${{ matrix.suite }}
CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total) CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total)
VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz
steps: steps:
- name: Download tar archive - name: Download tar archive
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: ${{ env.VERILATOR_ARCHIVE }} name: ${{ env.VERILATOR_ARCHIVE }}
path: ${{ github.workspace }} path: ${{ github.workspace }}
- name: Unpack tar archive - name: Unpack tar archive
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }} run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }}
- name: Cache $CCACHE_DIR - name: Cache $CCACHE_DIR
uses: actions/cache@v4 uses: actions/cache@v4
env: env:
CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache2 CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache2
with: with:
path: ${{ env.CCACHE_DIR }} path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_KEY }}-${{ github.sha }} key: ${{ env.CACHE_KEY }}-${{ github.sha }}
restore-keys: | restore-keys: |
${{ env.CACHE_KEY }}- ${{ env.CACHE_KEY }}-
- name: Install test dependencies - name: Install test dependencies
run: ./ci/ci-install.bash run: ./ci/ci-install.bash
- name: Test - name: Test
env: env:
TESTS: ${{ matrix.suite }} TESTS: ${{ matrix.suite }}
run: ./ci/ci-script.bash run: ./ci/ci-script.bash
lint-py: lint-py:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
@ -161,21 +161,21 @@ jobs:
CI_BUILD_STAGE_NAME: build CI_BUILD_STAGE_NAME: build
CI_RUNS_ON: ubuntu-22.04 CI_RUNS_ON: ubuntu-22.04
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: repo path: repo
- name: Install packages for build - name: Install packages for build
run: ./ci/ci-install.bash run: ./ci/ci-install.bash
# We use specific version numbers, otherwise a Python package # We use specific version numbers, otherwise a Python package
# update may add a warning and break our build # update may add a warning and break our build
- name: Install packages for lint - name: Install packages for lint
run: sudo pip3 install pylint==3.0.2 ruff==0.1.3 clang sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe ruff run: sudo pip3 install pylint==3.0.2 ruff==0.1.3 clang sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe ruff
- name: Configure - name: Configure
run: autoconf && ./configure --enable-longtests --enable-ccwarn run: autoconf && ./configure --enable-longtests --enable-ccwarn
- name: Lint - name: Lint
run: make -k lint-py run: make -k lint-py

View File

@ -1,17 +1,16 @@
---
# DESCRIPTION: Github actions config # DESCRIPTION: Github actions config
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 # SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
#
name: Contributor Agreement name: Contributor Agreement
on: on:
push: push:
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
Test: Test:
name: "'docs/CONTRIBUTORS' was signed" name: "'docs/CONTRIBUTORS' was signed"
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: test_regress/t/t_dist_contributors.py - run: test_regress/t/t_dist_contributors.py

View File

@ -1,3 +1,4 @@
---
# DESCRIPTION: Github actions config # DESCRIPTION: Github actions config
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 # SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
@ -6,7 +7,7 @@ name: coverage
on: on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 0 * * 0' # weekly - cron: '0 0 * * 0' # weekly
env: env:
CI_OS_NAME: linux CI_OS_NAME: linux
@ -21,7 +22,6 @@ defaults:
jobs: jobs:
Build: Build:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
env: env:
@ -29,49 +29,36 @@ jobs:
CI_RUNS_ON: ubuntu-22.04 CI_RUNS_ON: ubuntu-22.04
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
path: repo path: repo
- name: Install packages for build - name: Install packages for build
run: ./ci/ci-install.bash run: ./ci/ci-install.bash
- name: Build - name: Build
run: ./ci/ci-script.bash run: ./ci/ci-script.bash
- name: Tar up repository - name: Tar up repository
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo
- name: Upload tar archive
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }}
name: ${{ env.VERILATOR_ARCHIVE }}
- name: Upload tar archive
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }}
name: ${{ env.VERILATOR_ARCHIVE }}
Test: Test:
needs: Build needs: Build
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
test: test: [vlt-, vltmt-]
- vlt- num: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- vltmt-
num:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
include: include:
- { test: dist, num: '' } - {test: dist, num: ''}
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
name: test-${{ matrix.test }}${{ matrix.num }} name: test-${{ matrix.test }}${{ matrix.num }}
env: env:
@ -79,27 +66,27 @@ jobs:
CI_RUNS_ON: ubuntu-22.04 CI_RUNS_ON: ubuntu-22.04
steps: steps:
- name: Download tar archive - name: Download tar archive
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: ${{ env.VERILATOR_ARCHIVE }} name: ${{ env.VERILATOR_ARCHIVE }}
path: ${{ github.workspace }} path: ${{ github.workspace }}
- name: Unpack tar archive - name: Unpack tar archive
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }} run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }}
- name: Install test dependencies - name: Install test dependencies
run: ./ci/ci-install.bash run: ./ci/ci-install.bash
- name: Test - name: Test
env: env:
TESTS: coverage-${{ matrix.test }}${{ matrix.num }} TESTS: coverage-${{ matrix.test }}${{ matrix.num }}
run: ./ci/ci-script.bash run: ./ci/ci-script.bash
- name: Upload coverage data to Codecov - name: Upload coverage data to Codecov
env: env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: | run: |
find . -name '*.gcno' -exec rm {} \; find . -name '*.gcno' -exec rm {} \;
./ci/codecov -v upload-process -Z --sha ${{ github.sha }} -f nodist/obj_dir/coverage/app_total.info ./ci/codecov -v upload-process -Z --sha ${{ github.sha }} -f nodist/obj_dir/coverage/app_total.info

View File

@ -1,3 +1,4 @@
---
# Build and push verilator docker image when tags are pushed to the repository. # Build and push verilator docker image when tags are pushed to the repository.
# The following variable(s) must be configured in the github repository: # The following variable(s) must be configured in the github repository:
# DOCKER_HUB_NAMESPACE: docker hub namespace. # DOCKER_HUB_NAMESPACE: docker hub namespace.
@ -8,7 +9,7 @@ name: Build Verilator Container
on: on:
push: push:
tags: [ 'v*' ] tags: ['v*']
workflow_dispatch: workflow_dispatch:
inputs: inputs:
manual_tag: manual_tag:
@ -34,52 +35,52 @@ jobs:
# - "ci/docker/buildenv:verilator-buildenv" # - "ci/docker/buildenv:verilator-buildenv"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Extract context variables - name: Extract context variables
run: | run: |
echo "${{ matrix.contexts }}" | sed -r 's/(.*):.*/build_context=\1/' >> "$GITHUB_ENV" echo "${{ matrix.contexts }}" | sed -r 's/(.*):.*/build_context=\1/' >> "$GITHUB_ENV"
echo "${{ matrix.contexts }}" | sed -r 's/.*:(.*)/image_name=\1/' >> "$GITHUB_ENV" echo "${{ matrix.contexts }}" | sed -r 's/.*:(.*)/image_name=\1/' >> "$GITHUB_ENV"
echo "git_tag=${GITHUB_REF#refs/*/}" >> "$GITHUB_ENV" echo "git_tag=${GITHUB_REF#refs/*/}" >> "$GITHUB_ENV"
- name: Use manual tag - name: Use manual tag
if: ${{ inputs.manual_tag }} if: ${{ inputs.manual_tag }}
run: | run: |
echo "git_tag=${{ inputs.manual_tag }}" >> "$GITHUB_ENV" echo "git_tag=${{ inputs.manual_tag }}" >> "$GITHUB_ENV"
- name: Docker meta - name: Docker meta
id: docker_meta id: docker_meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v4
with: with:
images: | images: |
${{ vars.DOCKER_HUB_NAMESPACE }}/${{ env.image_name }} ${{ vars.DOCKER_HUB_NAMESPACE }}/${{ env.image_name }}
tags: | tags: |
type=match,pattern=(v.*),group=1,enable=${{ startsWith(github.ref, 'refs/tags/v') }} type=match,pattern=(v.*),group=1,enable=${{ startsWith(github.ref, 'refs/tags/v') }}
type=raw,value=${{ inputs.manual_tag }},enable=${{ inputs.manual_tag != '' }} type=raw,value=${{ inputs.manual_tag }},enable=${{ inputs.manual_tag != '' }}
type=raw,value=latest,enable=${{ inputs.add_latest_tag == true }} type=raw,value=latest,enable=${{ inputs.add_latest_tag == true }}
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
with: with:
buildkitd-flags: --debug buildkitd-flags: --debug
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v2 uses: docker/login-action@v2
with: with:
username: ${{ secrets.DOCKER_HUB_USER }} username: ${{ secrets.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and Push to Docker - name: Build and Push to Docker
uses: docker/build-push-action@v4 uses: docker/build-push-action@v4
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
with: with:
context: ${{ env.build_context }} context: ${{ env.build_context }}
build-args: SOURCE_COMMIT=${{ env.git_tag }} build-args: SOURCE_COMMIT=${{ env.git_tag }}
platforms: linux/arm64,linux/amd64 platforms: linux/arm64,linux/amd64
push: ${{ !env.ACT && startsWith(github.ref, 'refs/tags/v') }} push: ${{ !env.ACT && startsWith(github.ref, 'refs/tags/v') }}
tags: ${{ steps.docker_meta.outputs.tags }} tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }} labels: ${{ steps.docker_meta.outputs.labels }}

View File

@ -1,13 +1,12 @@
---
# DESCRIPTION: Github actions config # DESCRIPTION: Github actions config
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 # SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
#
name: format name: format
on: on:
push: push:
pull_request_target: pull_request_target:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
format: format:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04

View File

@ -1,55 +1,50 @@
---
# DESCRIPTION: Github actions config # DESCRIPTION: Github actions config
# This name is key to badges in README.rst, so we use the name build # This name is key to badges in README.rst, so we use the name build
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 # SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
#
name: msbuild name: msbuild
on: on:
push: push:
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 0 * * 0' # weekly - cron: 0 0 * * 0 # weekly
env: env:
CI_OS_NAME: win CI_OS_NAME: win
CI_COMMIT: ${{ github.sha }} CI_COMMIT: ${{ github.sha }}
CCACHE_COMPRESS: 1 CCACHE_COMPRESS: 1
CCACHE_DIR: ${{ github.workspace }}/.ccache CCACHE_DIR: ${{ github.workspace }}/.ccache
CCACHE_LIMIT_MULTIPLE: 0.95 CCACHE_LIMIT_MULTIPLE: 0.95
defaults: defaults:
run: run:
working-directory: repo working-directory: repo
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.ref || github.run_id }} group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.ref || github.run_id }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
windows:
windows:
name: run on windows name: run on windows
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
path: repo path: repo
- name: Cache $CCACHE_DIR - name: Cache $CCACHE_DIR
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: ${{ env.CCACHE_DIR }} path: ${{ env.CCACHE_DIR }}
key: msbuild-msvc-cmake key: msbuild-msvc-cmake
- name: compile - name: compile
env: env:
WIN_FLEX_BISON: ${{ github.workspace }}/.ccache WIN_FLEX_BISON: ${{ github.workspace }}/.ccache
run: ./ci/ci-win-compile.ps1 run: ./ci/ci-win-compile.ps1
- name: test build - name: test build
run: ./ci/ci-win-test.ps1 run: ./ci/ci-win-test.ps1
- name: Zip up repository - name: Zip up repository
run: Compress-Archive -LiteralPath install -DestinationPath verilator.zip run: Compress-Archive -LiteralPath install -DestinationPath verilator.zip
- name: Upload zip archive - name: Upload zip archive
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
path: ${{ github.workspace }}/repo/verilator.zip path: ${{ github.workspace }}/repo/verilator.zip
name: verilator-win.zip name: verilator-win.zip

View File

@ -458,6 +458,11 @@ clang-format:
|| echo "*** You are not using clang-format-14, indents may differ from master's ***" || echo "*** You are not using clang-format-14, indents may differ from master's ***"
$(CLANGFORMAT) $(CLANGFORMAT_FLAGS) $(CLANGFORMAT_FILES) $(CLANGFORMAT) $(CLANGFORMAT_FLAGS) $(CLANGFORMAT_FILES)
YAMLFIX = YAMLFIX_WHITELINES=1 YAMLFIX_LINE_LENGTH=130 YAMLFIX_preserve_quotes=true yamlfix
yamlfix:
$(YAMLFIX) .
# Python programs, subject to format and lint # Python programs, subject to format and lint
PY_PROGRAMS = \ PY_PROGRAMS = \
bin/verilator_ccache_report \ bin/verilator_ccache_report \

View File

@ -1,3 +1,4 @@
---
# DESCRIPTION: codecov.io config # DESCRIPTION: codecov.io config
# #
# Copyright 2020-2024 by Wilson Snyder. This program is free software; you # Copyright 2020-2024 by Wilson Snyder. This program is free software; you
@ -8,31 +9,28 @@
#################### ####################
# Validate: # Validate:
# curl --data-binary @codecov.yml https://codecov.io/validate # curl --data-binary @codecov.yml https://codecov.io/validate
#
codecov: codecov:
require_ci_to_pass: no require_ci_to_pass: false
coverage: coverage:
precision: 2 precision: 2
round: down round: down
range: "50...100" range: 50...100
ignore: ignore:
- "ci" - "ci" #
- "docs" - "docs" #
- "examples" - "examples" #
- "include/gtkwave" - "include/gtkwave" #
- "include/vltstd" - "include/vltstd" #
- "test_regress" - "test_regress" #
parsers: parsers:
gcov: gcov:
branch_detection: branch_detection:
conditional: yes conditional: true
loop: yes loop: true
method: no method: false
macro: no macro: false
comment: comment:
layout: "reach,diff,flags,tree" layout: "reach,diff,flags,tree"
behavior: default behavior: default
require_changes: yes require_changes: true