schema package: Build a python package with the schema #36
Workflow file for this run
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
# SPDX-License-Identifier: Apache-2.0 | |
name: Lint | |
on: | |
push: | |
branches: | |
- "main" | |
paths: | |
- '**.py' | |
- 'pyproject.toml' | |
- 'tox.ini' | |
- 'scripts/**' | |
- 'src/instructlab/schema/v*/**/*.json' | |
- '.github/workflows/lint.yml' # This workflow | |
pull_request: | |
branches: | |
- "main" | |
paths: | |
- '**.py' | |
- 'pyproject.toml' | |
- 'tox.ini' | |
- 'scripts/**' | |
- 'src/instructlab/schema/v*/**/*.json' | |
- '.github/workflows/lint.yml' # This workflow | |
env: | |
LC_ALL: en_US.UTF-8 | |
defaults: | |
run: | |
shell: bash | |
permissions: | |
contents: read | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Setup tox" | |
id: python | |
uses: ./.github/actions/python.yml | |
with: | |
python-version: "3.11" | |
python-packages: "tox" | |
- name: "JSON schema validation" | |
if: ${{ !cancelled() && (steps.python.outputs.install-outcome == 'success') }} | |
run: | | |
# shellcheck disable=SC2046 | |
tox -e jsonschema -- $(find src/instructlab/schema/v* -name "*.json") | |
- name: "Ruff" | |
if: ${{ !cancelled() && (steps.python.outputs.install-outcome == 'success') }} | |
run: | | |
tox -e ruff -- check | |
env: | |
RUFF_OUTPUT_FORMAT: github | |
- name: "Pylint" | |
if: ${{ !cancelled() && (steps.python.outputs.install-outcome == 'success') }} | |
run: | | |
echo "::add-matcher::.github/workflows/matchers/pylint.json" | |
tox -e lint | |
- name: "Remove Pylint matchers" | |
if: ${{ !cancelled() && (steps.python.outputs.install-outcome == 'success') }} | |
run: | | |
echo "::remove-matcher owner=pylint-error::" | |
echo "::remove-matcher owner=pylint-warning::" | |
- name: "mypy" | |
if: ${{ !cancelled() && (steps.python.outputs.install-outcome == 'success') }} | |
run: | | |
echo "::add-matcher::.github/workflows/matchers/mypy.json" | |
tox -e mypy | |
- name: "Remove mypy matchers" | |
if: ${{ !cancelled() && (steps.python.outputs.install-outcome == 'success') }} | |
run: | | |
echo "::remove-matcher owner=mypy::" |