Run NFR tests on 1st and 15th of every month (#2249) #6238
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: Lint | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- "**" | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: ${{ github.ref_name }}-lint | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
lint: | |
name: Go Lint | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
directory: [., tests] # we need to run golangci-lint for every module https://github.com/golangci/golangci-lint/issues/828 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Setup Golang Environment | |
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
with: | |
go-version: stable | |
- name: Lint Go | |
uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1 | |
with: | |
working-directory: ${{ matrix.directory }} | |
njs-lint: | |
name: NJS Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Get Prettier version | |
id: prettier-version | |
run: | | |
echo "version=$(jq -r .devDependencies.prettier ${{ github.workspace }}/internal/mode/static/nginx/modules/package.json)" >> $GITHUB_OUTPUT | |
- name: Setup Node.js Environment | |
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 | |
with: | |
node-version-file: .nvmrc | |
- name: Run Prettier on NJS code | |
id: prettier-run | |
uses: rutajdash/prettier-cli-action@d42c4325a3b344f3bd4be482bc34de521998d557 # v1.0.2 | |
with: | |
config_path: ${{ github.workspace }}/internal/mode/static/nginx/modules/.prettierrc | |
file_pattern: ${{ github.workspace }}/internal/mode/static/nginx/modules/**/*.js | |
prettier_version: ${{ steps.prettier-version.outputs.version }} | |
- name: Prettier Output | |
if: failure() | |
shell: bash | |
run: | | |
echo "The following files are not formatted:" | |
echo "${{steps.prettier-run.outputs.prettier_output}}" | |
echo "Run \"make njs-fmt\" locally to format the code" | |
actionlint: | |
name: Actionlint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Lint Actions | |
uses: reviewdog/action-actionlint@4f8f9963ca57a41e5fd5b538dd79dbfbd3e0b38a # v1.54.0 | |
with: | |
actionlint_flags: -shellcheck "" | |
markdown-lint: | |
name: Markdown Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Lint Markdown | |
uses: DavidAnson/markdownlint-cli2-action@b4c9feab76d8025d1e83c653fa3990936df0e6c8 # v16.0.0 | |
with: | |
config: .markdownlint-cli2.yaml | |
globs: "**/*.md" | |
fix: false | |
chart-lint: | |
name: Chart Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 | |
with: | |
python-version: "3.x" | |
check-latest: true | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1 | |
- name: Run chart-testing | |
run: ct lint --print-config --config .ct.yaml | |
yaml-lint: | |
name: YAML lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Lint YAML | |
uses: reviewdog/action-yamllint@4e4ba96d03a0e12a0e71c29e5fef1db309d09201 # v1.18.0 |