50a969ede6
refactor: move server config loading out of forgejo module
...
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
Delete empty modules left over
2024-04-18 20:40:28 +01:00
0bfa1df875
refactor: delete dead code
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-18 19:19:10 +01:00
0d57ee7bc0
refactor(gitforge): migrate some types from forge
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-18 19:18:27 +01:00
adb44d18c9
feat(server/gitforge): replace git abstraction
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-18 08:22:55 +01:00
ec9571a182
feat(repo/webhook): Replace webhook if it already exists
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
Closes kemitix/git-next#45
2024-04-15 22:47:54 +01:00
64a6b84ee4
feat(server/webhook): only accept authorised messages
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
Closes kemitix/git-next#47
2024-04-14 19:14:44 +01:00
b398ac3fd3
feat(repo/status): reschedule ValidateRepo when checks are Pending
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
Closes kemitix/git-next#48
2024-04-14 19:14:44 +01:00
24cb485410
feat(repo/webhook): Handle messages received via webhook for ForgeJo
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
Closes kemitix/git-next#43
2024-04-14 19:14:38 +01:00
dd91aa4f69
feat(server/webhook): implement register webhook
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline failed
Closes kemitix/git-next#15
2024-04-14 14:37:55 +01:00
e7060800eb
feat(server/webhook): implement unregister webhook
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#17
2024-04-13 21:01:35 +01:00
df2d9d684c
feat(server/webhook): add webhook server
...
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline failed
Closes kemitix/git-next#18
2024-04-13 20:23:24 +01:00
4c4ac4df25
fix(repo/branch): revalidate positions in more conditions
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
- when next has no commits
- when couldn't reset next to a commit (e.g. commit was WIP)
2024-04-13 16:23:02 +01:00
0622e6092b
feat(repo/branch): update next branch when not based on main
...
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
Closes kemitix/git-next#41
2024-04-13 15:26:45 +01:00
2055421067
refactor(repo/branch): extract get_commit_histories
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
2024-04-13 15:22:23 +01:00
069b313fc3
feat(config)!: Add webhook URL field to server config
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-13 14:09:57 +01:00
b21b80881e
chore(config): Rename type RepoName
as RepoAlias
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
Closes kemitix/git-next#39
2024-04-13 14:09:57 +01:00
0105631e3a
feat(config): Allow repo config to be specified in server config
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#28
2024-04-13 14:09:57 +01:00
229d47f7c7
docs(server/config): add docs to types
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
2024-04-13 14:09:57 +01:00
e272ca296b
fix(actor/repo): always reschedule to validate repos
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
If validate repos saw anything unexpected it would stop and not schedule a re-validation.
2024-04-13 07:05:40 +01:00
af221f8a2f
fix(forge/mock): visibility on methods
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline failed
2024-04-13 06:56:11 +01:00
3bbe9abbd9
test: Create stub mock forge
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
Still need to figure out what tests this will need to support, and how
to configure it's behaviour. I've not ruled out creating a forge object
that is passed in rather than the functions we have now.
Closes kemitix/git-next#37
2024-04-12 22:43:19 +01:00
1ffa8366e0
feat: isolate ForgeJo behind default feature 'forgejo'
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-12 20:53:55 +01:00
9df732ce97
chore: reduce logging to debug
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
2024-04-12 19:46:52 +01:00
223dd426c6
chore: don't log success
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-12 19:43:21 +01:00
ee9cc53540
fix: don't log url containing API token
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
2024-04-12 19:41:47 +01:00
5fcf16ea75
feat: Abstract Git command execution into injectable enum
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#36
2024-04-12 19:39:24 +01:00
fb74879309
chore(foregejo): don't log fetch url
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
It contained the api token
2024-04-12 19:21:27 +01:00
8c4ad4b534
chore: clean up some logging
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-12 17:41:09 +01:00
4e6a306a72
feat: Don't advance next branch if the target commit message is invalid
...
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
Closes kemitix/git-next#33
2024-04-12 17:31:55 +01:00
cedaf16acf
feat: wrap API Token in a secrect::Secret and avoid logging
...
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline failed
Closes kemitix/git-next#30
2024-04-12 15:27:03 +01:00
e8d174ee84
fix(forgejo): treat a blank status check result as pending
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#29
2024-04-12 13:51:56 +01:00
869935dfc2
fix(server): Prevent losing a task waker
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#26
2024-04-12 13:00:40 +01:00
3735afb2f8
fix: don't reload config when updating next branch
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
The StartRepo handler loads the config before then sending the
ValidateRepo message. However, we already have the config, so reloading
it isn't needed.
Added todo markers on sleep and dispatching of ValidateRepo where it is
used as a stop-gap until we have working webhook integration.
Add todo markers for checking valid commit messages before advancing
next branch.
2024-04-12 10:14:32 +01:00
0b427f1d4c
fix: avoid using terrors::OneOf across an await boundary
...
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
OneOf appears to not be Send
2024-04-12 10:14:32 +01:00
8ed942a501
fix: remove extra StartRepo message
...
ci/woodpecker/tag/cron-docker-builder Pipeline was successful
ci/woodpecker/tag/push-next Pipeline was successful
ci/woodpecker/tag/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline failed
Closes kemitix/git-next#32
2024-04-12 08:41:24 +01:00
c9d52a5b7f
feat: when no action to take, wait 10 seconds then restart
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/tag/push-next Pipeline was successful
ci/woodpecker/tag/cron-docker-builder Pipeline was successful
ci/woodpecker/tag/tag-created Pipeline failed
As a stop-gap until we have a working webhook server, this will poll the
repo for updates to it's status.
Closes kemitix/git-next#22
2024-04-11 18:30:52 +01:00
bb4d171174
fix: restore lost sleep
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
2024-04-11 18:19:47 +01:00
f7dc27f67e
feat: git command output is suppressed
...
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#27
2024-04-11 18:19:47 +01:00
ec258bca97
refactor: rename ResetForce::Normal as None
ci/woodpecker/push/push-next Pipeline failed
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline failed
2024-04-11 18:09:57 +01:00
e0b15712c2
refactor: reuse branch::reset to advance next towards dev
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-11 18:05:26 +01:00
6bad8a27f7
refactor: reuse branch::reset to advance main branch to next
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
2024-04-11 18:02:07 +01:00
ab58981f87
refactor: reuse branch::reset to advance main branch to next
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-11 17:45:11 +01:00
115b353389
feat: Force push next branch to main when it isn't a dev ancestor
...
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#21
2024-04-11 15:48:18 +01:00
d2d49f353c
refactor: pass RepoDetails by reference
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
2024-04-11 15:47:28 +01:00
ed1ab6faa5
feat: add branch::reset function
ci/woodpecker/push/cron-docker-builder Pipeline failed
ci/woodpecker/push/tag-created Pipeline failed
ci/woodpecker/push/push-next Pipeline failed
2024-04-11 14:24:18 +01:00
1c9f7cb4ea
fix: clean up instrumentation
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
2024-04-11 07:46:30 +01:00
7dab1da44b
fix(server): reduce complexity of StartMonitoring handler
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
Closes kemitix/git-next#25
2024-04-11 07:15:19 +01:00
9469d27476
fix(server): Pause before checking CI status when just updated branch
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
If we check the status of the commit as soon as we push we get a Pass before the CI tests have even started. Wait briefly (10 seconds) to allow the CI to start and set the status to pending.
Closes kemitix/git-next#24
2024-04-10 22:40:33 +01:00
50a56aadee
fix(server): Doesn't properly detect when dev or next are ahead
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Closes kemitix/git-next#23
2024-04-10 20:51:40 +01:00
3a761b5b21
feat(server): Implement advancing main branch to the next commit
...
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
Closes kemitix/git-next#19
2024-04-10 17:36:08 +01:00