3 Commits

Author SHA1 Message Date
Tom Alexander
5fb1982930 Mark internal_tracker as optional.
Some checks failed
semver Build semver has succeeded
format Build format has succeeded
clippy Build clippy has failed
build Build build has succeeded
rust-test Build rust-test has succeeded
2025-09-23 21:09:24 -04:00
Tom Alexander
ac3c23e65a Switch to local-path-provisioner.
Some checks failed
format Build format has succeeded
clippy Build clippy has failed
rust-test Build rust-test has succeeded
semver Build semver has succeeded
build Build build has succeeded
2025-08-31 18:35:48 -04:00
Tom Alexander
3f2bdda8cb Add support for new fields in payload.
All checks were successful
semver Build semver has succeeded
format Build format has succeeded
clippy Build clippy has succeeded
rust-test Build rust-test has succeeded
build Build build has succeeded
2025-02-08 21:11:23 -05:00
9 changed files with 129 additions and 90 deletions

View File

@@ -235,7 +235,7 @@ spec:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:

View File

@@ -310,7 +310,7 @@ spec:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:

View File

@@ -289,7 +289,7 @@ spec:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:

View File

@@ -279,7 +279,7 @@ spec:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:

View File

@@ -177,7 +177,7 @@ spec:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:

View File

@@ -1,80 +1,115 @@
{
"ref": "refs/heads/main",
"before": "f3b00c46ea57d5314063ad6fbfcaf9e38712cafe",
"after": "e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"compare_url": "https://code.fizz.buzz/talexander/webhook_bridge/compare/f3b00c46ea57d5314063ad6fbfcaf9e38712cafe...e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"before": "69b891b59b1ee026e5bf2e7bee357eead5cbe546",
"after": "5bd07a34780a5b4aaa9b5d0eef22b6e4ac1880a1",
"compare_url": "https://code.fizz.buzz/mirror/org-mode/compare/69b891b59b1ee026e5bf2e7bee357eead5cbe546...5bd07a34780a5b4aaa9b5d0eef22b6e4ac1880a1",
"commits": [
{
"id": "e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"message": "Add source_id to HookUser.\n\nThis must be a new field that gitea added in an update.\n",
"url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"id": "5bd07a34780a5b4aaa9b5d0eef22b6e4ac1880a1",
"message": "; Fix eaten escaping backslash in the documentation\n\n* lisp/org-keys.el (org-use-speed-commands): Add a missing backslash\nto the documentation string of the custom variable. Also, update\n`setq' to `setopt' and re-indent for clarity.\n",
"url": "https://code.fizz.buzz/mirror/org-mode/commit/5bd07a34780a5b4aaa9b5d0eef22b6e4ac1880a1",
"author": {
"name": "Tom Alexander",
"email": "tom@fizz.buzz",
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"committer": {
"name": "Tom Alexander",
"email": "tom@fizz.buzz",
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"verification": null,
"timestamp": "2024-10-18T19:41:56-04:00",
"timestamp": "2025-08-17T14:12:07+02:00",
"added": [],
"removed": [],
"modified": [
".webhook_bridge/pipeline-build-semver.yaml",
".webhook_bridge/pipeline-format.yaml",
".webhook_bridge/pipeline-rust-clippy.yaml",
".webhook_bridge/pipeline-rust-test.yaml",
".webhook_bridge/pipeline-semver.yaml",
"src/hook_push.rs"
"lisp/org-keys.el"
]
},
{
"id": "b0f793ff0a31adb520fc5989b0399786663192ea",
"message": "Support arrow keys and mouse wheel in export dispatcher\n\n* lisp/ox.el (org-export--dispatch-action): Translate down/up arrow\nkeys and scroll wheel to C-n/C-p, respectively.\n* etc/ORG-NEWS (Fancy HTML5 export uses ~<time>~ element for\ntimestamps): Document the change from the perspective of the user.\n",
"url": "https://code.fizz.buzz/mirror/org-mode/commit/b0f793ff0a31adb520fc5989b0399786663192ea",
"author": {
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"committer": {
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"verification": null,
"timestamp": "2025-08-11T16:44:59+02:00",
"added": [],
"removed": [],
"modified": [
"etc/ORG-NEWS",
"lisp/ox.el"
]
},
{
"id": "bea0bfc3d6eaddad13a3fb9106ff9e7faa73e970",
"message": "; Fix grammar and improve ol-info documentation\n\n* lisp/ol-info.el:\n(org-info--link-file-node):\n(org-info-description-as-command):\n(org-info-other-documents):\n(org-info-map-html-url):\n(org-info--expand-node-name):\n(org-info-export): Fix grammar, capitalize \"Info\", and improve wording\nof docstrings.\n",
"url": "https://code.fizz.buzz/mirror/org-mode/commit/bea0bfc3d6eaddad13a3fb9106ff9e7faa73e970",
"author": {
"name": "Steven Allen",
"email": "steven@stebalien.com",
"username": ""
},
"committer": {
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"verification": null,
"timestamp": "2025-09-17T17:13:51-07:00",
"added": [],
"removed": [],
"modified": [
"lisp/ol-info.el"
]
}
],
"total_commits": 1,
"total_commits": 3,
"head_commit": {
"id": "e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"message": "Add source_id to HookUser.\n\nThis must be a new field that gitea added in an update.\n",
"url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"id": "5bd07a34780a5b4aaa9b5d0eef22b6e4ac1880a1",
"message": "; Fix eaten escaping backslash in the documentation\n\n* lisp/org-keys.el (org-use-speed-commands): Add a missing backslash\nto the documentation string of the custom variable. Also, update\n`setq' to `setopt' and re-indent for clarity.\n",
"url": "https://code.fizz.buzz/mirror/org-mode/commit/5bd07a34780a5b4aaa9b5d0eef22b6e4ac1880a1",
"author": {
"name": "Tom Alexander",
"email": "tom@fizz.buzz",
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"committer": {
"name": "Tom Alexander",
"email": "tom@fizz.buzz",
"name": "Rudolf Adamkovič",
"email": "rudolf@adamkovic.org",
"username": ""
},
"verification": null,
"timestamp": "2024-10-18T19:41:56-04:00",
"timestamp": "2025-08-17T14:12:07+02:00",
"added": [],
"removed": [],
"modified": [
".webhook_bridge/pipeline-build-semver.yaml",
".webhook_bridge/pipeline-format.yaml",
".webhook_bridge/pipeline-rust-clippy.yaml",
".webhook_bridge/pipeline-rust-test.yaml",
".webhook_bridge/pipeline-semver.yaml",
"src/hook_push.rs"
"lisp/org-keys.el"
]
},
"repository": {
"id": 21,
"id": 24,
"owner": {
"id": 1,
"login": "talexander",
"id": 3,
"login": "mirror",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "gitea@local.domain",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"html_url": "https://code.fizz.buzz/talexander",
"email": "",
"avatar_url": "https://code.fizz.buzz/avatars/fbe322a89bc0ba531c3f0050e3935f28",
"html_url": "https://code.fizz.buzz/mirror",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2023-07-05T22:03:28Z",
"created": "2024-09-30T16:24:55Z",
"restricted": false,
"active": false,
"prohibit_login": false,
@@ -85,26 +120,26 @@
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "talexander"
"username": "mirror"
},
"name": "webhook_bridge",
"full_name": "talexander/webhook_bridge",
"description": "A server that receives webhooks from gitea and fires off Tekton jobs in response.",
"name": "org-mode",
"full_name": "mirror/org-mode",
"description": "This is a mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git for CI/development purposes because the upstream savannah git repo is flakey.",
"empty": false,
"private": false,
"fork": false,
"template": false,
"parent": null,
"mirror": false,
"size": 151,
"mirror": true,
"size": 119577,
"language": "",
"languages_url": "https://code.fizz.buzz/api/v1/repos/talexander/webhook_bridge/languages",
"html_url": "https://code.fizz.buzz/talexander/webhook_bridge",
"url": "https://code.fizz.buzz/api/v1/repos/talexander/webhook_bridge",
"languages_url": "https://code.fizz.buzz/api/v1/repos/mirror/org-mode/languages",
"html_url": "https://code.fizz.buzz/mirror/org-mode",
"url": "https://code.fizz.buzz/api/v1/repos/mirror/org-mode",
"link": "",
"ssh_url": "git@code.fizz.buzz:talexander/webhook_bridge.git",
"clone_url": "https://code.fizz.buzz/talexander/webhook_bridge.git",
"original_url": "",
"ssh_url": "git@code.fizz.buzz:mirror/org-mode.git",
"clone_url": "https://code.fizz.buzz/mirror/org-mode.git",
"original_url": "https://git.savannah.gnu.org/git/emacs/org-mode.git",
"website": "",
"stars_count": 0,
"forks_count": 0,
@@ -114,57 +149,54 @@
"release_counter": 0,
"default_branch": "main",
"archived": false,
"created_at": "2024-07-14T18:48:52Z",
"updated_at": "2024-09-30T04:41:20Z",
"created_at": "2024-09-30T16:27:01Z",
"updated_at": "2025-09-09T08:46:53Z",
"archived_at": "1970-01-01T00:00:00Z",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"has_issues": true,
"internal_tracker": {
"enable_time_tracker": true,
"allow_only_contributors_to_track_time": true,
"enable_issue_dependencies": true
},
"has_issues": false,
"has_wiki": false,
"has_pull_requests": true,
"has_pull_requests": false,
"has_projects": false,
"projects_mode": "all",
"has_releases": true,
"has_releases": false,
"has_packages": false,
"has_actions": false,
"ignore_whitespace_conflicts": false,
"allow_merge_commits": true,
"allow_rebase": true,
"allow_rebase_explicit": true,
"allow_squash_merge": true,
"allow_merge_commits": false,
"allow_rebase": false,
"allow_rebase_explicit": false,
"allow_squash_merge": false,
"allow_fast_forward_only_merge": false,
"allow_rebase_update": true,
"allow_rebase_update": false,
"default_delete_branch_after_merge": false,
"default_merge_style": "merge",
"default_allow_maintainer_edit": false,
"avatar_url": "",
"internal": false,
"mirror_interval": "",
"mirror_interval": "24h0m0s",
"object_format_name": "sha1",
"mirror_updated": "0001-01-01T00:00:00Z",
"repo_transfer": null
"mirror_updated": "2025-09-24T00:51:19Z",
"repo_transfer": null,
"topics": null,
"licenses": null
},
"pusher": {
"id": 1,
"login": "talexander",
"id": 3,
"login": "mirror",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "talexander@noreply.code.fizz.buzz",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"html_url": "https://code.fizz.buzz/talexander",
"email": "mirror@noreply.code.fizz.buzz",
"avatar_url": "https://code.fizz.buzz/avatars/fbe322a89bc0ba531c3f0050e3935f28",
"html_url": "https://code.fizz.buzz/mirror",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2023-07-05T22:03:28Z",
"created": "2024-09-30T16:24:55Z",
"restricted": false,
"active": false,
"prohibit_login": false,
@@ -175,21 +207,21 @@
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "talexander"
"username": "mirror"
},
"sender": {
"id": 1,
"login": "talexander",
"id": 3,
"login": "mirror",
"login_name": "",
"source_id": 0,
"full_name": "",
"email": "talexander@noreply.code.fizz.buzz",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"html_url": "https://code.fizz.buzz/talexander",
"email": "mirror@noreply.code.fizz.buzz",
"avatar_url": "https://code.fizz.buzz/avatars/fbe322a89bc0ba531c3f0050e3935f28",
"html_url": "https://code.fizz.buzz/mirror",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2023-07-05T22:03:28Z",
"created": "2024-09-30T16:24:55Z",
"restricted": false,
"active": false,
"prohibit_login": false,
@@ -200,6 +232,6 @@
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "talexander"
"username": "mirror"
}
}

View File

@@ -4,4 +4,4 @@ set -euo pipefail
IFS=$'\n\t'
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
RUST_LOG=webhook_bridge=DEBUG WEBHOOK_BRIDGE_API_ROOT="https://code.fizz.buzz/api" WEBHOOK_BRIDGE_HMAC_SECRET=$(cat /bridge/git/mrmanager/k8s/webhook-bridge/secrets/webhook-bridge/webhook-bridge/HMAC_TOKEN) WEBHOOK_BRIDGE_OAUTH_TOKEN=$(cat /bridge/git/mrmanager/k8s/webhook-bridge/secrets/webhook-bridge/webhook-bridge/OAUTH_TOKEN) cargo run
exec env RUST_LOG=webhook_bridge=DEBUG WEBHOOK_BRIDGE_API_ROOT="https://code.fizz.buzz/api" WEBHOOK_BRIDGE_HMAC_SECRET=$(cat /bridge/git/mrmanager/k8s/webhook_bridge/secrets/webhook-bridge/webhook-bridge/HMAC_TOKEN) WEBHOOK_BRIDGE_OAUTH_TOKEN=$(cat /bridge/git/mrmanager/k8s/webhook_bridge/secrets/webhook-bridge/webhook-bridge/OAUTH_TOKEN) WEBHOOK_BRIDGE_REPO_WHITELIST="talexander/webhook_bridge,talexander/homepage,talexander/natter,talexander/poudboot,talexander/ta_waybar_pipewire,talexander/organic" cargo run "${@}"

4
rust-toolchain.toml Normal file
View File

@@ -0,0 +1,4 @@
[toolchain]
channel = "nightly"
profile = "default"
components = ["clippy", "rustfmt"]

View File

@@ -89,7 +89,8 @@ pub(crate) struct HookRepository {
archived_at: String, // TODO: parse to datetime
permissions: HookRepositoryPermissions,
has_issues: bool,
internal_tracker: HookRepositoryInternalTracker,
#[serde(default, skip_serializing_if = "Option::is_none")]
internal_tracker: Option<HookRepositoryInternalTracker>,
has_wiki: bool,
has_pull_requests: bool,
has_projects: bool,
@@ -113,6 +114,8 @@ pub(crate) struct HookRepository {
object_format_name: String,
mirror_updated: String, // TODO: parse to datetime
repo_transfer: Value, // Was null in test hook
topics: Value, // Was null in test hook
licenses: Value, // Was null in test hook
}
#[allow(dead_code)]