mirror of
https://github.com/serge-chat/serge.git
synced 2024-01-15 09:32:12 +03:00
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
111 lines
2.8 KiB
YAML
111 lines
2.8 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: "--verbose"
|
|
- name: Run black check
|
|
uses: psf/black@stable
|
|
with:
|
|
options: "--check --diff --verbose"
|
|
src: "./api"
|
|
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
|