Skip to content

[Mint] πŸ€‘ New token model implementation #1299

[Mint] πŸ€‘ New token model implementation

[Mint] πŸ€‘ New token model implementation #1299

Workflow file for this run

name: Lint
on:
workflow_call:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: lint-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-commits:
runs-on: ubuntu-22.04
if: github.actor != 'dependabot[bot]'
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check commits
uses: wagoid/commitlint-github-action@v5
lint-markdown:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Lint regular markdown files
uses: avto-dev/markdown-lint@v1.5.0
with:
args: '**/*.md'
ignore: 'CHANGELOG.md docs/**/*.md'
- name: Lint generated markdown files
uses: avto-dev/markdown-lint@v1.5.0
with:
args: 'docs/**/*.md'
config: 'docs/.markdownlint.yaml'
lint-yaml:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Lint yaml files
uses: ibiqlik/action-yamllint@v3.1.1
lint-json:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Lint json files
run: |
sudo apt install -y jsonlint
find ./ -type f -name "*.json" -exec sh -c '
for file do
if ! jsonlint-php -q "$file"; then
echo "❌ $file"
export FAILED=1
else
echo "βœ… $file"
fi
done
if [ "${FAILED}" = "1" ]; then
exit 1
fi
' sh {} +
lint-go:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Find changed go files
id: changed-go-files
uses: tj-actions/changed-files@v35.9.2
with:
files: |
**/*.go
go.mod
go.sum
- name: Setup Go environment
uses: actions/setup-go@v4.0.1
if: steps.changed-go-files.outputs.any_changed == 'true'
with:
go-version: '1.20'
cache: false
- name: Lint go code (golangci-lint)
uses: golangci/golangci-lint-action@v3
if: steps.changed-go-files.outputs.any_changed == 'true'
with:
version: v1.53
- name: Lint go code (gofumpt)
if: steps.changed-go-files.outputs.any_changed == 'true'
run: |
go install mvdan.cc/gofumpt@v0.4.0
if [ "$(gofumpt -l .)" != "" ]; then
echo "❌ Code is not gofumpt!"
exit 1
fi
echo "βœ… Code is gofumpt!"
lint-dockerfile:
runs-on: ubuntu-22.04
if: github.actor != 'dependabot[bot]'
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Lint dockerfile (hadolint)
uses: hadolint/hadolint-action@v3.1.0
with:
verbose: true
lint-proto:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Find changed proto files
id: changed-proto-files
uses: tj-actions/changed-files@v35.9.2
with:
files: |
proto/**/*.proto
- name: Lint proto files
if: steps.changed-proto-files.outputs.any_changed == 'true'
run: |
make lint-proto
lint-generated:
runs-on: ubuntu-22.04
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Setup Go environment
uses: actions/setup-go@v4.0.1
with:
go-version: '1.20'
- name: Generate command documentation
run: |
make doc-command
- name: Generate proto and documentation
run: |
make doc-proto
- name: Check Git diff in generated files (proto + docs)
run: |
if [[ $(git status -s | grep --fixed-strings -v "go.mod" | grep --fixed-strings -v "go.sum") != "" ]]; then
>&2 echo "❌ There is a diff between generated files and source code"
>&2 git status
exit 1
fi