]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add the "staging" job
authorAndoni Duarte Pintado <andoni@isc.org>
Tue, 16 Sep 2025 15:10:44 +0000 (17:10 +0200)
committerAndoni Duarte Pintado <andoni@isc.org>
Mon, 27 Oct 2025 17:34:53 +0000 (18:34 +0100)
Add a new SSH-confirmed GitLab CI job that uploads a release tarball
prepared by the "sign" job to a staging environment specified using CI
variables.

(cherry picked from commit a7fd3ebd0b1ddbef1d3aff8f8fac1f43ae05e804)

.gitlab-ci.yml

index 0645ce948d6bcd363b1511c4b1595c29bf3292cb..c31317fafff70e4ecee954d802ea7a7041116b4c 100644 (file)
@@ -1644,6 +1644,29 @@ sign:
   rules:
     - *rule_tag
 
+# Job staging the signed tarballs
+
+staging:
+  <<: *signer_ssh_job
+  variables:
+    RELEASE_TARBALL: bind-${CI_COMMIT_TAG}-release.tar.gz
+    SSH_SCRIPT_RUNNER_PRE: |-
+      mv "${RELEASE_TARBALL}" "/tmp/${RELEASE_TARBALL}"
+    SSH_SCRIPT_CLIENT: |-
+      scp "/tmp/${RELEASE_TARBALL}" "${STAGING_USER_UPLOAD}@${STAGING_HOST}:${STAGING_DIR}"
+      ssh "${STAGING_USER_ACTIONS}@${STAGING_HOST}" "unpack ${CI_COMMIT_TAG}"
+    SSH_SCRIPT_RUNNER_POST: |-
+      rm -f "/tmp/${RELEASE_TARBALL}"
+  artifacts:
+    paths:
+      - staging-${CI_COMMIT_TAG}.log
+    expire_in: "1 month"
+  needs:
+    - job: sign
+      artifacts: true
+  rules:
+    - if: '$CI_COMMIT_TAG != null'
+
 # Job creating the release announcement MR in Printing Press
 
 prepare-release-announcement: