e8062788a0
feat(server): extract git::reset from gitforge::forgejo
2024-05-09 18:48:06 +01:00
e5a8051a31
feat(server): reload .git-next.toml from repo when main branch updated
...
Only does this if the repo config (i.e. the main, next and dev branches) are detailed in the
.git-next.toml file within the repo, rather than in the git-next-server.toml file.
Closes kemitix/git-next#74
2024-05-08 07:37:08 +01:00
ec2ebe70cf
feat(server): Don't load config from repo if repo config is in server config
...
Closes kemitix/git-next#77
2024-05-08 07:14:14 +01:00
6d147efe32
feat(server): restart server when config file is updated
...
Closes kemitix/git-next#59
2024-05-07 20:10:41 +01:00
7e79f4877a
fix(server): don't try to reset next when dev is not based on main
2024-05-07 18:59:51 +01:00
b1638a65fc
feat(server): give Server an incremental generation counter
2024-05-07 18:59:51 +01:00
9b211179bf
feat(server): extract Server actor
2024-05-07 18:59:51 +01:00
96994f2390
chore: fix typo
2024-05-07 18:59:51 +01:00
Renovate Bot
60f91b91df
chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v4
2024-05-07 10:47:30 +00:00
da5bc69508
feat(server): avoid duplicate messages being passed for repo actor
2024-05-05 08:30:01 +01:00
2c5f497be2
feat(server): remove redundant call to register webhook
2024-05-05 07:39:39 +01:00
709fde18d1
chore(logging): more cleaning up of logging around fetch and reset
2024-05-04 19:57:50 +01:00
7516ec1dc1
chore(logging): clean up and reformat logging
2024-05-04 19:41:53 +01:00
5ba5a126c3
fix(gitforge): use local repo or clone to allow git push
...
The `git push` command requires a git directory (bare at a minimum)
before it can work.
The git dir must also be up-to-date with the relevant references from
the remote, so
we do a `git fetch` before a `git push`.
Closes kemitix/git-next#51
2024-05-03 19:08:58 +01:00
d42c8fb890
build(cargo): specify clippy flags in Cargo.toml
...
Avoids needing to pass them as parameters whenever we run cargo clippy.
2024-05-02 18:52:10 +01:00
31ef0c19fb
feat(config): use specified gitdir when supplied
...
The user can specify a gitdir for a repo in the `git-next-server.toml` file.
When they do, then we should use that directory.
Closes kemitix/git-next#71
2024-04-29 06:52:50 +01:00
bb67b7c66d
feat(gitforge): clone repo in-process
...
Use the `gix` crate directly to create the clone rather then spawning a
`git` processess.
Closes kemitix/git-next#54
Closes kemitix/git-next#70
2024-04-28 18:01:11 +01:00
e357da4346
chore(deps): update kxio to v1.1.0
2024-04-28 16:53:02 +01:00
ff6e61b0ee
feat: validate repo if it already exists
...
Closes kemitix/git-next#60
2024-04-25 19:41:41 +01:00
7b46045737
feat: impl Deref for GitDir
2024-04-25 16:01:24 +01:00
60af21d07e
build: renovate should avoid pointless patch PRs
2024-04-25 16:01:24 +01:00
555aada7e9
fix( #61 ): Format path to clone into correctly
...
Closes kemitix/git-next#61
`GitDir` was being inserted into the command string as
"GitDir(\"data/default/foo\")".
2024-04-23 18:58:07 +01:00
3dfbd44b37
refactor: rename forge as forge_config
2024-04-23 16:14:13 +01:00
17f5f62e61
feat: Clone repo when starting repo
2024-04-23 07:41:39 +01:00
fc1c79620c
refactor: rename name to forge_name for consistency
2024-04-23 06:53:34 +01:00
8b56a185d3
refactor: rename name to repo_alias for consistency
2024-04-23 06:50:52 +01:00
32d54cfc1c
refactor: rename config variables,etc as repo_config
2024-04-21 19:36:37 +01:00
ee8b1e9fce
fix(config): deserialise gitdir as PathBuf, but expose it as GitDir
2024-04-21 19:33:42 +01:00
b71aece8c9
feat: add gitdir to RepoDetails type
2024-04-21 18:50:30 +01:00
a024c3de5e
feat: use GitDir in place of raw PathBuf
2024-04-21 18:47:07 +01:00
56e253b545
feat(config): add GitDir type
2024-04-21 18:38:47 +01:00
e10561f853
refactor(server/config): move tests into their own file
2024-04-21 18:24:14 +01:00
18143c17fd
refactor: use 'repo_path' use consistently
2024-04-20 21:03:17 +01:00
1170510c44
refactor: use 'server_repo_config' consistently
2024-04-20 21:03:12 +01:00
91870055b0
feat(gitforge): Add ability to clone a repo
...
Closes kemitix/git-next#56
2024-04-19 19:31:25 +01:00
16dc823f58
feat(config): User must specify a directory to store data
...
Closes kemitix/git-next#55
2024-04-19 18:49:03 +01:00
704853017b
feat(config): User can specify git directory to use for a repo
...
Closes kemitix/git-next#53
Does not include using this information.
2024-04-19 18:38:21 +01:00
50a969ede6
refactor: move server config loading out of forgejo module
...
Delete empty modules left over
2024-04-18 20:40:28 +01:00
0bfa1df875
refactor: delete dead code
2024-04-18 19:19:10 +01:00
0d57ee7bc0
refactor(gitforge): migrate some types from forge
2024-04-18 19:18:27 +01:00
adb44d18c9
feat(server/gitforge): replace git abstraction
2024-04-18 08:22:55 +01:00
968f9dd73d
chore(deps): Bump kxio from 0.1 to 1.0
2024-04-16 07:51:45 +01:00
c6251052b7
chore: Version set to 0.3.0
2024-04-16 06:49:06 +01:00
ec9571a182
feat(repo/webhook): Replace webhook if it already exists
...
Closes kemitix/git-next#45
2024-04-15 22:47:54 +01:00
dfd7d32c94
feat(dev): Add recipe for exposing webhook server
...
Starts an ngrok tunnel to expose port 8080 to the Internet.
2024-04-15 17:26:21 +01:00
3c60ff99ef
chore(version): set to 0.2.0
2024-04-14 19:22:35 +01:00
64a6b84ee4
feat(server/webhook): only accept authorised messages
...
Closes kemitix/git-next#47
2024-04-14 19:14:44 +01:00
b398ac3fd3
feat(repo/status): reschedule ValidateRepo when checks are Pending
...
Closes kemitix/git-next#48
2024-04-14 19:14:44 +01:00
24cb485410
feat(repo/webhook): Handle messages received via webhook for ForgeJo
...
Closes kemitix/git-next#43
2024-04-14 19:14:38 +01:00
dd91aa4f69
feat(server/webhook): implement register webhook
...
Closes kemitix/git-next#15
2024-04-14 14:37:55 +01:00