Commit graph

262 commits

Author SHA1 Message Date
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
eca45d0238 build(justfile): Add validate-dev-branch recipe 2024-04-13 14:09:57 +01:00
069b313fc3 feat(config)!: Add webhook URL field to server config 2024-04-13 14:09:57 +01:00
b21b80881e chore(config): Rename type RepoName as RepoAlias
Closes kemitix/git-next#39
2024-04-13 14:09:57 +01:00
0105631e3a feat(config): Allow repo config to be specified in server config
Closes kemitix/git-next#28
2024-04-13 14:09:57 +01:00
229d47f7c7 docs(server/config): add docs to types 2024-04-13 14:09:57 +01:00
cfa25b7f67 fix(deps): update rust crate gix to 0.62 (#40)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://github.com/Byron/gitoxide) | dependencies | minor | `0.61` -> `0.62` |

>  **Important**
>
> Release Notes retrieval for this PR were skipped because no github.com credentials were available.
> If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: Renovate Bot <renovate@kemitix.net>
Reviewed-on: kemitix/git-next#40
Co-authored-by: renovate <renovate@noreply.kemitix.net>
Co-committed-by: renovate <renovate@noreply.kemitix.net>
2024-04-13 14:09:35 +01:00
e272ca296b fix(actor/repo): always reschedule to validate repos
If validate repos saw anything unexpected it would stop and not schedule a re-validation.
2024-04-13 07:05:40 +01:00
af221f8a2f fix(forge/mock): visibility on methods 2024-04-13 06:56:11 +01:00
3bbe9abbd9 test: Create stub mock forge
Still need to figure out what tests this will need to support, and how
to configure it's behaviour. I've not ruled out creating a forge object
that is passed in rather than the functions we have now.

Closes kemitix/git-next#37
2024-04-12 22:43:19 +01:00
1ffa8366e0 feat: isolate ForgeJo behind default feature 'forgejo' 2024-04-12 20:53:55 +01:00
9df732ce97 chore: reduce logging to debug 2024-04-12 19:46:52 +01:00
223dd426c6 chore: don't log success 2024-04-12 19:43:21 +01:00
ee9cc53540 fix: don't log url containing API token 2024-04-12 19:41:47 +01:00
5fcf16ea75 feat: Abstract Git command execution into injectable enum
Closes kemitix/git-next#36
2024-04-12 19:39:24 +01:00
fb74879309 chore(foregejo): don't log fetch url
It contained the api token
2024-04-12 19:21:27 +01:00
8c4ad4b534 chore: clean up some logging 2024-04-12 17:41:09 +01:00
4e6a306a72 feat: Don't advance next branch if the target commit message is invalid
Closes kemitix/git-next#33
2024-04-12 17:31:55 +01:00
cedaf16acf feat: wrap API Token in a secrect::Secret and avoid logging
Closes kemitix/git-next#30
2024-04-12 15:27:03 +01:00
e8d174ee84 fix(forgejo): treat a blank status check result as pending
Closes kemitix/git-next#29
2024-04-12 13:51:56 +01:00
869935dfc2 fix(server): Prevent losing a task waker
Closes kemitix/git-next#26
2024-04-12 13:00:40 +01:00
53f66d5ee5 docs(readme): rewrite README 2024-04-12 11:27:04 +01:00
be3aded382 docs(readme): rewrite README 2024-04-12 11:03:32 +01:00