format: main.py file reformatted #1396
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This GitHub Actions workflow contains four jobs: | |
# -- First, Lint Code uses the latest Ubuntu image and Python 3.9 to check | |
# the code for defects, using the Poetry lint task. | |
# -- Second, Lint Markdown uses the latest Ubuntu image and markdownlint to | |
# check markdown files for defects. | |
# -- Third, Check Spelling uses the latest Ubuntu image and cspell to check for spelling | |
# defects in the markdown. | |
# -- Fourth, Test uses a strategy matrix to test the code with different operating | |
# systems and Python versions and determine code coverage, using the Poetry test task. | |
name: Lint and Test | |
on: [push, pull_request] | |
jobs: | |
code: | |
name: Lint Code | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup Python 3.7 | |
uses: actions/setup-python@v2 | |
id: setup-python | |
with: | |
python-version: 3.7 | |
- name: Install Poetry | |
uses: Gr1N/setup-poetry@v8 | |
with: | |
poetry-version: 1.5.0 | |
- name: Setup Poetry | |
run: | | |
poetry --version | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
poetry env info | |
- name: Install dependencies | |
run: poetry install --no-interaction --no-ansi | |
- name: Lint code | |
run: poetry run task lint | |
markdown: | |
name: Lint Markdown | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Run markdownlint | |
uses: DavidAnson/markdownlint-cli2-action@v4 | |
spelling: | |
name: Check Spelling | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Run cspell | |
uses: zwaldowski/cspell-action@v1 | |
with: | |
paths: "**/*.md" | |
config: .github/cspell.json | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.8", "3.10"] | |
include: | |
- os: macos-latest | |
python-version: "3.9" | |
- os: windows-latest | |
python-version: "3.9" | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON: ${{ matrix.python-version }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: Gr1N/setup-poetry@v8 | |
with: | |
poetry-version: 1.5.0 | |
- name: Setup Poetry | |
run: | | |
poetry --version | |
poetry config virtualenvs.create true | |
poetry config virtualenvs.in-project true | |
poetry env info | |
- name: Install dependencies | |
run: poetry install --no-interaction --no-ansi | |
- name: Execute tests | |
if: matrix.os != 'windows-latest' | |
run: poetry run task test | |