Skip to content

Commit

Permalink
[ci] Move in-depth lints to GitHub Actions
Browse files Browse the repository at this point in the history
Signed-off-by: James Wainwright <[email protected]>
  • Loading branch information
jwnrt committed Sep 30, 2024
1 parent 67b6432 commit 079e8ee
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 52 deletions.
41 changes: 40 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,45 @@ jobs:
- name: Generated documentation
run: ./ci/scripts/check-cmdgen.sh

slow_lint:
name: Lint (slow)
runs-on: ubuntu-20.04
needs: quick_lint
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Bitstream cache requires all commits.
- name: Install dependencies
uses: ./.github/actions/install-deps
- name: Countermeasures implemented (earlgrey)
run: ./ci/scripts/check-countermeasures.sh earlgrey
continue-on-error: true
- name: Bazel test suite tags
run: ./ci/scripts/check_bazel_test_suites.py
continue-on-error: true
- name: Banned Bazel rules
run: ./ci/check-bazel-banned-rules.sh
- name: Bazel target names
run: ./ci/scripts/check_bazel_target_names.py
continue-on-error: true
- name: DV software images
run: ./ci/scripts/check_dv_sw_images.sh
continue-on-error: true
- name: Build documentation
run: ./ci/scripts/build-docs.sh
- name: Generated files
run: ./ci/scripts/check-generated.sh
- name: Buildifier
run: ./ci/bazelisk.sh test //quality:buildifier_check
- name: Vendored files
run: ./ci/scripts/check-vendoring.sh
- name: Verible RTL
run: ./ci/scripts/verible-lint.sh rtl
- name: Verible DV
run: ./ci/scripts/verible-lint.sh dv
- name: Verible FPV
run: ./ci/scripts/verible-lint.sh fpv

airgapped_build:
name: Airgapped build
runs-on: ubuntu-20.04
Expand All @@ -66,7 +105,7 @@ jobs:
- name: Build in the airgapped environment
run: ./ci/scripts/test-airgapped-build.sh

verible-lint:
verible_lint:
name: Verible lint
runs-on: ubuntu-24.04
needs: quick_lint
Expand Down
51 changes: 0 additions & 51 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,57 +125,6 @@ jobs:
condition: eq(variables['Build.Reason'], 'PullRequest')
displayName: Confirm no .bazelrc-site files

- job: slow_lints
displayName: Quality (in-depth lint)
# Run code quality checks (in-depth lint)
dependsOn: lint
pool:
vmImage: ubuntu-20.04
steps:
- template: ci/checkout-template.yml
- template: ci/install-package-dependencies.yml
# Check that all earlgrey countermeasures are implemented.
- bash: ci/scripts/check-countermeasures.sh earlgrey
displayName: Check countermeasures for top_earlgrey
continueOnError: True
# Bazel test suites are a common cause of problematic tags. Check test suites
# before checking for other tag issues.
- bash: ci/scripts/check_bazel_test_suites.py
displayName: Check Bazel test suites (Experimental)
continueOnError: True
# #21973: Disabled until Verilator tags are fixed in our build tree.
#- bash: ci/scripts/check-bazel-tags.sh
# displayName: Check Bazel Tags (Experimental)
# continueOnError: True
- bash: ci/scripts/check-bazel-banned-rules.sh
displayName: Check for banned rules
- bash: ci/scripts/check_bazel_target_names.py
displayName: Check Bazel target names (Experimental)
continueOnError: True
- bash: ci/scripts/check_dv_sw_images.sh
displayName: Check DV software images (Experimental)
continueOnError: True
- bash: ci/scripts/build-docs.sh
displayName: Render documentation
# Define OT_DESTRUCTIVE=1 to enable ci/scripts/check-generated.sh to delete
# uncommitted changes.
- bash: OT_DESTRUCTIVE=1 ci/scripts/check-generated.sh
displayName: Check Generated
# Ensure all generated files are clean and up-to-date
- bash: ci/bazelisk.sh test //quality:buildifier_check --test_output=streamed
displayName: Buildifier (Bazel lint)
- bash: ci/scripts/check-vendoring.sh
displayName: Vendored directories
- bash: ci/scripts/verible-lint.sh rtl
condition: eq(variables['Build.Reason'], 'PullRequest')
displayName: Verible RTL (Verilog lint)
- bash: ci/scripts/verible-lint.sh dv
condition: eq(variables['Build.Reason'], 'PullRequest')
displayName: Verible DV (Verilog lint)
- bash: ci/scripts/verible-lint.sh fpv
condition: eq(variables['Build.Reason'], 'PullRequest')
displayName: Verible FPV (Verilog lint)

- job: sw_build
displayName: Earl Grey SW Build
# Build software tests for the Earl Grey toplevel design
Expand Down

0 comments on commit 079e8ee

Please sign in to comment.