From 991cd7fbd8ca372a3e8a8b174186228adf2a8b8e Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Tue, 25 Oct 2016 15:48:35 -0500 Subject: [PATCH] adds a new job to do syntax checks on ceph-ansible pull requests Signed-off-by: Andrew Schoen --- ceph-ansible-pr-syntax-check/build/build | 20 ++++++ .../ceph-ansible-pr-syntax-check.yml | 62 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 ceph-ansible-pr-syntax-check/build/build create mode 100644 ceph-ansible-pr-syntax-check/config/definitions/ceph-ansible-pr-syntax-check.yml diff --git a/ceph-ansible-pr-syntax-check/build/build b/ceph-ansible-pr-syntax-check/build/build new file mode 100644 index 00000000..2dd70c84 --- /dev/null +++ b/ceph-ansible-pr-syntax-check/build/build @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +# the following two methods exist in scripts/build_utils.sh +pkgs=( "ansible") +install_python_packages "pkgs[@]" + +cd $WORKSPACE/ceph-ansible + +$VENV/ansible-playbook -i '127.0.0.1,' site.yml.sample --syntax-check --list-tasks -vv +$VENV/ansible-playbook -i '127.0.0.1,' site-docker.yml.sample --syntax-check --list-tasks -vv + +# move roles and group_vars into the +# infrastructure-playbooks directory for easier syntax checking +cp -r roles infrastructure-playbooks/ +cp -r group_vars infrastructure-playbooks/ +mv infrastructure-playbooks/all.sample infrastructure-playbooks/all + +$VENV/ansible-playbook -i '127.0.0.1,' infrastructure-playbooks/*.yml --syntax-check --list-tasks -vv diff --git a/ceph-ansible-pr-syntax-check/config/definitions/ceph-ansible-pr-syntax-check.yml b/ceph-ansible-pr-syntax-check/config/definitions/ceph-ansible-pr-syntax-check.yml new file mode 100644 index 00000000..b81fc398 --- /dev/null +++ b/ceph-ansible-pr-syntax-check/config/definitions/ceph-ansible-pr-syntax-check.yml @@ -0,0 +1,62 @@ +- scm: + name: ceph-ansible + scm: + - git: + url: https://github.com/ceph/ceph-ansible.git + branches: + - ${sha1} + refspec: +refs/pull/*:refs/remotes/origin/pr/* + browser: auto + timeout: 20 + skip-tag: true + wipe-workspace: false + basedir: "ceph-ansible" + +- job: + name: ceph-ansible-pr-syntax-check + node: centos7 || trusty + project-type: freestyle + defaults: global + concurrent: true + display-name: 'ceph-ansible: Pull Requests Syntax Check' + quiet-period: 5 + block-downstream: false + block-upstream: false + retry-count: 3 + properties: + - github: + url: https://github.com/ceph/ceph-build + logrotate: + daysToKeep: 15 + numToKeep: 30 + artifactDaysToKeep: -1 + artifactNumToKeep: -1 + + parameters: + - string: + name: sha1 + description: "A pull request ID, like 'origin/pr/72/head'" + + triggers: + - github-pull-request: + allow-whitelist-orgs-as-admins: true + org-list: + - ceph + trigger-phrase: '' + only-trigger-phrase: false + github-hooks: true + permit-all: true + auto-close-on-fail: false + status-context: "Testing Playbook Syntax" + started-status: "Running syntax checks on all playbooks" + success-status: "OK - checks completed" + failure-status: "Syntax check failed with errors" + + scm: + - ceph-ansible + + builders: + - shell: + !include-raw: + - ../../../scripts/build_utils.sh + - ../../build/build -- 2.39.5