guix-commits
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]