Commit graph

484 commits

Author SHA1 Message Date
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
e7060800eb feat(server/webhook): implement unregister webhook
Closes kemitix/git-next#17
2024-04-13 21:01:35 +01:00
df2d9d684c feat(server/webhook): add webhook server
Closes kemitix/git-next#18
2024-04-13 20:23:24 +01:00
4c4ac4df25 fix(repo/branch): revalidate positions in more conditions
- 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
Closes kemitix/git-next#41
2024-04-13 15:26:45 +01:00
2055421067 refactor(repo/branch): extract get_commit_histories 2024-04-13 15:22:23 +01:00