fix(ci): repo-root build context for notebooks+zotero, refresh pkg-manifest
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
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
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.
This commit is contained in:
@@ -24,6 +24,10 @@ infra/
|
||||
!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/
|
||||
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
run: echo "SHORT_SHA=$(echo $GITHUB_SHA | head -c 8)" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Build notebooks
|
||||
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build notebooks/
|
||||
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build .
|
||||
|
||||
- name: Push notebooks
|
||||
run: |
|
||||
@@ -60,8 +60,8 @@ jobs:
|
||||
zotero:
|
||||
runs-on: ubuntu-latest
|
||||
if: >-
|
||||
contains(github.event.head_commit.modified, 'data/zotero') ||
|
||||
contains(github.event.head_commit.modified, 'infra/images/zotero.Dockerfile')
|
||||
contains(github.event.head_commit.modified, 'infra/images/zotero.Dockerfile') ||
|
||||
contains(github.event.head_commit.modified, 'infra/images/zotero')
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
run: echo "SHORT_SHA=$(echo $GITHUB_SHA | head -c 8)" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Build zotero
|
||||
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build data/zotero/
|
||||
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build .
|
||||
|
||||
- name: Push zotero
|
||||
run: |
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
UV_INSTALL_DIR: /usr/local/bin
|
||||
|
||||
- name: Build notebooks
|
||||
run: docker build --no-cache -f infra/images/notebooks.Dockerfile -t local/notebooks:build notebooks/
|
||||
run: docker build --no-cache -f infra/images/notebooks.Dockerfile -t local/notebooks:build .
|
||||
|
||||
- name: Push notebooks
|
||||
run: |
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
crane push /tmp/notebooks.tar git:3000/homelab/stack/notebooks:latest --insecure
|
||||
|
||||
- name: Build zotero
|
||||
run: docker build --no-cache -f infra/images/zotero.Dockerfile -t local/zotero:build data/zotero/
|
||||
run: docker build --no-cache -f infra/images/zotero.Dockerfile -t local/zotero:build .
|
||||
|
||||
- name: Push zotero
|
||||
run: |
|
||||
|
||||
@@ -9,8 +9,8 @@ on:
|
||||
- 'notebooks/**'
|
||||
- 'infra/marimo/**'
|
||||
- 'infra/images/notebooks.Dockerfile'
|
||||
- 'data/zotero/**'
|
||||
- 'infra/images/zotero.Dockerfile'
|
||||
- 'infra/images/zotero/**'
|
||||
- 'docs/**'
|
||||
- 'infra/images/docs.Dockerfile'
|
||||
- 'infra/images/api.Dockerfile'
|
||||
@@ -23,8 +23,8 @@ on:
|
||||
- 'notebooks/**'
|
||||
- 'infra/marimo/**'
|
||||
- 'infra/images/notebooks.Dockerfile'
|
||||
- 'data/zotero/**'
|
||||
- 'infra/images/zotero.Dockerfile'
|
||||
- 'infra/images/zotero/**'
|
||||
- 'docs/**'
|
||||
- 'infra/images/docs.Dockerfile'
|
||||
- 'infra/images/api.Dockerfile'
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
|
||||
|
||||
- name: Build notebooks
|
||||
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build notebooks/
|
||||
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build .
|
||||
|
||||
- name: File failure issue
|
||||
if: failure()
|
||||
@@ -76,7 +76,7 @@ jobs:
|
||||
|
||||
|
||||
- name: Build zotero
|
||||
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build data/zotero/
|
||||
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build .
|
||||
|
||||
- name: File failure issue
|
||||
if: failure()
|
||||
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
run: echo "SHORT_SHA=$(echo $GITHUB_SHA | head -c 8)" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Build notebooks
|
||||
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build notebooks/
|
||||
run: docker build -f infra/images/notebooks.Dockerfile -t local/notebooks:build .
|
||||
|
||||
- name: Push notebooks
|
||||
run: |
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
crane push /tmp/notebooks.tar git:3000/homelab/stack/notebooks:latest --insecure
|
||||
|
||||
- name: Build zotero
|
||||
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build data/zotero/
|
||||
run: docker build -f infra/images/zotero.Dockerfile -t local/zotero:build .
|
||||
|
||||
- name: Push zotero
|
||||
run: |
|
||||
|
||||
@@ -336,6 +336,16 @@
|
||||
"version": ">=2.0.0",
|
||||
"extras": ""
|
||||
},
|
||||
{
|
||||
"name": "markdown-it-py",
|
||||
"version": ">=4.0",
|
||||
"extras": ""
|
||||
},
|
||||
{
|
||||
"name": "mdit-py-plugins",
|
||||
"version": ">=0.4",
|
||||
"extras": ""
|
||||
},
|
||||
{
|
||||
"name": "pydantic",
|
||||
"version": ">=2.0.0",
|
||||
|
||||
11
stack.toml
11
stack.toml
@@ -224,15 +224,20 @@ hadolint = true
|
||||
trivy_severity = "HIGH,CRITICAL"
|
||||
trivy_exit_code = 0
|
||||
|
||||
# Repo-root context: the Dockerfile COPYs infra/marimo/theme, which only
|
||||
# exists at repo root (see .dockerignore carve-outs). Building from notebooks/
|
||||
# fails with `"/infra/marimo/theme": not found`.
|
||||
[images.notebooks]
|
||||
dockerfile = "infra/images/notebooks.Dockerfile"
|
||||
context = "notebooks/"
|
||||
context = "."
|
||||
path_filter = ["notebooks/**", "infra/marimo/**", "infra/images/notebooks.Dockerfile"]
|
||||
|
||||
# Repo-root context: the Dockerfile COPYs the desktop-bridge watchdog +
|
||||
# healthcheck from infra/images/zotero/ (carved out in .dockerignore).
|
||||
[images.zotero]
|
||||
dockerfile = "infra/images/zotero.Dockerfile"
|
||||
context = "data/zotero/"
|
||||
path_filter = ["data/zotero/**", "infra/images/zotero.Dockerfile"]
|
||||
context = "."
|
||||
path_filter = ["infra/images/zotero.Dockerfile", "infra/images/zotero/**"]
|
||||
|
||||
[images.docs]
|
||||
dockerfile = "infra/images/docs.Dockerfile"
|
||||
|
||||
Reference in New Issue
Block a user