Skip to content

edited ci workflow

edited ci workflow #10

Workflow file for this run

name: CI Pipeline
on:
push:
branches:
- add_ci_and_linting
pull_request:
types: [opened, reopened]
branches:
- master
jobs:
eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18.x'
- name: Install Node.js dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
black_lint_and_mypy_type_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
pip install black mypy
pip install fastapi pydantic pydantic-settings sqlalchemy GeoAlchemy2 pytest
- name: Check code formatting with black
run: black --check .
- name: Type check with mypy
run: mypy --config-file mypy.ini .
python_test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install Python Dependencies
run: |
pip install -r requirements.txt
- name: Run Python Tests with Pytest
run: pytest backend/database/tests
js_test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install JS Test Dependencies
run: npm ci
- name: Run JS Tests with Jest
run: npm test
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Docker
run: docker-compose up -d --build
- name: Clean Up
run: docker-compose down --volumes