Some checks failed
Deploy / notebooks (push) Has been skipped
Deploy / zotero (push) Has been skipped
Deploy / docs (push) Has been skipped
CI / lint (push) Successful in 30s
Deploy / mc (push) Has been skipped
Infra CI / notebooks (push) Failing after 12s
Deploy / api (push) Successful in 42s
Infra CI / zotero (push) Successful in 13s
Infra CI / docs (push) Successful in 12s
Infra CI / api (push) Successful in 11s
Infra CI / mc (push) Successful in 11s
Package Supply Chain / pkg-supply-chain (push) Failing after 57s
Deploy / report (push) Has been cancelled
CI / test (push) Has been cancelled
gen_config.py changes: - CI: split into lint (fast) → test (needs lint). Drop skinny-install matrix (14 jobs → 2 jobs per push) - Deploy: per-image jobs with path filters from stack.toml. Each image only builds when its Dockerfile or source files change. Python-only commits skip all 5 image builds entirely. - All workflows regenerated from stack.toml pyproject.toml: - Add mail + prisma to module-name (fixes module sync check) tests/conftest.py: - Session-scoped zotero_db fixture: create_db() once per session instead of ~200 times
176 lines
4.9 KiB
YAML
176 lines
4.9 KiB
YAML
# DO NOT EDIT — generated by gen_config.py from stack.toml
|
|
# Re-generate: uv run python dev/scripts/gen_config.py
|
|
|
|
name: Infra CI
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'notebooks/**'
|
|
- 'infra/marimo/**'
|
|
- 'infra/images/notebooks.Dockerfile'
|
|
- 'data/zotero/**'
|
|
- 'infra/images/zotero.Dockerfile'
|
|
- 'docs/**'
|
|
- 'infra/images/docs.Dockerfile'
|
|
- 'infra/images/api.Dockerfile'
|
|
- 'src/**'
|
|
- 'pyproject.toml'
|
|
- 'infra/rustfs/**'
|
|
- 'infra/images/mc.Dockerfile'
|
|
pull_request:
|
|
paths:
|
|
- 'notebooks/**'
|
|
- 'infra/marimo/**'
|
|
- 'infra/images/notebooks.Dockerfile'
|
|
- 'data/zotero/**'
|
|
- 'infra/images/zotero.Dockerfile'
|
|
- 'docs/**'
|
|
- 'infra/images/docs.Dockerfile'
|
|
- 'infra/images/api.Dockerfile'
|
|
- 'src/**'
|
|
- 'pyproject.toml'
|
|
- 'infra/rustfs/**'
|
|
- 'infra/images/mc.Dockerfile'
|
|
|
|
jobs:
|
|
notebooks:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v4
|
|
|
|
- name: Hadolint notebooks
|
|
uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
|
with:
|
|
dockerfile: infra/images/notebooks.Dockerfile
|
|
|
|
|
|
|
|
- name: Build notebooks
|
|
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build notebooks/
|
|
|
|
- name: File failure issue
|
|
if: failure()
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
|
|
run: |
|
|
uv sync --no-dev --quiet 2>/dev/null || true
|
|
uv run python -m api.diag.ci \
|
|
--workflow "Infra CI" --job "notebooks" \
|
|
--run "${{ github.run_number }}" \
|
|
--sha "${{ github.sha }}" \
|
|
--ref "${{ github.ref }}" || true
|
|
|
|
zotero:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v4
|
|
|
|
- name: Hadolint zotero
|
|
uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
|
with:
|
|
dockerfile: infra/images/zotero.Dockerfile
|
|
|
|
|
|
|
|
- name: Build zotero
|
|
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build data/zotero/
|
|
|
|
- name: File failure issue
|
|
if: failure()
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
|
|
run: |
|
|
uv sync --no-dev --quiet 2>/dev/null || true
|
|
uv run python -m api.diag.ci \
|
|
--workflow "Infra CI" --job "zotero" \
|
|
--run "${{ github.run_number }}" \
|
|
--sha "${{ github.sha }}" \
|
|
--ref "${{ github.ref }}" || true
|
|
|
|
docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v4
|
|
|
|
- name: Hadolint docs
|
|
uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
|
with:
|
|
dockerfile: infra/images/docs.Dockerfile
|
|
|
|
|
|
|
|
- name: Build docs
|
|
run: docker build -f infra/images/docs.Dockerfile -t local/docs:build .
|
|
|
|
- name: File failure issue
|
|
if: failure()
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
|
|
run: |
|
|
uv sync --no-dev --quiet 2>/dev/null || true
|
|
uv run python -m api.diag.ci \
|
|
--workflow "Infra CI" --job "docs" \
|
|
--run "${{ github.run_number }}" \
|
|
--sha "${{ github.sha }}" \
|
|
--ref "${{ github.ref }}" || true
|
|
|
|
api:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v4
|
|
|
|
- name: Hadolint api
|
|
uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
|
with:
|
|
dockerfile: infra/images/api.Dockerfile
|
|
|
|
|
|
|
|
- name: Build api
|
|
run: docker build -f infra/images/api.Dockerfile -t local/api:build .
|
|
|
|
- name: File failure issue
|
|
if: failure()
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
|
|
run: |
|
|
uv sync --no-dev --quiet 2>/dev/null || true
|
|
uv run python -m api.diag.ci \
|
|
--workflow "Infra CI" --job "api" \
|
|
--run "${{ github.run_number }}" \
|
|
--sha "${{ github.sha }}" \
|
|
--ref "${{ github.ref }}" || true
|
|
|
|
mc:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v4
|
|
|
|
- name: Hadolint mc
|
|
uses: https://github.com/hadolint/hadolint-action@v3.1.0
|
|
with:
|
|
dockerfile: infra/images/mc.Dockerfile
|
|
|
|
|
|
|
|
- name: Build mc
|
|
run: docker build -f infra/images/mc.Dockerfile -t local/mc:build infra/rustfs/
|
|
|
|
- name: File failure issue
|
|
if: failure()
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
|
|
run: |
|
|
uv sync --no-dev --quiet 2>/dev/null || true
|
|
uv run python -m api.diag.ci \
|
|
--workflow "Infra CI" --job "mc" \
|
|
--run "${{ github.run_number }}" \
|
|
--sha "${{ github.sha }}" \
|
|
--ref "${{ github.ref }}" || true
|