Commit graph

310 commits

Author SHA1 Message Date
d909d427c7 build(forgejo): triger action 2024-05-15 20:14:17 +01:00
45e172e181 build(foregjo): add demo action 2024-05-15 20:09:36 +01:00
d70baa4350 refactor(config): more derive_more replacing boilerplate 2024-05-15 07:55:05 +01:00
c374076323 refactor(git): more use of derive_more 2024-05-14 16:28:21 +01:00
ac3e1be261 test: add some tests 2024-05-14 07:59:31 +01:00
a7e7d12928 test(cli): add tests 2024-05-14 07:58:28 +01:00
a4694d48f6 refactor(config): replace boilerplate with derive_more 2024-05-13 21:03:33 +01:00
c7c95a5750 build(docker): install git 2024-05-13 21:03:33 +01:00
1e38330914 feat(git): add git_dir value to error when reset fails 2024-05-13 19:09:11 +01:00
e34d5c2c2c build(docker): clean up and update debian version 2024-05-12 18:35:47 +01:00
4d352f005d refactor(server,config,git): extract modules config and git from server 2024-05-12 10:49:33 +01:00
740419ffb8 refactor: specify server dependency in workspace 2024-05-11 19:29:38 +01:00
87c762c59a chore: clean up dependencies for split crates 2024-05-11 19:14:06 +01:00
a8eedfcac5 fix: clippy fixes for tests 2024-05-11 18:58:47 +01:00
3a112ddd8b refactor: extract server crate 2024-05-11 18:57:18 +01:00
834dff4370 chore: convert project into a cargo workspace 2024-05-11 16:33:18 +01:00
1cd56d953e feat(server): allow specifying id address and port to bind to
Closes kemitix/git-next#44
2024-05-10 22:02:08 +01:00
daa40e7621 refactor(server): extract Repository::open and clone 2024-05-10 10:11:34 +01:00
62bee38c85 feat(server): use cached Repository from RepoActor 2024-05-10 10:10:43 +01:00
992821d563 feat(server): cache Repository in RepoActor 2024-05-09 21:18:40 +01:00
b7aa417831 feat(server): include repo in missing handler logs
Closes kemitix/git-next#78
2024-05-09 20:40:56 +01:00
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