mirror of
https://github.com/ItsDrike/network-monitor.git
synced 2024-12-25 13:34:34 +00:00
Add simple lint workflow
This commit is contained in:
parent
c195d7f368
commit
4d90c4fbfe
66
.github/workflows/lint.yaml
vendored
Normal file
66
.github/workflows/lint.yaml
vendored
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
name: Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
PRE_COMMIT_HOME: ${{ github.workspace }}/.cache/pre-commit-cache
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
name: Linting check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Python is required for pip installation of pre-commit
|
||||||
|
- name: Python setup
|
||||||
|
id: python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.9.5'
|
||||||
|
|
||||||
|
# Install pre-commit with pip
|
||||||
|
- name: Install pre-commit
|
||||||
|
run: pip install pre-commit
|
||||||
|
|
||||||
|
# Cache pre-commit environment
|
||||||
|
# the key consists relevant factors to allow updating, when pre-commit changes
|
||||||
|
- name: Pre-commit Environment Caching
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ env.PRE_COMMIT_HOME }}
|
||||||
|
key: "precommit-0-${{ runner.os }}-${{ env.PRE_COMMIT_HOME }}-\
|
||||||
|
${{ steps.python.outputs.python-version }}-\
|
||||||
|
${{ hashFiles('./.pre-commit-config.yaml') }}"
|
||||||
|
|
||||||
|
# Make a user install for pre-commit by using PIP_USER=0
|
||||||
|
- name: Run pre-commit hooks
|
||||||
|
run: export PIP_USER=0; pre-commit run --all-files
|
||||||
|
|
||||||
|
# Prepare the Pull Request Payload artifact. If this fails, we
|
||||||
|
# we fail silently using the `continue-on-error` option. It's
|
||||||
|
# nice if this succeeds, but if it fails for any reason, it
|
||||||
|
# does not mean that our lint-test checks failed.
|
||||||
|
- name: Prepare Pull Request Payload artifact
|
||||||
|
id: prepare-artifact
|
||||||
|
if: always() && github.event_name == 'pull_request'
|
||||||
|
continue-on-error: true
|
||||||
|
run: cat $GITHUB_EVENT_PATH | jq '.pull_request' > pull_request_payload.json
|
||||||
|
|
||||||
|
# This only makes sense if the previous step succeeded. To
|
||||||
|
# get the original outcome of the previous step before the
|
||||||
|
# `continue-on-error` conclusion is applied, we use the
|
||||||
|
# `.outcome` value. This step also fails silently.
|
||||||
|
- name: Upload a Build Artifact
|
||||||
|
if: always() && steps.prepare-artifact.outcome == 'success'
|
||||||
|
continue-on-error: true
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: pull-request-payload
|
||||||
|
path: pull_request_payload.json
|
Loading…
Reference in a new issue