227 Commits

Author SHA256 Message Date
3a2c87b4af pr: adjusts test expectations.
All checks were successful
go-generate-check / go-generate-check (push) Successful in 14s
Integration tests / t (push) Successful in 8m32s
2026-03-03 18:11:09 +01:00
e5e1b5d9a5 Merge remote-tracking branch 'gitea/t-mergemodes'
Some checks failed
go-generate-check / go-generate-check (push) Successful in 8s
Integration tests / t (push) Failing after 17m21s
2026-03-03 17:29:07 +01:00
3b83ba96e4 pr: fix spam
Some checks failed
go-generate-check / go-generate-check (push) Successful in 12s
Integration tests / t (push) Failing after 7m46s
2026-03-02 16:55:57 +01:00
10f74f681d pr: add function that checks and prepares PRs 2026-03-02 11:04:22 +01:00
b514f9784c pr: add merge modes documentation and config parsing 2026-03-02 11:04:22 +01:00
18435a8820 pr: unit tests for remote PrjGit changes
All checks were successful
go-generate-check / go-generate-check (push) Successful in 26s
Integration tests / t (push) Successful in 5m8s
Added unit tests when remote projectgit changes are allowed or
not allowed.
2026-02-27 16:30:30 +01:00
5f646f4520 Disable temporary comment adding in case of lacking permissions 2026-02-27 16:28:21 +01:00
99d27a48ff Support remote source in pull requests
This requires write permission by maintainer there
2026-02-27 15:50:31 +01:00
7f6bd4bc32 pr: Always allow maintainer edits in new packages
Some checks failed
Integration tests / t (pull_request) Failing after 9m50s
2026-02-25 12:50:26 +01:00
e5441bf489 test: refactor loggin in unit tests
Use test logger when running under a test.
2026-02-25 12:50:21 +01:00
8078ca7d4d pr: small refactor 2026-02-25 12:48:48 +01:00
8721aa2c14 pr: test coverage 2026-02-25 12:48:48 +01:00
18cb2d7135 pr: test coverage 2026-02-25 12:48:48 +01:00
40317bf527 pr: small refactor 2026-02-25 12:48:48 +01:00
dc78b352b3 pr: close associated PR if issue closed. 2026-02-25 12:48:48 +01:00
788028a426 pr: no need to create PR if already exists. 2026-02-25 12:48:48 +01:00
bb86f377b6 pr: Only update issues if they are actually open 2026-02-25 12:48:48 +01:00
b30c393ec0 pr: fix tests 2026-02-25 12:48:48 +01:00
defe379e62 pr: use top 20 commits as base, if available 2026-02-25 12:48:48 +01:00
dd4098cdc6 pr: test updated issue ref
If issue is a SHA ref, and then it's updated, we need to make
sure that the branch is also updated.
2026-02-25 12:48:48 +01:00
31299b2d61 pr: move functions around 2026-02-25 12:48:48 +01:00
0915e6c35f pr: fix tests 2026-02-25 12:48:48 +01:00
85927ad76d pr: new package handling 2026-02-25 12:48:48 +01:00
711c2d677a pr: make sure new repos have fork/parent relationship
If new target repo is "reparented", it will have correct relationship
here. Otherwise PR creation will fail
2026-02-25 12:48:47 +01:00
92162f7d89 common: more unit tests fixes
TZ needs to be defined, otherwise it was assumed to be local which
then resulted in unpredictable commit hashes. We define it to UTC
for unit tests

PR have state "open" not "opened"
2026-02-25 12:48:47 +01:00
ec0eefb868 pr: fix more unit tests 2026-02-25 12:48:47 +01:00
45f2b55e53 pr: implement first part of issue processing 2026-02-25 12:48:47 +01:00
c83a3a454f wip: process issues 2026-02-25 12:48:47 +01:00
29607f922c HACK: disable close of pullrequests for now
it hit too many ones
2026-02-25 10:50:57 +01:00
603e5c67e7 pr: obsolete -url in favour of -rabbit-url
-url is too generic, so it's obsoleted. We document that in
the REAMDE.md

Also documented the config parameter with examples.

Expose more parameters in the env
2026-02-22 14:30:39 +01:00
c16d1f9940 pr: move env fetch functions to common code
We can use these functions in all daemon.
2026-02-22 13:09:47 +01:00
3b510182d6 pr: Add environmental defaults like in workflow-direct
All checks were successful
go-generate-check / go-generate-check (push) Successful in 26s
2026-02-18 20:09:44 +01:00
7f98298b89 Transfer WIP: from package pool requests to project
All checks were successful
go-generate-check / go-generate-check (push) Successful in 23s
2026-02-02 11:14:07 +01:00
c6ee055cb4 pr: add unit test for PrjGit PR to make sure we clone it
All checks were successful
go-generate-check / go-generate-check (push) Successful in 9s
This is unit test for previous commit
2026-01-30 16:23:25 +01:00
58e5547a91 pr: fix case where PrjGit not cloned
All checks were successful
go-generate-check / go-generate-check (push) Successful in 25s
When the PRSet is of size 1, so only PrjGit, the project git
may not be cloned. This breaks build preperations, etc.
2026-01-30 16:02:13 +01:00
c2709e1894 fix unit tests and mocks
All checks were successful
go-generate-check / go-generate-check (push) Successful in 8s
2026-01-28 10:50:36 +01:00
7790e5f301 Merge branch 'main' into always-review-nt 2026-01-27 15:45:12 +01:00
2620aa3ddd Merge branch 'always-review'
Some checks failed
go-generate-check / go-generate-check (push) Failing after 8s
2026-01-27 15:44:30 +01:00
59a47cd542 Merge branch 'pr-tests'
Some checks failed
go-generate-check / go-generate-check (push) Failing after 7s
2026-01-27 13:41:34 +01:00
877e93c9bf pr: always require review, if configured
Some checks failed
go-generate-check / go-generate-check (pull_request) Failing after 23s
Implement ReviewRequired option to workflow.config. This will
always require a review by maintainer, unless no other maintainers
are available.

By default, ReviewRequired is false
2026-01-20 19:18:56 +01:00
51403713be pr: always require review, if configured
Implement ReviewRequired option to workflow.config. This will
always require a review by maintainer, unless no other maintainers
are available.

By default, AlwaysRequireReview is false
2026-01-20 19:17:10 +01:00
Antonello Tartamo
2f39fc9836 initial documentation review 2026-01-14 15:43:27 +01:00
18f7ed658a pr: move interfaces and mocks to parent package
Some checks failed
go-generate-check / go-generate-check (pull_request) Failing after 22s
2026-01-10 00:40:45 +01:00
c05fa236d1 pr: Add additional unit tests
- Add a test case specifically verifying that `Gitea.SetLabels`
  is called with `staging/Auto` when a *new* project PR is created
  for submodules.
- Verify `PrjGitDescription` and `SetSubmodulesToMatchPRSet` behave
  correctly when a single `PRSet` contains 5+ different package
  repositories.
2026-01-09 18:56:33 +01:00
c866303696 pr: fix PR lists to check packages not just project PRs
Also,
- Add simple unit tests to verify mapping of `models.StateType`
  to internal event strings.
- Verify it correctly wraps `ProcesPullRequest` and handles panics
  via the deferred recovery block.
- Add tests for scenarios where `GetRecentPullRequests` fails.
- Verify the random sleep interval logic (can be tested by mocking
  `time.Sleep` if refactored, or verifying behavior with interval=0).
2026-01-09 17:48:01 +01:00
e806d6ad0d pr: revive PRProcessor sync tests
- Uncomment and fix the existing tests for `synchronized` actions.
- Ensure it uses the new `PullRequestProcessor` interface and mocked dependencies.
2026-01-09 17:12:14 +01:00
abf8aa58fc pr: test PRProcessor that is triggered by webhook
- PullRequestWebhookEvent: Verified that PR events correctly
  trigger processing with all necessary Gitea and Git mocks.
- IssueCommentWebhookEvent: Verified that issue comment events
  (which Gitea often uses for PR comments) are handled correctly.
- Recursion Limit: Verified that the recursion protection logic
  correctly terminates and cleans up when the limit is reached.
- Invalid Data Format: Verified that non-event data types return
  appropriate errors.
2026-01-09 16:59:29 +01:00
4f132ec154 pr: test verifyRepositoryConfiguration 2026-01-09 16:41:25 +01:00
86a7fd072e pr: add test cases for PRProcessor corner cases
- Add scenarios for closed/merged project PRs that trigger
   submodule checks and downstream PR updates (manual merge vs close).
- Test the "Consistency check" logic where submodules are reset
  if they don't match the PR set.
- Test the "superfluous PR" check (no-op PRs that should be closed).
2026-01-09 16:34:07 +01:00
5f5e7d98b5 pr: add some tests for UpdatePrjGitPR 2026-01-09 13:59:02 +01:00