Fixes to UI components, accessibility labels. Removal of unused python dependencies. Migrate from black to ruff for formatting. --------- Co-authored-by: morpheus2448 <41052975+morpheus2448@users.noreply.github.com>
111 lines
2.9 KiB
YAML
111 lines
2.9 KiB
YAML
name: CI Checks
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
paths-ignore:
|
|
- "**.md"
|
|
- LICENSE
|
|
- "docker-compose.yml"
|
|
- "docker-compose.dev.yml"
|
|
- ".github/ISSUE_TEMPLATE/*.yml"
|
|
- ".github/dependabot.yml"
|
|
- ".github/release-drafter.yml"
|
|
pull_request:
|
|
branches:
|
|
- "*"
|
|
paths-ignore:
|
|
- "**.md"
|
|
- LICENSE
|
|
- "docker-compose.yml"
|
|
- "docker-compose.dev.yml"
|
|
- ".github/ISSUE_TEMPLATE/*.yml"
|
|
- ".github/dependabot.yml"
|
|
- ".github/release-drafter.yml"
|
|
workflow_dispatch:
|
|
release:
|
|
types: [published, edited]
|
|
|
|
jobs:
|
|
check-json-syntax:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check syntax of models JSON file
|
|
run: cat ./api/src/serge/data/models.json | jq -e .
|
|
validate-models-schema:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Validate models.json against a json schema
|
|
uses: cardinalby/schema-validator-action@v3
|
|
with:
|
|
file: './api/src/serge/data/models.json'
|
|
schema: './api/src/serge/schema/schema.json'
|
|
fileParser: json
|
|
mode: default
|
|
python-unit-tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install dependencies with poetry
|
|
working-directory: ./api
|
|
run: |
|
|
pip install poetry
|
|
poetry install
|
|
- name: Run unit tests
|
|
working-directory: ./api
|
|
run: |
|
|
poetry run python -m pytest
|
|
check-sh-files:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: luizm/action-sh-checker@v0.8.0
|
|
env:
|
|
SHFMT_OPTS: "-s"
|
|
SHELLCHECK_OPTS: "-P scripts/ -e SC1091"
|
|
with:
|
|
sh_checker_only_diff: false
|
|
sh_checker_comment: false
|
|
check-api-code:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Run ruff check
|
|
uses: chartboost/ruff-action@v1
|
|
with:
|
|
src: "./api"
|
|
args: "check --verbose"
|
|
- name: Run ruff format check
|
|
uses: chartboost/ruff-action@v1
|
|
with:
|
|
src: "./api"
|
|
args: "format --check --verbose"
|
|
check-web-code:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
- name: Install Web
|
|
working-directory: ./web
|
|
run: npm ci
|
|
- name: Run linting
|
|
working-directory: ./web
|
|
run: npm run lint
|
|
- name: Check Type Errors
|
|
working-directory: ./web
|
|
run: npm run check
|
|
- name: Build Web
|
|
working-directory: ./web
|
|
run: npm run build
|