Merge "ONAP: Improve jenkins rebase and push-upstream jobs"
authorRobert Tomczyk <robert.tomczyk@est.tech>
Mon, 9 Sep 2019 09:30:13 +0000 (09:30 +0000)
committerNordix Gerrit <gerrit@nordix.org>
Mon, 9 Sep 2019 09:30:13 +0000 (09:30 +0000)
jjb/geode/apache-geode-slave/slave_setup.sh
jjb/nolabs/deploy.sh [new file with mode: 0644]
jjb/nolabs/nolabs-jobs.yaml [new file with mode: 0644]
jjb/nolabs/verify.sh [new file with mode: 0644]
jjb/opendev/openstack-heat-tempest-plugin/openstack-heat-tempest-plugin-push-upstream-jobs.yml [new file with mode: 0644]
jjb/opendev/openstack-heat-tempest-plugin/openstack-heat-tempest-plugin-rebase-jobs.yml [new file with mode: 0644]

index ef32cd12dbce4dc89b92957a141f6e424398e16e..306636a4afaaceced4750303bf1c667bdc520fd4 100755 (executable)
@@ -19,6 +19,20 @@ set -o nounset
 set -o errexit
 set -o pipefail
 set -o xtrace
+DPKG_LOCK="/var/lib/dpkg/lock-frontend"
+
+# Wait for other apt process to finish by checking the dpkg lock file.
+try=0
+while sudo lsof ${DPKG_LOCK}  > /dev/null 2>&1 ; do
+  echo "DPKG file locked: ${DPKG_LOCK}."
+  echo "   Waiting for another pkg instalaltion process to finish ..."
+  sleep 10
+  if [[ ${try} -gt 60 ]] ; then
+    echo "ERROR: Max number of re-tries reached, exiting..."
+    exit 1
+  fi
+  try=$((try + 1))
+done
 
 sudo apt-get update
 sudo apt-get install -y --no-install-recommends \
diff --git a/jjb/nolabs/deploy.sh b/jjb/nolabs/deploy.sh
new file mode 100644 (file)
index 0000000..f1788e4
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+cd $WORKSPACE
+echo "Info: Cleaning the previous deployment"
+echo "-------------------------------------------------------------------------"
+./stop.sh
+echo "-------------------------------------------------------------------------"
+echo "Info: Deploying the new version of nolabs"
+echo "-------------------------------------------------------------------------"
+./start.sh
+echo "-------------------------------------------------------------------------"
+echo "Info: Deployment successful!"
diff --git a/jjb/nolabs/nolabs-jobs.yaml b/jjb/nolabs/nolabs-jobs.yaml
new file mode 100644 (file)
index 0000000..d78969a
--- /dev/null
@@ -0,0 +1,168 @@
+---
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+- project:
+    name: 'nolabs'
+
+    project: 'nolabs'
+
+    stream:
+      - 'master':
+          branch: '{stream}'
+
+    jobs:
+      - 'nolabs-verify-{stream}'
+      - 'nolabs-deploy-{stream}'
+
+- job-template:
+    name: 'nolabs-verify-{stream}'
+
+    concurrent: false
+
+    parameters:
+      - project-parameters:
+          project: '{project}'
+          branch: '{branch}'
+      - nordix-gerrit-parameters
+      - label:
+          name: SLAVE_LABEL
+          default: 'nolabs'
+          description: 'Slave label to schedule this job on.'
+
+    properties:
+      - logrotate
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'nolabs-.*'
+          block-level: 'NODE'
+      - throttle:
+          max-per-node: 1
+          max-total: 1
+          option: project
+
+    wrappers:
+      - build-timeout:
+          timeout: 10
+      - fix-workspace-permissions
+
+    scm:
+      - git-scm-gerrit:
+          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+          branch: '{branch}'
+          refspec: $GERRIT_REFSPEC
+          wipe_workspace: true
+          clean_before: false
+
+    triggers:
+      - gerrit:
+          server-name: 'Nordix Gerrit'
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: 'false'
+                exclude-trivial-rebase: 'false'
+                exclude-no-code-change: 'false'
+            - draft-published-event
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'REG_EXP'
+              project-pattern: 'nolabs'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              disable-strict-forbidden-file-verification: 'false'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: '.gitignore'
+                - compare-type: ANT
+                  pattern: '.gitreview'
+
+    builders:
+      - shell:
+          !include-raw-escape: ./verify.sh
+
+- job-template:
+    name: 'nolabs-deploy-{stream}'
+
+    concurrent: false
+
+    parameters:
+      - project-parameters:
+          project: '{project}'
+          branch: '{branch}'
+      - nordix-gerrit-parameters
+      - label:
+          name: SLAVE_LABEL
+          default: 'nolabs'
+          description: 'Slave label to schedule this job on.'
+
+    properties:
+      - logrotate
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'nolabs-.*'
+          block-level: 'NODE'
+      - throttle:
+          max-per-node: 1
+          max-total: 1
+          option: project
+
+    wrappers:
+      - build-timeout:
+          timeout: 10
+      - fix-workspace-permissions
+
+    scm:
+      - git-scm:
+          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+          branch: '{branch}'
+          refspec: ''
+          wipe_workspace: true
+          clean_before: false
+
+    triggers:
+      - gerrit:
+          server-name: 'Nordix Gerrit'
+          trigger-on:
+            - change-merged-event
+            - comment-added-contains-event:
+                comment-contains-value: 'remerge'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              disable-strict-forbidden-file-verification: 'false'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: '.gitignore'
+                - compare-type: ANT
+                  pattern: '.gitreview'
+
+    builders:
+      - shell:
+          !include-raw-escape: ./deploy.sh
+
+# vim: set ts=2 sw=2 expandtab:
diff --git a/jjb/nolabs/verify.sh b/jjb/nolabs/verify.sh
new file mode 100644 (file)
index 0000000..4c3745f
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+cd $WORKSPACE
+app=nolabs-verify-${BUILD_ID}
+echo "Info: Building the container image nolabs-verify-${BUILD_ID}"
+echo "-------------------------------------------------------------------------"
+docker build -t $app .
+echo "-------------------------------------------------------------------------"
+echo "Info: Build successful!"
+docker rmi -f $app > /dev/null
diff --git a/jjb/opendev/openstack-heat-tempest-plugin/openstack-heat-tempest-plugin-push-upstream-jobs.yml b/jjb/opendev/openstack-heat-tempest-plugin/openstack-heat-tempest-plugin-push-upstream-jobs.yml
new file mode 100644 (file)
index 0000000..ea1b045
--- /dev/null
@@ -0,0 +1,26 @@
+---
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+    name: openstack-heat-tempest-plugin-push-upstream
+    project: openstack/heat-tempest-plugin
+    project-name: openstack-heat-tempest-plugin
+
+    jobs:
+      - 'opendev-{project-name}-push-upstream'
\ No newline at end of file
diff --git a/jjb/opendev/openstack-heat-tempest-plugin/openstack-heat-tempest-plugin-rebase-jobs.yml b/jjb/opendev/openstack-heat-tempest-plugin/openstack-heat-tempest-plugin-rebase-jobs.yml
new file mode 100644 (file)
index 0000000..82d6e36
--- /dev/null
@@ -0,0 +1,26 @@
+---
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+- project:
+    name: openstack-heat-tempest-plugin-rebase
+    project: openstack/heat-tempest-plugin
+    project-name: openstack-heat-tempest-plugin
+
+    jobs:
+      - 'opendev-{project-name}-rebase'
\ No newline at end of file