hw: Improve performance counters for bring-up (#155) #2171
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2023 ETH Zurich and University of Bologna. | |
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
# SPDX-License-Identifier: Apache-2.0 | |
# Run all lint checks | |
name: lint | |
on: [push, pull_request] | |
jobs: | |
################ | |
# Verible Lint # | |
################ | |
verible-lint: | |
name: Lint Verilog sources | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: chipsalliance/verible-linter-action@main | |
with: | |
paths: | | |
./hw | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
fail_on_error: true | |
reviewdog_reporter: github-check | |
extra_args: "--waiver_files util/lint/waiver.verible" | |
verible_version: "v0.0-3318-g8d254167" | |
##################### | |
# Vendor Up-to-Date # | |
##################### | |
bender-vendor-up-to-date: | |
name: Check bender vendor up-to-date | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check bender vendor up-to-date | |
uses: pulp-platform/pulp-actions/[email protected] | |
###################### | |
# Sources Up-to-Date # | |
###################### | |
sources-up-to-date: | |
name: Check Sources Up-to-Date | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/pulp-platform/snitch_cluster:main | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Generate opcodes | |
run: | | |
./util/generate-opcodes.sh | |
- name: Generate RTL sources | |
working-directory: target/snitch_cluster | |
run: | | |
make rtl | |
# For some reason, the checkout is done by a different user, | |
# than that running `git diff` (root, possibly due to Docker). | |
# So we need to set the repository as a safe directory. | |
- name: Git config safe.directory | |
run: | | |
git config --global --add safe.directory $GITHUB_WORKSPACE | |
- name: Diff porcelain | |
uses: mmontes11/[email protected] | |
with: | |
message: Found differences, please update all sources | |
################# | |
# Check License # | |
################# | |
license-lint: | |
name: Check License headers | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check License | |
uses: pulp-platform/pulp-actions/[email protected] | |
with: | |
patches: 0001-Allow-hash-comments-in-assembly.patch | |
# We cover ETH Zurich and lowRISC licenses and Apache 2.0 | |
# (mostly for SW) and Solderpad for the hardware. | |
# yamllint disable rule:line-length | |
license: | | |
Copyright (\d{4}(-\d{4})?\s)?(ETH Zurich and University of Bologna|lowRISC contributors). | |
(Solderpad Hardware License, Version 0.51|Licensed under the Apache License, Version 2.0), see LICENSE for details. | |
SPDX-License-Identifier: (SHL-0.51|Apache-2.0) | |
# yamllint enable rule:line-length | |
match_regex: true | |
exclude_paths: | | |
sw/snRuntime/src/omp/interface.h | |
################## | |
# Lint YML Files # | |
################## | |
yaml-lint: | |
name: Lint YAML Sources | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: yaml-lint | |
uses: ibiqlik/action-yamllint@v3 | |
with: | |
config_file: util/lint/.yamllint.yml | |
######################## | |
# Check Python Sources # | |
######################## | |
python-lint: | |
runs-on: ubuntu-latest | |
name: Lint Python Sources | |
steps: | |
- name: Check out source repository | |
uses: actions/checkout@v3 | |
- name: Set up Python environment | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: flake8 Lint | |
uses: py-actions/flake8@v2 | |
with: | |
flake8-version: "6.0.0" | |
max-line-length: "100" | |
###################### | |
# Clang-Format Check # | |
###################### | |
# Check C/C++ files for correct formatting. | |
clangfmt: | |
name: Lint C/C++ Sources | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: DoozyX/[email protected] | |
with: | |
clangFormatVersion: 10 | |
###################### | |
# Lint Editor Config # | |
###################### | |
# Detect trailing whitespaces, missing new lines and wrong file encodings. | |
editorconfig-lint: | |
name: Lint Editorconfig | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: editorconfig-checker/action-editorconfig-checker@main | |
- run: editorconfig-checker |