Skip to content

Update .gitattributes and pull_request_template.md (#37) #151

Update .gitattributes and pull_request_template.md (#37)

Update .gitattributes and pull_request_template.md (#37) #151

Workflow file for this run

# This workflow will install Python dependencies and run tests
# For more information see:
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: tests
on: # yamllint disable-line rule:truthy
push:
branches: ["main"]
pull_request:
branches: ["main"]
workflow_dispatch:
inputs:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
poetry-version: ["1.5"]
node_version: ["lts/*"]
steps:
- name: Check out source repository
uses: actions/checkout@v3
- name: Set up poetry
uses: abatilo/actions-poetry@v2
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node_version }}
check-latest: true
- name: Install Python Dependencies
run: poetry install --with daq,web,ana,dev
- name: Install Node Dependencies
run: sudo npm install --global standard prettier
- name: poetry
run: poetry check && poetry lock --no-update
- name: isort
run: poetry run isort .
- name: black
run: poetry run black --check --diff .
- name: blacken-docs
run: poetry run blacken-docs --line-length=100 $(git ls-files '*.py') $(git ls-files '*.md') $(git ls-files '*.rst') # yamllint disable-line rule:line-length
- name: flake8
run: poetry run flake8 --version && poetry run flake8
- name: mypy
run: poetry run mypy .
- name: pylint
run: poetry run pylint $(git ls-files '*.py')
- name: bandit
run: poetry run bandit -r .
- name: vulture
run: poetry run vulture
- name: pyupgrade
run: poetry run pyupgrade
- name: detect-secrets
run: poetry run detect-secrets-hook --exclude-lines 'integrity='
- name: yamllint
run: poetry run yamllint -c .dev_config/.yamllint.yaml --strict .
- name: blocklint
run: poetry run blocklint --skip-files=poetry.lock --max-issue-threshold=1
- name: markdownlint-cli
uses: nosborn/[email protected]
with:
files: .
dot: true
config_file: .dev_config/.markdownlint.yaml
ignore_files: LICENSE.md
- name: standard
run: standard
- name: html5validator
uses: Cyb3r-Jak3/html5validator-action@master # blocklint: pragma
with:
config: .dev_config/.html5validator.yaml
- name: prettier
id: prettier
run: prettier --ignore-path .dev_config/.prettierignore --ignore-path .gitignore --config .dev_config/.prettierrc.yaml --check . # yamllint disable-line rule:line-length
- name: checkmake
uses: Uno-Takashi/checkmake-action@main
- name: shellcheck shfmt checkbashisms
uses: luizm/action-sh-checker@master # blocklint: pragma
env:
SHFMT_OPTS: -bn -ci -sr -s -d
with:
sh_checker_checkbashisms_enable: true