Skip to content

Merge branch 'master' into temp/megh-git-poetry-dev #4399

Merge branch 'master' into temp/megh-git-poetry-dev

Merge branch 'master' into temp/megh-git-poetry-dev #4399

Workflow file for this run

name: Static analysis
on: push
jobs:
# Run linter and format checkers independently, so you see errors from both.
linter-check:
name: linter-check
runs-on: ubuntu-latest
container: ghcr.io/fossas/haskell-dev-tools:9.4.8
steps:
- uses: dtolnay/rust-toolchain@stable
with:
components: "clippy,rustfmt"
- uses: actions/checkout@v4
- name: Run hlint
run: |
make lint
link-check:
name: link-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Markdown links
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: "yes"
config-file: ".markdown-link-check.json"
- name: Disallow empty Markdown links
run: |
! grep ']()' **/*.md
format-check:
name: formatter-check
runs-on: ubuntu-latest
container: ghcr.io/fossas/haskell-dev-tools:9.4.8
steps:
- uses: dtolnay/rust-toolchain@stable
with:
components: "clippy,rustfmt"
- uses: actions/checkout@v4
# Run the formatter
- name: run fourmolu
run: |
make check-fmt
cabal-format-check:
name: cabal-format-check
runs-on: ubuntu-latest
container: ghcr.io/fossas/haskell-dev-tools:9.4.8
steps:
- uses: actions/checkout@v4
# Run the formatter
- name: "run cabal-fmt"
run: |
cabal-fmt --check spectrometer.cabal
schema-lint-check:
name: "schema lint check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: json-syntax-check
uses: limitusus/json-syntax-check@v1
with:
pattern: "docs.*\\.schema\\.json$"
common-verbiage-check:
name: "Check for correct spelling of FOSSA"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Check for incorrect FOSSA wording"
run: |
! grep 'Fossa ' **/*.md
shellcheck-check:
name: "Lint bash scripts"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: run shellcheck
uses: sudo-bot/action-shellcheck@latest
with:
# https://github.com/koalaman/shellcheck#how-to-use
cli-args: "*.sh"