51 lines
1.0 KiB
YAML
51 lines
1.0 KiB
YAML
name: CI Pipeline
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- Development
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- Development
|
|
|
|
jobs:
|
|
build-and-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
# 1. Check out code
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
# 2. Set up Python
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.9'
|
|
|
|
# 3. Install dependencies
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install black isort flake8 pylint pytest python-dotenv
|
|
|
|
# 4. Run code format checks
|
|
- name: Check code formatting with Black
|
|
run: black --check .
|
|
|
|
- name: Check import order with isort
|
|
run: isort --check-only .
|
|
|
|
# 5. Run linters
|
|
- name: Run flake8
|
|
run: flake8
|
|
|
|
- name: Run pylint
|
|
run: pylint frontend services utils
|
|
|
|
# 6. Run unit tests
|
|
- name: Run pytest
|
|
run: pytest
|