Files
firezone/.github/workflows/_static-analysis.yml
Jamil 6f7f6a4f34 style: Enforce code style across all supported languages using Prettier (#7322)
This ensure that we run prettier across all supported filetypes to check
for any formatting / style inconsistencies. Previously, it was only run
for files in the website/ directory using a deprecated pre-commit
plugin.

The benefit to keeping this in our pre-commit config is that devs can
optionally run these checks locally with `pre-commit run --config
.github/pre-commit-config.yaml`.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-11-13 00:19:15 +00:00

76 lines
2.2 KiB
YAML

name: Static Analysis
on:
workflow_call:
jobs:
pr-lint:
if: github.event_name == 'pull_request'
runs-on: ubuntu-22.04
permissions:
pull-requests: read
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
version-check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Check version is up to date
run: |
make -f scripts/Makefile version
if [ -z "$(git status --porcelain)" ]; then
# Working directory clean
echo "Version manifests up to date"
else
# Uncommitted changes
echo '`make version` found outdated files! Showing diff'
git diff
exit 1
fi
link-check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: lycheeverse/lychee-action@v2.0.2
with:
fail: true
args: --offline --verbose --no-progress **/*.md
global-linter:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: actions/cache/restore@v4
name: Restore Python Cache
id: cache
with:
path: ~/.cache/pip
key: ubuntu-22.04-${{ runner.arch }}-pip-${{ hashFiles('.github/requirements.txt') }}
- name: Install Python Dependencies
run: |
pip install -r .github/requirements.txt
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y shfmt
npm install -g prettier
- name: Run pre-commit
run: |
pre-commit install --config .github/pre-commit-config.yaml
SKIP=no-commit-to-branch pre-commit run --all-files --config .github/pre-commit-config.yaml
- uses: actions/cache/save@v4
if: ${{ steps.cache.outputs.cache-hit != 'true'}}
name: Save Python Cache
with:
path: ~/.cache/pip
key: ${{ steps.cache.outputs.cache-primary-key }}