Skip to content
This repository was archived by the owner on Aug 29, 2026. It is now read-only.

chore(deps): bump the actions group across 1 directory with 18 updates #1671

chore(deps): bump the actions group across 1 directory with 18 updates

chore(deps): bump the actions group across 1 directory with 18 updates #1671

Workflow file for this run

name: Code Quality
on:
push:
branches: ["main"]
paths:
- "backend/**"
- ".github/workflows/code-quality.yml"
pull_request:
branches: ["main"]
paths:
- "backend/**"
- ".github/workflows/code-quality.yml"
permissions:
contents: read
jobs:
ruff:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
- name: Install Poetry
uses: snok/install-poetry@a783c322200f0519c7926aa6faa857c4e23e9263 # v1.4.2
with:
version: 2.3.2
virtualenvs-create: true
virtualenvs-in-project: true
- name: Load cached venv
id: cached-lint-deps
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ./backend/.venv
key: lint-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
- name: Install lint dependencies
if: steps.cached-lint-deps.outputs.cache-hit != 'true'
run: poetry install --only lint --no-interaction --no-root
- name: Ruff lint
if: github.event_name == 'push'
run: poetry run ruff check airweave/ --exclude airweave/alembic/
- name: Ruff format
if: github.event_name == 'push'
run: poetry run ruff format --check --diff airweave/ --exclude airweave/alembic/
- name: Run ruff check
if: github.event_name == 'pull_request'
run: |
poetry run ruff check airweave/ --exclude airweave/alembic/ \
--output-format pylint > ruff_report.txt || true
- name: Ruff lint (changed lines)
if: github.event_name == 'pull_request'
run: |
poetry run diff-quality --violations=ruff.check \
--compare-branch=origin/${{ github.base_ref }} \
--fail-under=100 \
ruff_report.txt
# Format is checked across the full codebase on PRs: since push
# ensures main is formatted, any failure must be from the PR.
- name: Ruff format (changed files)
if: github.event_name == 'pull_request'
run: poetry run ruff format --check --diff airweave/ --exclude airweave/alembic/
mypy:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
- name: Install Poetry
uses: snok/install-poetry@a783c322200f0519c7926aa6faa857c4e23e9263 # v1.4.2
with:
version: 2.3.2
virtualenvs-create: true
virtualenvs-in-project: true
- name: Load cached venv
id: cached-mypy-deps
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ./backend/.venv
key: mypy-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
if: steps.cached-mypy-deps.outputs.cache-hit != 'true'
run: poetry install --no-interaction
- name: Run mypy
if: github.event_name == 'push'
run: poetry run mypy --config-file pyproject.toml airweave/
- name: Run mypy
if: github.event_name == 'pull_request'
run: |
poetry run mypy --config-file pyproject.toml airweave/ \
> mypy_report.txt || true
- name: Run mypy (changed lines)
if: github.event_name == 'pull_request'
run: |
poetry run diff-quality --violations=mypy \
--compare-branch=origin/${{ github.base_ref }} \
--fail-under=100 \
mypy_report.txt
import-linter:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: "3.13"
- name: Install Poetry
uses: snok/install-poetry@a783c322200f0519c7926aa6faa857c4e23e9263 # v1.4.2
with:
version: 2.3.2
virtualenvs-create: true
virtualenvs-in-project: true
- name: Load cached venv
id: cached-importlint-deps
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ./backend/.venv
key: lint-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
- name: Install lint dependencies
if: steps.cached-importlint-deps.outputs.cache-hit != 'true'
run: poetry install --only lint --no-interaction --no-root
- name: Run import-linter
run: poetry run lint-imports