Do RPM tests in RPM build job to gate publish 02/66402/1
authorDaniel Farrell <dfarrell@redhat.com>
Tue, 12 Dec 2017 21:36:04 +0000 (16:36 -0500)
committerDaniel Farrell <dfarrell@redhat.com>
Tue, 12 Dec 2017 21:36:04 +0000 (16:36 -0500)
We currently only run our RPM tests after the RPM build job finishes.
This isn't good because by the time we've tested the RPM it has already
been pushed to Nexus and is being consumed by downstreams. Instead we
should fail the RPM build job if the tests fail and not publish.

Change-Id: I215de288923a308b95ebd242578d2a90d0b8e6ec
Fixes: INTPAK-115
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
jjb/packaging/install-rpm.sh
jjb/packaging/packaging.yaml

index 7f72f0683a67badeff0f5b8f625e138b7bf3c888..2ccc50078f18452dfe42bc5aabf50aa3d3c1d9a7 100644 (file)
@@ -9,12 +9,15 @@ set -ex -o pipefail
 # Update mirror list to avoid slow/hung one
 sudo yum update -y yum-plugin-fastestmirror
 
-# Install ODL from .rpm link or .repo url
-if [[ $URL == *.rpm ]]
-then
+# Install ODL from RPM path, RPM URL or .repo file url
+# NB: Paths must be anchored at root
+if [[ $URL == /*  ]]; then
+  # If path is globbed (/path/to/*.rpm), expand it
+  path=$(sudo find / -wholename $URL)
+  sudo yum install -y "$path"
+elif [[ $URL == *.rpm ]]; then
   sudo yum install -y "$URL"
-elif [[ $URL == *.repo ]]
-then
+elif [[ $URL == *.repo ]]; then
   # shellcheck disable=SC2154
   repo_file="${{URL##*/}}"
   sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$URL"
index ec2200683212139e568b9b8f657df5cb18d3fb0e..236219044866800c0c6a83ce04f8bc29405a692c 100644 (file)
     builders:
       - shell: !include-raw: build-rpm.sh
       - shell: !include-raw: test-rpm-deps.sh
+      - inject:
+          properties-content: 'URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm'
+      - shell: !include-raw: install-rpm.sh
+      - shell: !include-raw: start-odl.sh
+      - shell: |
+          # Install expect to interact with Karaf shell
+          sudo yum install -y expect
+          # Install nmap to check status of ODL's SSH port
+          sudo yum install -y nmap
+      - shell: !include-raw: test-karaf.expect
+      - shell: !include-raw: stop-odl.sh
       - lf-infra-deploy-maven-file:
           global-settings-file: 'global-settings'
           settings-file: 'packaging-settings'