Skip to content

Update CI workflow to exclude ruff and use rye for dependency management #1

Update CI workflow to exclude ruff and use rye for dependency management

Update CI workflow to exclude ruff and use rye for dependency management #1

Workflow file for this run

# .github/workflows/ci-backend.yml
name: CI Backend
on:
push:
paths:
- 'backend/**'
- '.github/workflows/**'
pull_request:
paths:
- 'backend/**'
- '.github/workflows/**'
jobs:
build-and-test:
runs-on: ubuntu-22.04 # Specify the Ubuntu version explicitly
strategy:
matrix:
python-version: [3.11, 3.12]
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v3
# Step 2: Install Rye
- name: Install Rye
run: |
curl -sSL https://rye-up.com/install.sh | bash
echo "$HOME/.local/bin" >> $GITHUB_PATH # Add Rye to PATH
# Step 3: Set up Python environment with Rye
- name: Set up Python ${{ matrix.python-version }}
run: |
rye env install python=${{ matrix.python-version }}
# Step 4: Cache Rye dependencies
- name: Cache Rye dependencies
uses: actions/cache@v3
with:
path: ~/.cache/rye
key: ${{ runner.os }}-rye-${{ hashFiles('backend/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-rye-
# Step 5: Install dependencies using Rye
- name: Install Dependencies with Rye
working-directory: backend
run: |
rye sync
# Step 6: Cache pip dependencies
- name: Cache pip dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('backend/requirements.lock') }}
restore-keys: |
${{ runner.os }}-pip-
# Step 7: Run Tests with Pytest using Rye
- name: Run Pytest
working-directory: backend
run: |
rye run pytest --cov=api --cov=tests --cov-report=xml