sintonia/.github/workflows/project.yml

82 lines
2.1 KiB
YAML

name: Project
on:
push:
branches: [main]
pull_request:
types: [opened, reopened, synchronize, edited]
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-project-pre-commit-pip-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: |
${{ runner.os }}-project-pre-commit-pip
- uses: pre-commit/action@v3.0.0
check-shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-project-check-shell-pip
restore-keys: |
${{ runner.os }}-project-check-shell-pip
- uses: actions/cache@v3
with:
path: |
/usr/local/bin/shellcheck*
/usr/local/bin/shfmt*
key: ${{ runner.os }}-project-check-shell-tools
restore-keys: |
${{ runner.os }}-project-check-shell-tools
- run: |
python -m venv venv && source venv/bin/activate
pip install gh-release-install
sudo venv/bin/gh-release-install \
koalaman/shellcheck \
shellcheck-{tag}.linux.x86_64.tar.xz --extract shellcheck-{tag}/shellcheck \
/usr/local/bin/shellcheck \
--version-file '{destination}.version'
sudo venv/bin/gh-release-install \
mvdan/sh \
shfmt_{tag}_linux_amd64 \
/usr/local/bin/shfmt \
--version-file '{destination}.version'
- run: SEVERITY=warning make shell-check
test-tools:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
- run: make all
working-directory: tools