I've manually audited our usage and it doesn't look like credentials were printed anywhere, but before they do for another PR, just remove the usage. If this ends up failing CI, thats also fine, I'll just remove packer validation and manually run it if that file changes.
99 lines
2.6 KiB
YAML
99 lines
2.6 KiB
YAML
---
|
|
name: 'lint'
|
|
|
|
# yamllint disable-line rule:truthy
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- '*'
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
|
|
concurrency:
|
|
group: lint-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
hadolint:
|
|
name: hadolint
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v4
|
|
- name: Run hadolint
|
|
uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf
|
|
# v3.0.0 => 4b5806eb9c6bee4954fc0e0cc3ad6175fc9782c1
|
|
|
|
markdown-lint:
|
|
name: markdown-lint
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v4
|
|
- name: Setup node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
cache: 'npm'
|
|
cache-dependency-path: '.github/workflows/lint.yml'
|
|
- name: Install markdownlint-cli
|
|
run: npm install -g markdownlint-cli@0.35.0
|
|
- name: Run markdown-lint
|
|
run: markdownlint -c .github/linters/.markdown-lint.yml *.md **/*.md
|
|
|
|
packer:
|
|
name: packer
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
- name: Setup packer
|
|
uses: hashicorp/setup-packer@main
|
|
with:
|
|
version: latest
|
|
- name: Run packer init
|
|
run: "make image/init/digitalocean"
|
|
env:
|
|
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Run `packer validate`
|
|
env:
|
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
run: "make image/validate/digitalocean"
|
|
|
|
shellcheck:
|
|
name: shellcheck
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v4
|
|
- name: Run shellcheck
|
|
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38
|
|
# 1.1.0 => 94e0aab03ca135d11a35e5bfc14e6746dc56e7e9
|
|
|
|
shfmt:
|
|
name: shfmt
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v4
|
|
- name: Run shfmt
|
|
uses: luizm/action-sh-checker@17bd25a6ee188d2b91f677060038f4ba37ba14b2
|
|
# v0.5.0 => edd0e45ecff35b05f162052b50df50976c1b74fc
|
|
env:
|
|
SHFMT_OPTS: -l -bn -ci -i 2 -d
|
|
with:
|
|
sh_checker_shellcheck_disable: true
|
|
|
|
yamllint:
|
|
name: yamllint
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v4
|
|
- name: Run yamllint
|
|
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c
|
|
# v3.1.1 => 2576378a8e339169678f9939646ee3ee325e845c
|
|
with:
|
|
config_file: '.github/linters/.yamllint.yml'
|