48c968db2d
refactor: merge actor-macros into core
...
Starting to flatten the crates.
2024-07-25 07:37:29 +01:00
758ca5c2dc
docs: update message graph for repo-actor
2024-07-24 08:35:29 +01:00
9e12f5eb5d
feat: post webhook notifications to user
...
Closes kemitix/git-next#91
2024-07-23 20:40:01 +01:00
288c20c24b
feat: dispatch NotifyUser messages to server for user (2/2)
2024-07-23 20:39:02 +01:00
4978400ece
refactor: use Option<&T> over &Option<T>
2024-07-23 20:38:58 +01:00
bcf57bc728
feat: dispatch NotifyUser messages to server for user (1/2)
2024-07-23 20:38:54 +01:00
e9877ca9fa
feat: support sending messages to the user
2024-07-23 20:38:51 +01:00
c86d890c2c
feat: enable configuration of a webhook for receiving notifications
2024-07-23 20:38:29 +01:00
1690e1bff6
docs: document Notifications to user
2024-07-23 20:37:08 +01:00
8f95ae0058
refactor: extract messages and handlers modules from webhook-actor
2024-07-19 07:48:55 +01:00
ba67b1ebcb
refactor: flag internally that dev not based on main will require used intervention
...
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'
...
Closes kemitix/git-next#83
2024-07-16 19:59:11 +01:00
c104dfedc1
refactor: Reduce cognitive complexity of WebhookNotification
handler. 2/2
...
Closes kemitix/git-next#49
2024-07-16 18:33:45 +01:00
06292c2711
refactor: Reduce cognitive complexity of WebhookNotification
handler. 1/2
...
Closes kemitix/git-next#49
2024-07-16 18:14:32 +01:00
33907a1d32
feat: reload server config when file is touched
...
Closes kemitix/git-next#84
2024-07-16 07:14:57 +01:00
f44865fa92
docs: add UnRegisterWebhook from RepoActor
2024-07-15 07:53:14 +01:00
b715755b91
feat: unregister webhooks form forge during shutdown
...
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
...
Closes kemitix/git-next#106
2024-07-14 20:58:58 +01:00
6981a7b5e3
docs: move main README into cli crate
2024-07-14 20:54:17 +01:00
69211a87a3
build: add more metadata for crates.io
2024-07-14 20:47:19 +01:00
e2b545ae39
fix: move default.toml inside crate that uses it
2024-07-14 20:22:32 +01:00
639e561be6
fix: move server-default.toml inside crate that uses it
2024-07-14 20:22:32 +01:00
adf56c1b38
revert: fix: explicitly specify version in each crate
...
This reverts commit cd93d047cb
.
2024-07-14 16:39:17 +01:00
cd93d047cb
fix: explicitly specify version in each crate
...
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
2024-07-14 13:32:07 +01:00
e410cfc4f1
chore: add license and descriptions for each crate
2024-07-14 10:40:34 +01:00
10e63894c2
docs: server-actor: add readme showing message paths
2024-07-13 08:16:24 +01:00
57a614bad3
fix: don't modify config of external repos
...
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
...
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
...
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
2024-07-11 19:19:01 +01:00
7578ab3144
feat: log as an error when webhook url ends with a slash
...
Closes kemitix/git-next#87
2024-07-11 19:18:58 +01:00
7212154037
refactor: split ReceiveServerConfig handler
...
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
...
Closes kemitix/git-next#75
2024-07-11 19:18:50 +01:00
9c20e780d0
feat: update auth of interal repos when changed in config
...
Closes kemitix/git-next#100
2024-07-10 09:05:36 +01:00
df352443b7
feat: GitDir tracks when repo is cloned by git-next
2024-07-06 15:08:13 +01:00
4e60be61f7
refactor: extract git::repository::factory module
2024-07-05 20:31:16 +01:00
5ab075c181
refactor: split git::repository::tests module
2024-07-05 20:12:17 +01:00
d9feaeaa7b
chore: remove unused FakeOpenRepository
2024-07-05 20:12:17 +01:00
2e374d317a
refactor: split git::repository::open::tests module
2024-07-05 20:12:17 +01:00
694135a10b
fix: default log level is info
...
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
2024-07-05 07:04:27 +01:00
7b19f3b66f
chore: directly re-export function and type
2024-07-05 06:59:54 +01:00
12849d5a69
refactor: server no longer depends directly on git crate
2024-07-03 07:42:11 +01:00
3dec12de20
refactor: cli don't depend directly on git crate
2024-07-03 07:35:01 +01:00
83ce95776e
fix: messages should always get delivered
...
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
2024-07-01 06:54:07 +01:00
77d35e8a09
feat: load log levels from env RUST_LOG
2024-06-30 20:12:47 +01:00
c85eee85e9
refactor: file-watcher doesn't debug log on each loop
2024-06-30 20:12:35 +01:00
40c61fa9ff
test: add more debug tracing
2024-06-30 19:42:09 +01:00
73ab149aba
fix: github commit should use common headers
2024-06-30 19:30:22 +01:00
ae7933c79e
fix: don't retry validation when non-retryable error
...
Closes kemitix/git-next#90
2024-06-30 18:48:49 +01:00
c9efbb9936
fix: ReceiveRepoConfig tries to send two messages
...
Similar to CloneRepo the handler tries to send two messages one after
the other. Leave it to WebhookRegistered handler to kick off the
ValidateRepo. Also update the README with the correct message sequence.
2024-06-30 16:59:24 +01:00
68005d757d
fix: start validating repo after registering webhook
...
Clone Repo wasn't sending the second message, so workaround: have it be
sent after registering the webhook.
2024-06-30 16:54:26 +01:00
55d8ccb0bd
feat: ignore github ping webhook messages
...
Closes kemitix/git-next#101
2024-06-30 15:20:00 +01:00
8fceafc3e1
refactor: repo-actor: replace Mutex with RwLock
2024-06-30 13:17:33 +01:00
73b416e3a0
refactor: git: replace Mutex with RwLock in Repository
2024-06-30 13:14:50 +01:00
52df2114e5
refactor: tests: repo-actor: use methods on RepoActorLog
2024-06-30 13:12:12 +01:00
3e137c6480
refactor: repo-actor: RepoActorLog: replace Mutex with RwLock
2024-06-30 12:40:17 +01:00
db90280641
fix: github: restarting server creates duplicate webhook for repo
...
The Github routine for registering a new webhook, wasn't removing any
existing matching webhooks. There is a test for this, but it doesn't
assert that the delete requests are made. (This is a limitation of
kxio).
Closes kemitix/git-next#102
2024-06-30 12:23:42 +01:00
975c9e315c
fix: where repo config is in server should register webhook
2024-06-30 08:09:10 +01:00
0796df00d4
docs: fix typo
2024-06-30 08:00:51 +01:00
c571e9ee8d
refactor: CloneRepo use actor::do_send to send LoadConfigFromRepo
2024-06-30 07:55:55 +01:00
32fb92fb8d
refactor: remove dead code
2024-06-29 19:24:18 +01:00
717cc8b0bc
refactor: update macro signatures and add documentation support
2024-06-29 18:26:19 +01:00
0fd33739c1
refactor: server: collapse tests to base of crate
2024-06-29 11:16:46 +01:00
113192042b
refactos: extract server-actor crate
2024-06-29 11:14:09 +01:00
52d442f2b0
refactor: extract file-watcher-actor crate
2024-06-29 10:57:18 +01:00
2008afa4dd
refactor: extract actor-macros crate
2024-06-29 10:49:12 +01:00
eba00a112f
refactor: extract webhook actor
2024-06-29 08:25:16 +01:00
6d9eb0ab86
refactor: remove dead code
2024-06-29 07:01:31 +01:00
f460cd4b49
refactor: remove unused Forge Deref implementation
2024-06-29 07:01:31 +01:00
e585b07f6b
tests: repo-actor: add more tests
2024-06-29 07:01:26 +01:00
ffab1986a7
refactor: repo-actor: rewrite tests using mockall
2024-06-27 18:58:47 +01:00
601e400300
refactor: forgejo: explain todo warnings
2024-06-20 19:09:50 +01:00
2cdaf39c0f
refactor: git: use newtype
2024-06-20 19:06:24 +01:00
b9940cd205
tests: use println rather then eprintln in tests
...
This should reduce the noise in output when a test is running and passing.
2024-06-20 18:54:01 +01:00
8ce4528c88
chore: remove unused Fake repo facade
2024-06-20 18:28:05 +01:00
94ad2c441c
refactor: create a RepositoryFactory trait
2024-06-20 18:28:01 +01:00
ea20afee12
refactor: config: use newtype
2024-06-19 08:16:54 +01:00
5e9f9eb80f
refactor: start to use newtype macro
2024-06-19 06:45:45 +01:00
2e71e40378
refactor: add newtype macro
2024-06-16 08:00:00 +01:00
be78597331
tests: make TestRepository from git crate available to other crates
2024-06-14 09:05:11 +01:00
2acc43d3d6
chore: remove dead code
2024-06-14 08:19:55 +01:00
9b970835c8
refactor: clean up eprintln use
2024-06-13 20:00:04 +01:00
588666ffe1
tests: add more tests to git crate
2024-06-13 19:50:19 +01:00
926851db19
refactor: rewrite git crate's mock repository
2024-06-09 10:02:57 +01:00
dcd94736a9
refactor: git::push::reset takes all params as refs
2024-06-09 09:49:54 +01:00
c6a1d2c21b
refactor: merge git::branch module into git::push
2024-06-09 09:49:54 +01:00
65e9ddf5db
fix: remove unused GitDir::into_string() function
2024-06-09 09:49:54 +01:00
b5c0f5bd36
refactor: use given::a_name in config tests
2024-06-08 20:16:15 +01:00
aa817a8e95
refactor: tests: expand test given modules
2024-06-07 20:03:14 +01:00
271f4ec1dc
tests: tidy up config, forgejo and git tests
...
Coverage for config, forge, forgejo and github is now 100%.
2024-06-06 17:45:33 +01:00
309e523cfe
test: add more tests to forge-github crate
2024-06-06 07:57:44 +01:00
7b280a2a0a
fix: github: as soon as any check fails, ignore any pending
2024-06-04 08:25:22 +01:00
46e2871e17
fix: github: use correct url to check CI status
...
There was a stray $ in the string interpolation (blame working on
Typescript for other projects) and the wrong query path.
2024-06-04 08:23:06 +01:00
e29c274aaf
refactor: server: use thiserror
2024-06-03 20:34:01 +01:00
621e599b31
refactor: git: use thiserror and cleanup errors
2024-06-03 20:31:39 +01:00
0b8e41a8ec
refactor: config: use thiserror and move tests about
2024-06-03 07:38:59 +01:00
235aee8b11
chore: remove unused dependencies
...
Identified using: cargo +nightly udeps --all-targets
2024-06-02 20:30:35 +01:00