Files
stack/.dockerignore
kert 3c835e950a
Some checks failed
CI / lint (push) Successful in 1m5s
Deploy / notebooks (push) Has been skipped
Deploy / zotero (push) Has been skipped
Deploy / docs (push) Has been skipped
Deploy / api (push) Has been skipped
Deploy / mc (push) Has been skipped
Infra CI / notebooks (push) Failing after 2m44s
Infra CI / zotero (push) Successful in 1m12s
Infra CI / docs (push) Successful in 1m40s
Infra CI / api (push) Successful in 16s
Infra CI / mc (push) Successful in 22s
Deploy / report (push) Successful in 16s
CI / test (push) Failing after 16m27s
Harden / build-scan-report (push) Failing after 2m17s
Renovate / renovate (push) Successful in 16s
Package Supply Chain / pkg-supply-chain (push) Failing after 45s
fix(ci): repo-root build context for notebooks+zotero, refresh pkg-manifest
Two scheduled pipelines were failing on every run and spamming Gitea issues
(30 open): 26 from Package Supply Chain (daily), 4 from Harden (weekly).

- Package Supply Chain: pkg-manifest.json was stale — markdown-it-py and
  mdit-py-plugins were in source but not the manifest, failing "Check
  manifest freshness" and "Drift detection". Regenerated via pkg_inventory.py.

- Harden: "Build notebooks" failed with `"/infra/marimo/theme": not found`.
  notebooks.Dockerfile COPYs infra/marimo/theme (a repo-root path), but
  stack.toml built it with context notebooks/. The .dockerignore was already
  set up for repo-root context (it carves out infra/marimo/theme/**); the
  per-image context was a stale leftover from the notebooks content/config
  split. Switched notebooks and zotero to context "." like docs/api.

- This also unblocks the zotero desktop-bridge change (225ce01): its new
  COPY infra/images/zotero/* only resolves under repo-root context. Added a
  .dockerignore carve-out (!infra/images/zotero/**) so the scripts ride along.

Verified: pkg_inventory --check + pkg_drift now pass; a probe build confirms
all COPY sources resolve under repo-root context + the real .dockerignore.
2026-06-17 21:03:19 -04:00

35 lines
874 B
Plaintext

# Docs Dockerfile uses repo root context — exclude heavy/sensitive dirs
data/zotero/
notebooks/
.git/
.env
*.duckdb
*.duckdb.wal
__pycache__/
dist/
*.egg-info/
logs/
tuva/
dev/
tests/
infra/
# Carve out the pieces that feed image builds so they ride along in the
# build context. `infra/` is otherwise heavy (certs, state, configs).
# Docker needs each intermediate directory un-excluded explicitly:
# `!infra/marimo/` un-excludes the dir entry itself so BuildKit can
# descend into it; `!infra/marimo/theme/**` un-excludes the contents.
!infra/marimo/
!infra/marimo/theme/
!infra/marimo/theme/**
!infra/gitea/
!infra/gitea/**
!infra/images/
# zotero desktop-bridge watchdog + healthcheck, COPYed by zotero.Dockerfile
# (repo-root context). Dir entry + contents, same pattern as marimo above.
!infra/images/zotero/
!infra/images/zotero/**
assets/
cloud/
mirrors/
.claude/