Serve several projects: route a report to its project's repository #9

Open
laurence wants to merge 2 commits from parity/projects into main
Owner

Fixes #8. Part of the parity work (valerian#217).

A report may now carry project, and FEEDBACK_PROJECTS (valerian=laurence/valerian,...) maps each name to a repository. No project still means Helia, so older clients are unaffected; a project that is not listed is refused with unknown_project, so nobody can aim a report at an arbitrary repository. The issue, its labels, the screenshot and the body update all go to the chosen repository, and the health probe checks every repository the relay serves.

Docs: the README configuration table and docs/PROTOCOL.md describe project, FEEDBACK_PROJECTS and the new error code.

Deployment is separate and is the owner's: the bot account needs issue access to each added repository, and the stack gets FEEDBACK_PROJECTS.

Automated testing

  • cargo test: 27 unit tests (one new for the project list) and 6 end-to-end tests over real HTTP against two mock repositories (one new: no project goes to Helia, valerian to Valerian, helia to Helia, an unlisted or malformed project is refused and files nothing).
  • cargo clippy --all-targets clean; cargo fmt applied.
Fixes #8. Part of the parity work (valerian#217). A report may now carry `project`, and `FEEDBACK_PROJECTS` (`valerian=laurence/valerian,...`) maps each name to a repository. No `project` still means Helia, so older clients are unaffected; a project that is not listed is refused with `unknown_project`, so nobody can aim a report at an arbitrary repository. The issue, its labels, the screenshot and the body update all go to the chosen repository, and the health probe checks every repository the relay serves. Docs: the README configuration table and `docs/PROTOCOL.md` describe `project`, `FEEDBACK_PROJECTS` and the new error code. Deployment is separate and is the owner's: the bot account needs issue access to each added repository, and the stack gets `FEEDBACK_PROJECTS`. ## Automated testing - `cargo test`: 27 unit tests (one new for the project list) and 6 end-to-end tests over real HTTP against two mock repositories (one new: no project goes to Helia, `valerian` to Valerian, `helia` to Helia, an unlisted or malformed project is refused and files nothing). - `cargo clippy --all-targets` clean; `cargo fmt` applied.
Serve several projects: route a report to its project's repository (#8)
Some checks failed
ci / clippy (pull_request) Successful in 39s
ci / fmt (pull_request) Successful in 15s
ci / reuse (pull_request) Successful in 3s
ci / test (pull_request) Successful in 50s
ci / deny (pull_request) Failing after 1m43s
ci / musl (pull_request) Successful in 1m20s
ceac1248a1
Reports may carry project; FEEDBACK_PROJECTS maps names to repositories. No project means Helia, an unlisted project is refused with unknown_project, and the health probe checks every repository.
laurence changed title from WIP: Serve several projects: route a report to its project's repository to Serve several projects: route a report to its project's repository 2026-10-28 00:16:08 +00:00
laurence scheduled this pull request to auto merge when all checks succeed 2026-10-28 00:16:08 +00:00
Never return the private forge address: answer with a reference and the public issue list (#8)
Some checks failed
ci / clippy (pull_request) Successful in 43s
ci / deny (pull_request) Failing after 2m11s
ci / fmt (pull_request) Successful in 15s
ci / reuse (pull_request) Successful in 1s
ci / musl (pull_request) Successful in 1m4s
ci / test (pull_request) Successful in 30s
2bea1f7065
Some checks failed
ci / clippy (pull_request) Successful in 43s
Required
Details
ci / deny (pull_request) Failing after 2m11s
Required
Details
ci / fmt (pull_request) Successful in 15s
Required
Details
ci / reuse (pull_request) Successful in 1s
Required
Details
ci / musl (pull_request) Successful in 1m4s
Required
Details
ci / test (pull_request) Successful in 30s
Required
Details
Some required checks were not successful.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin parity/projects:parity/projects
git switch parity/projects
Sign in to join this conversation.
No reviewers
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
laurence/helia-feedback-relay!9
No description provided.