URL: https://github.com/SSSD/sssd/pull/919
Author: pbrezina
 Title: #919: ci: improvements for on-demand builds
Action: synchronized

To pull the PR as Git branch:
git remote add ghsssd https://github.com/SSSD/sssd
git fetch ghsssd pull/919/head:pr919
git checkout pr919
From 78411a79034e89bd1e761c3059178c94fff6a35c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrez...@redhat.com>
Date: Tue, 29 Oct 2019 10:17:16 +0100
Subject: [PATCH 1/5] ci: store artifacts in jenkins for on-demand runs

---
 Jenkinsfile | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Jenkinsfile b/Jenkinsfile
index c139b241fa..44a7e9728a 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -104,6 +104,9 @@ class Test {
     this.artifactsdir = "${this.pipeline.env.WORKSPACE}/artifacts/${this.system}"
     this.codedir = "${this.pipeline.env.WORKSPACE}/sssd"
 
+    /* Clean-up previous artifacts just to be sure there are no leftovers. */
+    this.pipeline.sh "rm -fr ${this.artifactsdir} || :"
+
     try {
       this.pipeline.echo "Running on ${this.pipeline.env.NODE_NAME}"
       this.notify('PENDING', 'Build is in progress.')
@@ -244,6 +247,12 @@ class OnDemandTest extends Test {
 
   def archive() {
     this.pipeline.echo 'On demand run. Artifacts are not stored in the cloud.'
+    this.pipeline.echo 'They are accessible only from Jenkins.'
+    this.pipeline.echo "${this.pipeline.env.BUILD_URL}/artifact/artifacts/${this.system}"
+    this.pipeline.archiveArtifacts artifacts: "artifacts/**",
+      allowEmptyArchive: true
+
+    this.pipeline.sh "rm -fr ${this.artifactsdir}"
   }
 }
 

From d851ff39cde6134117b9311b996f6472ce07ebb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrez...@redhat.com>
Date: Tue, 29 Oct 2019 10:55:07 +0100
Subject: [PATCH 2/5] ci: allow to specify systems where tests should be run
 for on-demand tests

---
 Jenkinsfile | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Jenkinsfile b/Jenkinsfile
index 44a7e9728a..9bd427e3b8 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -264,6 +264,12 @@ def notification = new Notification(
   on_demand
 )
 
+if (params.SYSTEMS) {
+  if (params.SYSTEMS != 'all') {
+    systems = params.SYSTEMS.split()
+  }
+}
+
 try {
   /* Setup nice build description so pull request are easy to find. */
   stage('Setup description') {

From dbaa247eae63cc18ef47078c6427eec5c39370f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrez...@redhat.com>
Date: Mon, 4 Nov 2019 12:27:10 +0100
Subject: [PATCH 3/5] ci: add Fedora 31

---
 Jenkinsfile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Jenkinsfile b/Jenkinsfile
index 9bd427e3b8..fc43db1ae2 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,6 +8,7 @@ def systems = [
   'fedora28',
   'fedora29',
   'fedora30',
+  'fedora31',
   'fedora-rawhide',
   'debian10',
 ]

From dba42b32f5de05743cf76fc946a4b005ffee0334 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrez...@redhat.com>
Date: Wed, 6 Nov 2019 13:21:42 +0100
Subject: [PATCH 4/5] ci: install python2 on Fedora 31 and RHEL 8 so python2
 bindings can be built

Python2 is no longer installed by default on these systems and SSSD is not
built there with python2 bindings. But we should still keep testing it.
---
 contrib/ci/deps.sh | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/contrib/ci/deps.sh b/contrib/ci/deps.sh
index 1585dca230..c9c9fa2ea3 100644
--- a/contrib/ci/deps.sh
+++ b/contrib/ci/deps.sh
@@ -49,6 +49,15 @@ if [[ "$DISTRO_BRANCH" == -redhat-* ]]; then
         krb5-workstation
     )
 
+    if [[ "$DISTRO_BRANCH" == -redhat-fedora-31* ||
+          "$DISTRO_BRANCH" == -redhat-redhatenterprise*-8.*- ||
+          "$DISTRO_BRANCH" == -redhat-centos-8.*- ]]; then
+        DEPS_LIST+=(
+            python2
+            python2-devel
+        )
+    fi
+
     if [[ "$DISTRO_BRANCH" == -redhat-fedora-3[1-9]* ||
           "$DISTRO_BRANCH" == -redhat-redhatenterprise*-8.*- ||
           "$DISTRO_BRANCH" == -redhat-centos-8.*- ]]; then

From 46daa47a674a9df66b8a414e35d6fcffad278bcc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrez...@redhat.com>
Date: Wed, 6 Nov 2019 13:23:01 +0100
Subject: [PATCH 5/5] ci: disable python2 bindings on Fedora 32+

Python2 is removed from Fedora 32+, see:
https://fedoraproject.org/wiki/Changes/RetirePython2
---
 contrib/ci/configure.sh | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/contrib/ci/configure.sh b/contrib/ci/configure.sh
index e4fb92c9cf..810e82a1f5 100644
--- a/contrib/ci/configure.sh
+++ b/contrib/ci/configure.sh
@@ -75,6 +75,12 @@ if [[ "$DISTRO_BRANCH" == -redhat-fedora-29* ||
     )
 fi
 
+if [[ "$DISTRO_BRANCH" == -redhat-fedora-3[2-9]* ]]; then
+    CONFIGURE_ARG_LIST+=(
+        "--without-python2-bindings"
+    )
+fi
+
 declare -r -a CONFIGURE_ARG_LIST
 
 fi # _CONFIGURE_SH
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org

Reply via email to