Merge "Fix VPP linting"
[ci-management.git] / jjb / puppet-fdio / puppet-fdio.yaml
index 4f0de02..1942f26 100644 (file)
@@ -1,68 +1,60 @@
+---
 - project:
     name: puppet-fdio
     jobs:
-        - 'puppet-module-unit'
-        - 'puppet-fdio-verify-beaker-{stream}-{os}'
+      - 'puppet-module-unit'
+      - 'puppet-fdio-verify-beaker-{stream}-{os}'
     project: 'puppet-fdio'
-    os:
-        - centos7:
-            repo-os-part: 'centos7'
+    os: 'centos7'
+    repo-os-part: 'centos7'
+
     stream:
-        - master:
-            branch: 'master'
-            repo-stream-part: 'master'
+      - master:
+          branch: 'master'
+          repo-stream-part: 'master'
 
 - job-template:
     name: 'puppet-fdio-verify-unit-{puppet_version}-{stream}-{os}'
 
     project-type: freestyle
-    node: 'verify-{os}'
+    node: centos7-basebuild-4c-4g
     concurrent: true
 
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: '{build-num-to-keep}'
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: '{branch}'
-        - os-parameter:
-            os: '{os}'
-        - repo-name-parameter:
-            repo-name: '{repo-stream-part}.{repo-os-part}'
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - os-parameter:
+          os: '{os}'
+      - repo-name-parameter:
+          repo-name: '{repo-stream-part}.{repo-os-part}'
 
     scm:
-        - gerrit-trigger-scm:
-            credentials-id: 'jenkins-gerrit-credentials'
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
 
     wrappers:
-        - fdio-infra-wrappers:
-            build-timeout: '{build-timeout}'
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
 
     triggers:
-        - gerrit-trigger-patch-submitted:
-            name: '{project}'
-            branch: '{branch}'
+      - gerrit-trigger-patch-submitted:
+          name: '{project}'
+          branch: '{branch}'
 
     builders:
-        - puppet-prepare-node
-        - shell: |
-            if [ "{puppet_version}" != "latest" ]; then
-              export PUPPET_GEM_VERSION='~> {puppet_version}.0'
-            fi
-            mkdir .bundled_gems
-            export GEM_HOME=`pwd`/.bundled_gems
-            gem install bundler --no-rdoc --no-ri --verbose
-            $GEM_HOME/bin/bundle install --retry 3
-            $GEM_HOME/bin/bundle exec rake syntax
-            $GEM_HOME/bin/bundle exec rake lint
-            $GEM_HOME/bin/bundle exec rake spec SPEC_OPTS='--format documentation'
+      - shell: |
+          ./scripts/prepare-node.sh
+          ./scripts/ci-unit-tests.sh {puppet_version}
 
 - job-group:
     name: 'puppet-module-unit'
     name: 'puppet-fdio-verify-beaker-{stream}-{os}'
 
     project-type: freestyle
-    node: 'verify-{os}'
+    node: centos7-basebuild-4c-4g
     concurrent: true
 
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
+    build-discarder:
+      daysToKeep: '{build-days-to-keep}'
+      numToKeep: '{build-num-to-keep}'
+      artifactDaysToKeep: '{build-artifact-days-to-keep}'
+      artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: '{branch}'
-        - os-parameter:
-            os: '{os}'
-        - repo-name-parameter:
-            repo-name: '{repo-stream-part}.{repo-os-part}'
+      - project-parameter:
+          project: '{project}'
+      - gerrit-parameter:
+          branch: '{branch}'
+      - os-parameter:
+          os: '{os}'
+      - repo-name-parameter:
+          repo-name: '{repo-stream-part}.{repo-os-part}'
 
     scm:
-        - gerrit-trigger-scm:
-            credentials-id: 'jenkins-gerrit-credentials'
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
+      - gerrit-trigger-scm:
+          credentials-id: 'jenkins-gerrit-credentials'
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
 
     wrappers:
-        - fdio-infra-wrappers:
-            build-timeout: '{build-timeout}'
+      - fdio-infra-wrappers:
+          build-timeout: '{build-timeout}'
 
     triggers:
-        - gerrit-trigger-patch-submitted:
-            name: '{project}'
-            branch: '{branch}'
+      - gerrit-trigger-patch-submitted:
+          name: '{project}'
+          branch: '{branch}'
 
-    builders:
-        - puppet-prepare-node
-        - allow-local-ssh-root
-        - shell: |
-            sudo sysctl -w vm.nr_hugepages=1024
-            cat /proc/meminfo | grep Huge
-            mkdir .bundled_gems
-            export GEM_HOME=`pwd`/.bundled_gems
-            gem install bundler --no-rdoc --no-ri --verbose
-            $GEM_HOME/bin/bundle install --retry 3
-            export BEAKER_set=nodepool-{os}
-            export BEAKER_debug=yes
-            export BEAKER_color=no
-            $GEM_HOME/bin/bundle exec rspec spec/acceptance
-
-- builder:
-    name: puppet-prepare-node
     builders:
       - shell: |
-          if [ -f /usr/bin/yum ]; then
-            sudo yum -y install libxml2-devel libxslt-devel ruby-devel zlib-devel
-          elif [ -f /usr/bin/apt-get ]; then
-            sudo apt-get update
-            sudo apt-get install -y libxml2-dev libxslt-dev zlib1g-dev
-          fi
-
-- builder:
-    name: allow-local-ssh-root
-    builders:
-      - shell: |
-          #!/bin/bash
-          echo "" | sudo tee -a /etc/ssh/sshd_config
-          echo "Match address 127.0.0.1" | sudo tee -a /etc/ssh/sshd_config
-          echo "    PermitRootLogin without-password" | sudo tee -a /etc/ssh/sshd_config
-          echo "" | sudo tee -a /etc/ssh/sshd_config
-          echo "Match address ::1" | sudo tee -a /etc/ssh/sshd_config
-          echo "    PermitRootLogin without-password" | sudo tee -a /etc/ssh/sshd_config
-          mkdir -p .ssh
-          ssh-keygen -f ~/.ssh/id_rsa -b 2048 -P ""
-          sudo mkdir -p /root/.ssh
-          cat ~/.ssh/id_rsa.pub | sudo tee -a /root/.ssh/authorized_keys
-          if [ -f /usr/bin/yum ]; then
-              sudo systemctl restart sshd
-          elif [ -f /usr/bin/apt-get ]; then
-              sudo service ssh restart
-          fi
+          ./scripts/prepare-node.sh
+          ./scripts/allow-local-ssh-root.sh
+          ./scripts/ci-beaker.sh {os}
+
+    publishers:
+      - fdio-infra-shiplogs:
+          maven-version: 'mvn33-new'