Skip to content

Commit

Permalink
Add nocommit linter (#5905)
Browse files Browse the repository at this point in the history
* Add nocommit linter
* Combine minor linters into one workflow with different jobs

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yuri Shkuro <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
  • Loading branch information
3 people authored Sep 2, 2024
1 parent f4c975c commit 5bd6980
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 88 deletions.
88 changes: 82 additions & 6 deletions .github/workflows/ci-lint-checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,45 @@ jobs:

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.x

- name: Print Jaeger version for no reason
run: make echo-v1 echo-v2

- name: Install tools
run: make install-test-tools

- name: Lint
run: make lint

pull-request-preconditions:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after a couple of runs

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Ensure PR is not on main branch
uses: ./.github/actions/block-pr-not-on-main

- name: lint-nocommit
run: make lint-nocommit

dco-check:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after a couple of runs

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Set up Python 3.x for DCO check
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
Expand All @@ -39,15 +75,55 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

generated-files-check:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs

- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
submodules: recursive

- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.x

- name: Print Jaeger version for no reason
run: make echo-v1 echo-v2
- name: Verify Protobuf types are up to date
run: make proto && git diff --name-status --exit-code

- name: Install tools
run: make install-test-tools
- name: Verify Thrift types are up to date
run: make thrift && git diff --name-status --exit-code

- name: Lint
run: make lint
- name: Verify Mockery types are up to date
run: make generate-mocks && git diff --name-status --exit-code

lint-shell-scripts:
runs-on: ubuntu-latest

steps:
- name: Harden Runner
uses: step-security/harden-runner@0d381219ddf674d61a7572ddd19d7941e271515c # v2.9.0
with:
egress-policy: audit

- name: Check out code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Install shellcheck
run: sudo apt-get install shellcheck

- name: Run shellcheck
run: shellcheck scripts/*.sh

- name: Install shunit2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
repository: kward/shunit2
path: .tools/shunit2

- name: Run unit tests for scripts
run: |
SHUNIT2=.tools/shunit2 bash scripts/compute-tags.test.sh
42 changes: 0 additions & 42 deletions .github/workflows/ci-lint-protogen.yml

This file was deleted.

40 changes: 0 additions & 40 deletions .github/workflows/ci-lint-shell-scripts.yml

This file was deleted.

10 changes: 10 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,16 @@ lint-license:
@./scripts/updateLicense.py $(ALL_SRC) $(SCRIPTS_SRC) > $(FMT_LOG)
@[ ! -s "$(FMT_LOG)" ] || (echo "License check failures, run 'make fmt'" | cat - $(FMT_LOG) && false)

.PHONY: lint-nocommit
lint-nocommit:
@if git diff main | grep '@no''commit' ; then \
echo "❌ Cannot merge PR that contains @no""commit string" ; \
GIT_PAGER=cat git diff -G '@no''commit' main ; \
false ; \
else \
echo "✅ Changes do not contain @no""commit string" ; \
fi

.PHONY: lint-imports
lint-imports:
@echo Verifying that all Go files have correctly ordered imports
Expand Down

0 comments on commit 5bd6980

Please sign in to comment.