diff --git a/.depot/workflows/api-pull-request.yml b/.depot/workflows/api-pull-request.yml new file mode 100644 index 000000000000..00e0b67981fb --- /dev/null +++ b/.depot/workflows/api-pull-request.yml @@ -0,0 +1,76 @@ +# Depot CI Migration +# Source: .github/workflows/api-pull-request.yml +# +# No changes were necessary. + +name: API Pull Request +permissions: + contents: read # For actions/checkout + id-token: write # For Codecov OIDC +on: + pull_request: + paths: + - api/** + - docker/api/** + - .github/** + - .release-please-manifest.json + types: [opened, synchronize, reopened, ready_for_review] + push: + paths: + - api/** + - docker/api/** + - .github/** + - .release-please-manifest.json + branches: + - main +defaults: + run: + working-directory: api +env: + DOTENV_OVERRIDE_FILE: .env-ci +jobs: + test: + runs-on: depot-ubuntu-latest-16 + name: API Unit Tests + strategy: + max-parallel: 3 + matrix: + python-version: ["3.11", "3.12", "3.13"] + steps: + - name: Cloning repo + uses: actions/checkout@v5 + - name: Install Poetry + run: make install-poetry + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: poetry + - name: Install Dependencies + run: make install-packages + - name: Check for missing migrations + env: + opts: --no-input --dry-run --check + run: make django-make-migrations + - uses: liskin/gh-problem-matcher-wrap@v2 + with: + action: add + linters: mypy + - name: Check for new typing errors + run: make typecheck + - uses: liskin/gh-problem-matcher-wrap@v2 + with: + action: remove + linters: mypy + - name: Check autogenerated documentation + uses: nickcharlton/diff-check@v1.0.0 + with: + command: make -C api generate-docs + - name: Run Tests + run: make test + - name: Upload Coverage + uses: codecov/codecov-action@v5 + env: + PYTHON: ${{ matrix.python-version }} + with: + env_vars: PYTHON + use_oidc: true