[TT-1013] CLI tool to cleanup go test logs and make errors/panics more prominent #3563
Workflow file for this run
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
name: (all packages) Lints | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
tools: | |
name: Get tool-versions | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Parse tool-versions file | |
uses: smartcontractkit/[email protected] | |
id: tool-versions | |
outputs: | |
golangci-lint-version: ${{ steps.tool-versions.outputs.golangci-lint_version }} | |
golangci: | |
name: Linting | |
runs-on: ubuntu-latest | |
needs: [tools] | |
steps: | |
- name: Check out Code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Install Go | |
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/setup-go@00c6214deb10a3f374c6d3430c32c5202015d463 # v2.2.12 | |
with: | |
test_download_vendor_packages_command: go mod download | |
go_mod_path: ./go.mod | |
cache_key_id: ctf-go | |
cache_restore_only: 'false' | |
- name: golangci-lint ${{ needs.tools.outputs.golangci-lint-version }} | |
uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0 | |
with: | |
version: v${{ needs.tools.outputs.golangci-lint-version }} | |
args: --out-format checkstyle:golangci-lint-report.xml | |
- name: Print lint report artifact | |
if: always() | |
run: test -f golangci-lint-report.xml || true | |
- name: Store lint report artifact | |
if: always() | |
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 | |
with: | |
name: golangci-lint-report | |
path: golangci-lint-report.xml | |
vulnerabilities-check: | |
name: Check for Vulnerabilities | |
runs-on: ubuntu-latest | |
needs: [tools] | |
steps: | |
- name: Check out Code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Install Go | |
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/setup-go@00c6214deb10a3f374c6d3430c32c5202015d463 # v2.2.12 | |
with: | |
test_download_vendor_packages_command: go mod download | |
go_mod_path: ./go.mod | |
cache_key_id: ctf-go | |
cache_restore_only: 'false' | |
- name: Write Go List | |
run: go list -json -deps ./... > go.list | |
- name: Nancy | |
uses: sonatype-nexus-community/nancy-github-action@726e338312e68ecdd4b4195765f174d3b3ce1533 # v1.0.3 | |
asdf-install: | |
name: Validate GitHub Action Workflows | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Install asdf dependencies | |
uses: asdf-vm/actions/install@05e0d2ed97b598bfce82fd30daf324ae0c4570e6 # v3.0.2 | |
prettier: | |
name: Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Run Prettier | |
uses: creyD/prettier_action@31355f8eef017f8aeba2e0bc09d8502b13dbbad1 # v4.3 | |
with: | |
dry: true | |
prettier_options: --write **/*.{yaml,yml,json} --config ./.prettierrc.yaml --ignore-path ./.prettierignore | |
helmlint: | |
name: Lint Helm Charts | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
# Without this parameter, the merged commit that CI produces will make it so that ct will | |
# not detect a diff even if one exists | |
fetch-depth: 0 | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@b43128a8b25298e1e7b043b78ea6613844e079b1 # v2.6.0 | |
- name: Add helm chart repo | |
run: helm repo add chainlink-qa https://raw.githubusercontent.com/smartcontractkit/qa-charts/gh-pages/ | |
- name: Run chart-testing (lint) | |
run: ct lint --config ${{ github.workspace }}/.github/configs/ct.yaml | |
actionlint: | |
name: Validate GitHub Action Workflows | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Run actionlint | |
uses: reviewdog/action-actionlint@82693e9e3b239f213108d6e412506f8b54003586 # v1.39.1 | |
sonarqube: | |
name: SonarQube Analysis | |
needs: [golangci] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 # fetches all history for all tags and branches to provide more metadata for sonar reports | |
- name: Download all workflow run artifacts | |
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 | |
- name: SonarQube Scan | |
uses: sonarsource/sonarqube-scan-action@4b0bfc149f5e285930eeb5e917327e66660c6e92 # v2.0.0 | |
with: | |
args: > | |
-Dsonar.go.golangci-lint.reportPaths=golangci-lint-report/golangci-lint-report.xml | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} |