[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Ludovic Courtès |
Date: |
Fri, 20 Dec 2024 17:06:54 -0500 (EST) |
branch: main
commit ff60e7b83cac3a62b7eb9a054db3dfd0aed42fd0
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Dec 20 19:53:04 2024 +0100
forgejo: Add provenance properties to pull request specs.
* src/cuirass/forges/forgejo.scm (forgejo-pull-request->specification):
Add ‘properties’ field.
* tests/http.scm (forgejo-pull-request-json-open): Add “url”.
("/admin/forgejo/event creates a spec from a new pull request"): Test
properties.
---
src/cuirass/forges/forgejo.scm | 12 +++++++++++-
tests/http.scm | 17 +++++++++++++++--
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/src/cuirass/forges/forgejo.scm b/src/cuirass/forges/forgejo.scm
index 25824d9..73ab609 100644
--- a/src/cuirass/forges/forgejo.scm
+++ b/src/cuirass/forges/forgejo.scm
@@ -133,4 +133,14 @@
%default-channels))
(priority priority)
(period period)
- (systems systems))))
+ (systems systems)
+ (properties
+ (let ((repository (forgejo-repository-reference-repository
+ (forgejo-pull-request-base pull-request))))
+ `((forge-type . forgejo)
+ (pull-request-url . ,(forgejo-pull-request-url pull-request))
+ (pull-request-number . ,(forgejo-pull-request-number pull-request))
+ (pull-request-target-repository-name
+ . ,(forgejo-repository-name repository))
+ (pull-request-target-repository-home-page
+ . ,(forgejo-repository-home-page repository))))))))
diff --git a/tests/http.scm b/tests/http.scm
index 975bb5e..a57a4ab 100644
--- a/tests/http.scm
+++ b/tests/http.scm
@@ -153,6 +153,7 @@
\"pull_request\": {
\"number\": 1,
\"state\": \"open\",
+ \"url\": \"https://forgejo.instance.test/base-repo/pulls/1\",
\"base\": {
\"label\": \"base-label\",
\"ref\": \"base-branch\",
@@ -546,12 +547,24 @@
gitlab-merge-request-json-close)))
(test-equal "/admin/forgejo/event creates a spec from a new pull request"
- (specification-name forgejo-pull-request-specification)
+ (list (specification-name forgejo-pull-request-specification)
+ 'project-name
+ "https://forgejo.instance.test/base-repo/project-name"
+ "https://forgejo.instance.test/base-repo/pulls/1"
+ 1)
(begin
(http-post-json (test-cuirass-uri "/admin/forgejo/event")
forgejo-pull-request-json-open
'((x-forgejo-event . "pull_request")))
- (specification-name (db-get-specification (specification-name
forgejo-pull-request-specification)))))
+ (let ((spec (db-get-specification
+ (specification-name forgejo-pull-request-specification))))
+ (cons (specification-name spec)
+ (map (lambda (field)
+ (assq-ref (specification-properties spec) field))
+ '(pull-request-target-repository-name
+ pull-request-target-repository-home-page
+ pull-request-url
+ pull-request-number))))))
(test-equal "/admin/forgejo/event error when a pull request has already
been created"
400
- [no subject], (continued)
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject], Ludovic Courtès, 2024/12/20
- [no subject],
Ludovic Courtès <=