Commit graph

168 commits

Author SHA1 Message Date
3802ed126f FIXUP server-actor handler notify-users
All checks were successful
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-07-23 19:26:32 +01:00
68cb9d6e41 FIXUP server-actor lib 2024-07-23 19:26:32 +01:00
d6245ed65e WIP: feat: post webhook to user 2024-07-23 19:25:51 +01:00
85ed7aeaa1 WIP: feat: dispatch NotifyUser messages to server actor (2/2) 2024-07-23 19:24:55 +01:00
67fc1b1b12 refactor: use Option<&T> over &Option<T> 2024-07-23 19:24:55 +01:00
f6456433b4 WIP: feat: dispatch NotifyUser messages to server actor (1/2) 2024-07-23 19:24:55 +01:00
357ad0d713 FIXUP server-actor handler receive valid server config 2024-07-23 19:24:53 +01:00
e29a2d29b6 WIP: feat: support sending messages to a notification webhook 2024-07-23 19:23:08 +01:00
f6bbdf7cce FIXUP config 2024-07-23 19:23:08 +01:00
a47ba6c289 WIP: feat: configure a webhook for receiving notifications 2024-07-22 10:20:31 +01:00
8f95ae0058 refactor: extract messages and handlers modules from webhook-actor
All checks were successful
Rust / build (push) Successful in 1m54s
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/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
2024-07-19 07:48:55 +01:00
ba67b1ebcb refactor: flag internally that dev not based on main will require used intervention
All checks were successful
Rust / build (push) Successful in 2m44s
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
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
Preparation for when we will be sending user notifications
2024-07-16 20:00:29 +01:00
92ebd45307 refactor: Reduce cognitive complexity of 'validate_position'
All checks were successful
Rust / build (push) Successful in 1m54s
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#83
2024-07-16 19:59:11 +01:00
c104dfedc1 refactor: Reduce cognitive complexity of WebhookNotification handler. 2/2
All checks were successful
Rust / build (push) Successful in 1m39s
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#49
2024-07-16 18:33:45 +01:00
06292c2711 refactor: Reduce cognitive complexity of WebhookNotification handler. 1/2
All checks were successful
Rust / build (push) Successful in 1m41s
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#49
2024-07-16 18:14:32 +01:00
33907a1d32 feat: reload server config when file is touched
Some checks failed
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
Rust / build (push) Has been cancelled
Closes kemitix/git-next#84
2024-07-16 07:14:57 +01:00
f44865fa92 docs: add UnRegisterWebhook from RepoActor
All checks were successful
Rust / build (push) Successful in 2m20s
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-07-15 07:53:14 +01:00
b715755b91 feat: unregister webhooks form forge during shutdown
All checks were successful
Rust / build (push) Successful in 1m31s
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#46
2024-07-15 07:39:06 +01:00
6c92f64f8b docs: add readmes to each crate to direct users to main crate
All checks were successful
Rust / build (push) Successful in 1m38s
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/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
Closes kemitix/git-next#106
2024-07-14 20:58:58 +01:00
6981a7b5e3 docs: move main README into cli crate
All checks were successful
Rust / build (push) Successful in 2m8s
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-07-14 20:54:17 +01:00
69211a87a3 build: add more metadata for crates.io
All checks were successful
Rust / build (push) Successful in 1m27s
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-07-14 20:47:19 +01:00
e2b545ae39 fix: move default.toml inside crate that uses it
All checks were successful
Rust / build (push) Successful in 1m22s
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-07-14 20:22:32 +01:00
639e561be6 fix: move server-default.toml inside crate that uses it
All checks were successful
Rust / build (push) Successful in 1m33s
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-07-14 20:22:32 +01:00
adf56c1b38 revert: fix: explicitly specify version in each crate
All checks were successful
Rust / build (push) Successful in 1m24s
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
This reverts commit cd93d047cb.
2024-07-14 16:39:17 +01:00
cd93d047cb fix: explicitly specify version in each crate
All checks were successful
Rust / build (push) Successful in 1m23s
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
crates.io doesn't appear to like taking the version from the workspace
crate
2024-07-14 14:24:41 +01:00
c289617ba9 fix: typo and missing repository entry in Cargo.toml files
All checks were successful
Rust / build (push) Successful in 2m2s
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-07-14 13:32:07 +01:00
e410cfc4f1 chore: add license and descriptions for each crate
All checks were successful
Rust / build (push) Successful in 1m23s
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-07-14 10:40:34 +01:00
10e63894c2 docs: server-actor: add readme showing message paths
All checks were successful
Rust / build (push) Successful in 1m40s
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
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
2024-07-13 08:16:24 +01:00
57a614bad3 fix: don't modify config of external repos
All checks were successful
Rust / build (push) Successful in 2m14s
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 git config files of external repos are read-only.

This is the only place where we make reference to a remote named
'origin', so this also closes kemitix/git-next#85.

Closes kemitix/git-next#85
2024-07-12 18:52:57 +01:00
5f36282667 feat: recheck failed status
All checks were successful
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
Rust / build (push) Successful in 1m33s
Should a status check for a transient reason and is re-run, this will
allow that to be detected without the need to restart the git-next
server or force a spurious rebase.

Closes kemitix/git-next#88
2024-07-12 08:05:41 +01:00
fd762e2bd2 feat: perform controlled shutdown on ctrl-c
All checks were successful
Rust / build (push) Successful in 1m50s
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
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
Closes kemitix/git-next#94

Controlled shutdown includes attempting to unregister webhooks.
2024-07-11 19:19:04 +01:00
681b2c4c10 refactor: split messages and handlers for server-actor
All checks were successful
Rust / build (push) Successful in 1m46s
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-07-11 19:19:01 +01:00
7578ab3144 feat: log as an error when webhook url ends with a slash
All checks were successful
Rust / build (push) Successful in 1m26s
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#87
2024-07-11 19:18:58 +01:00
7212154037 refactor: split ReceiveServerConfig handler
All checks were successful
Rust / build (push) Successful in 1m48s
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
First handler, with original name, validates the server config.

The new second handler, ReceiveValidServerConfig, can then (re)start the
server without needing to validate the settings.
2024-07-11 19:18:55 +01:00
4276964f4d refactor: split server storage creation out from startup
All checks were successful
Rust / build (push) Successful in 1m34s
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#75
2024-07-11 19:18:50 +01:00
9c20e780d0 feat: update auth of interal repos when changed in config
All checks were successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
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
Rust / build (push) Successful in 1m34s
Closes kemitix/git-next#100
2024-07-10 09:05:36 +01:00
df352443b7 feat: GitDir tracks when repo is cloned by git-next
All checks were successful
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
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
Rust / build (push) Successful in 1m21s
2024-07-06 15:08:13 +01:00
4e60be61f7 refactor: extract git::repository::factory module
All checks were successful
Rust / build (push) Successful in 1m29s
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-07-05 20:31:16 +01:00
5ab075c181 refactor: split git::repository::tests module
All checks were successful
Rust / build (push) Successful in 1m19s
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-07-05 20:12:17 +01:00
d9feaeaa7b chore: remove unused FakeOpenRepository
All checks were successful
Rust / build (push) Successful in 1m25s
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-07-05 20:12:17 +01:00
2e374d317a refactor: split git::repository::open::tests module
All checks were successful
Rust / build (push) Successful in 1m12s
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-07-05 20:12:17 +01:00
694135a10b fix: default log level is info
All checks were successful
Rust / build (push) Successful in 1m5s
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
When RUST_LOG isn't set, the default log level is INFO rather than
ERROR.

Closes kemitix/git-next#104
2024-07-05 07:23:40 +01:00
c2953adba5 chore: remove unused token from github tests
All checks were successful
Rust / build (push) Successful in 1m5s
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-07-05 07:04:27 +01:00
7b19f3b66f chore: directly re-export function and type
All checks were successful
Rust / build (push) Successful in 1m29s
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-07-05 06:59:54 +01:00
12849d5a69 refactor: server no longer depends directly on git crate
All checks were successful
Rust / build (push) Successful in 1m10s
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
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
2024-07-03 07:42:11 +01:00
3dec12de20 refactor: cli don't depend directly on git crate
All checks were successful
Rust / build (push) Successful in 1m10s
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-07-03 07:35:01 +01:00
83ce95776e fix: messages should always get delivered
All checks were successful
Rust / build (push) Successful in 1m11s
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
Remove the async wrapper for sending messages as they were never being
delivered.
2024-07-02 18:51:40 +01:00
dfc0c1dc80 refactor: only start actor system when server starts
All checks were successful
Rust / build (push) Successful in 1m27s
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
ci/woodpecker/cron/cron-docker-builder Pipeline was successful
ci/woodpecker/cron/push-next Pipeline was successful
ci/woodpecker/cron/tag-created Pipeline was successful
2024-07-01 06:54:07 +01:00
77d35e8a09 feat: load log levels from env RUST_LOG
All checks were successful
Rust / build (push) Successful in 1m24s
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-06-30 20:12:47 +01:00
c85eee85e9 refactor: file-watcher doesn't debug log on each loop
All checks were successful
Rust / build (push) Successful in 1m27s
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-06-30 20:12:35 +01:00