Container publishing to registry.marvin8.zone + repo modernization #74

Merged
coding-agent-marvin8 merged 0 commits from refs/pull/74/head into main 2026-07-20 04:22:21 +00:00
coding-agent-marvin8 commented 2026-07-20 02:49:03 +00:00 (Migrated from codeberg.org)

Add Forgejo Actions container publishing to registry.marvin8.zone for both fenliu and zhongli, triggered on release. Bring the repo up to date with patterns from feed2fedi, longwei, zaojun, and sub2pod.

Closes #73

Container publishing

  • CI jobs (publish-container) build and push to registry.marvin8.zone/marvin8/fenliu and registry.marvin8.zone/marvin8/zhongli
  • Triggered on Forgejo Release events (not tag push)
  • Uses buildah in CI; justfile publish-container recipes keep podman as manual backup

Modernization

  • AGENTS.md + CLAUDE.md symlink at root, fenliu, and zhongli levels
  • LICENSE.md (AGPL-3.0-or-later), .editorconfig added
  • ruff.toml: TID252 ban-relative-imports, zhongli target-version py312, consistent ignore lists
  • Pre-commit: ruff-format, ruff-check, complexipy hooks added; revs aligned
  • CI: pr-review job in per-package workflows, checksum-verified gitleaks, release triggers
  • Dependency bumps (ruff 0.15.22, ty 0.0.61, uv 0.11.29)
  • ai-review.yml deleted (merged into per-package CI)
  • Weekly-checks: setup-uv action replacing curl | sh
  • OCI labels on both Containerfiles
  • Release-Notes.md updated
Add Forgejo Actions container publishing to `registry.marvin8.zone` for both fenliu and zhongli, triggered on release. Bring the repo up to date with patterns from feed2fedi, longwei, zaojun, and sub2pod. Closes #73 ### Container publishing - CI jobs (`publish-container`) build and push to `registry.marvin8.zone/marvin8/fenliu` and `registry.marvin8.zone/marvin8/zhongli` - Triggered on Forgejo Release events (not tag push) - Uses buildah in CI; justfile `publish-container` recipes keep podman as manual backup ### Modernization - AGENTS.md + CLAUDE.md symlink at root, fenliu, and zhongli levels - LICENSE.md (AGPL-3.0-or-later), .editorconfig added - ruff.toml: TID252 ban-relative-imports, zhongli target-version py312, consistent ignore lists - Pre-commit: ruff-format, ruff-check, complexipy hooks added; revs aligned - CI: pr-review job in per-package workflows, checksum-verified gitleaks, release triggers - Dependency bumps (ruff 0.15.22, ty 0.0.61, uv 0.11.29) - ai-review.yml deleted (merged into per-package CI) - Weekly-checks: setup-uv action replacing curl | sh - OCI labels on both Containerfiles - Release-Notes.md updated
coding-agent-marvin8 commented 2026-07-20 03:01:31 +00:00 (Migrated from codeberg.org)

🔴 Not actioned — ruff autofixes are correct for Python 3.12+

packages/zhongli/src/zhongli/cli.py line 0 · packages/zhongli/src/zhongli/fenliu_models.py line 0 · packages/zhongli/src/zhongli/fenliu_models.py line 0 · packages/zhongli/src/zhongli/attachment_hasher.py line 0 · packages/zhongli/src/zhongli/attachment_hasher.py line 0

These are mechanical ruff autofixes applied by ruff check --fix for target-version = "py312" (UP035, UP041, UP042, UP045). The project requires python>=3.12:

  • Optional[X]X | None is standard for 3.10+
  • str, EnumStrEnum is correct for 3.11+
  • asyncio.TimeoutError is a deprecated alias for TimeoutError in 3.11+

No behavioural change, no test gap.

### 🔴 Not actioned — ruff autofixes are correct for Python 3.12+ [`packages/zhongli/src/zhongli/cli.py` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688465) · [`packages/zhongli/src/zhongli/fenliu_models.py` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688450) · [`packages/zhongli/src/zhongli/fenliu_models.py` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688468) · [`packages/zhongli/src/zhongli/attachment_hasher.py` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688453) · [`packages/zhongli/src/zhongli/attachment_hasher.py` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688456) > These are mechanical ruff autofixes applied by `ruff check --fix` for `target-version = "py312"` (UP035, UP041, UP042, UP045). The project requires `python>=3.12`: > - `Optional[X]` → `X | None` is standard for 3.10+ > - `str, Enum` → `StrEnum` is correct for 3.11+ > - `asyncio.TimeoutError` is a deprecated alias for `TimeoutError` in 3.11+ No behavioural change, no test gap.
coding-agent-marvin8 commented 2026-07-20 03:01:47 +00:00 (Migrated from codeberg.org)

🔴 Not actioned — pre-existing pattern, not introduced by this PR

.forgejo/workflows/fenliu-ci.yml line 0 · .forgejo/workflows/zhongli-ci.yml line 0

security [HIGH] A08: The workflow uses an external action from https://codeberg.org/marvin8/wuming@main without pinning to a specific commit SHA…

The wuming@main reference was already present in the now-deleted .forgejo/workflows/ai-review.yml. This PR relocates the same reference into the per-package CI files — it does not introduce a new unpinned action. Pinning to a commit SHA can be addressed in a follow-up PR.

### 🔴 Not actioned — pre-existing pattern, not introduced by this PR [`.forgejo/workflows/fenliu-ci.yml` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688459) · [`.forgejo/workflows/zhongli-ci.yml` line 0](https://codeberg.org/marvinsmastodontools/dujiangyan/pulls/74#issuecomment-19688462) > **security** [HIGH] A08: The workflow uses an external action from https://codeberg.org/marvin8/wuming@main without pinning to a specific commit SHA… The `wuming@main` reference was already present in the now-deleted `.forgejo/workflows/ai-review.yml`. This PR relocates the same reference into the per-package CI files — it does not introduce a new unpinned action. Pinning to a commit SHA can be addressed in a follow-up PR.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marvin8/dujiangyan!74
No description provided.