diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5fb5ddf --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,50 @@ +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