Convert golang tests to Zuul v3 native jobs
Convert the golang unit and fmt tests to Zuul v3 native jobs; use it in the project-template. Remove the legacy jobs, they were only used via the template. Change-Id: Ib25ded1ef27d0a8e570d30f19e8cf87930e4e300
This commit is contained in:
parent
4df032a1ee
commit
2c1975f35c
3
playbooks/golang/pre.yaml
Normal file
3
playbooks/golang/pre.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- revoke-sudo
|
11
playbooks/golang/run.yaml
Normal file
11
playbooks/golang/run.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
- hosts: all
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Run golang tests
|
||||||
|
shell:
|
||||||
|
chdir: '{{ zuul.project.src_dir }}'
|
||||||
|
executable: /bin/bash
|
||||||
|
cmd: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
make env {{ golang_target }}
|
@ -1,69 +0,0 @@
|
|||||||
- hosts: all
|
|
||||||
name: Autoconverted job legacy-golang-fmt from old job gate-{name}-golang-fmt-ubuntu-xenial
|
|
||||||
tasks:
|
|
||||||
|
|
||||||
- name: Ensure legacy workspace directory
|
|
||||||
file:
|
|
||||||
path: '{{ ansible_user_dir }}/workspace'
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
CLONEMAP=`mktemp`
|
|
||||||
function cleanup {
|
|
||||||
# In cases where zuul-cloner is aborted during a git
|
|
||||||
# clone operation, git will remove the git work tree in
|
|
||||||
# its cleanup. The work tree in these jobs is the
|
|
||||||
# workspace directory, which means that subsequent
|
|
||||||
# jenkins post-build actions can not run because the
|
|
||||||
# workspace has been removed.
|
|
||||||
# To reduce the likelihood of this having an impact,
|
|
||||||
# recreate the workspace directory if needed
|
|
||||||
mkdir -p $WORKSPACE
|
|
||||||
rm -f $CLONEMAP
|
|
||||||
}
|
|
||||||
trap cleanup EXIT
|
|
||||||
cat > $CLONEMAP << EOF
|
|
||||||
clonemap:
|
|
||||||
- name: $ZUUL_PROJECT
|
|
||||||
dest: .
|
|
||||||
EOF
|
|
||||||
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \
|
|
||||||
git://git.openstack.org $ZUUL_PROJECT
|
|
||||||
executable: /bin/bash
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
if [ -x tools/test-setup.sh ] ; then
|
|
||||||
tools/test-setup.sh
|
|
||||||
fi
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
set -x
|
|
||||||
sudo rm -f /etc/sudoers.d/zuul
|
|
||||||
# Prove that general sudo access is actually revoked
|
|
||||||
! sudo -n true
|
|
||||||
executable: /bin/bash
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
make env fmt
|
|
||||||
executable: /bin/bash
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
@ -1,69 +0,0 @@
|
|||||||
- hosts: all
|
|
||||||
name: Autoconverted job legacy-golang-unit from old job gate-{name}-golang-unit-ubuntu-xenial
|
|
||||||
tasks:
|
|
||||||
|
|
||||||
- name: Ensure legacy workspace directory
|
|
||||||
file:
|
|
||||||
path: '{{ ansible_user_dir }}/workspace'
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
CLONEMAP=`mktemp`
|
|
||||||
function cleanup {
|
|
||||||
# In cases where zuul-cloner is aborted during a git
|
|
||||||
# clone operation, git will remove the git work tree in
|
|
||||||
# its cleanup. The work tree in these jobs is the
|
|
||||||
# workspace directory, which means that subsequent
|
|
||||||
# jenkins post-build actions can not run because the
|
|
||||||
# workspace has been removed.
|
|
||||||
# To reduce the likelihood of this having an impact,
|
|
||||||
# recreate the workspace directory if needed
|
|
||||||
mkdir -p $WORKSPACE
|
|
||||||
rm -f $CLONEMAP
|
|
||||||
}
|
|
||||||
trap cleanup EXIT
|
|
||||||
cat > $CLONEMAP << EOF
|
|
||||||
clonemap:
|
|
||||||
- name: $ZUUL_PROJECT
|
|
||||||
dest: .
|
|
||||||
EOF
|
|
||||||
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \
|
|
||||||
git://git.openstack.org $ZUUL_PROJECT
|
|
||||||
executable: /bin/bash
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
if [ -x tools/test-setup.sh ] ; then
|
|
||||||
tools/test-setup.sh
|
|
||||||
fi
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
set -x
|
|
||||||
sudo rm -f /etc/sudoers.d/zuul
|
|
||||||
# Prove that general sudo access is actually revoked
|
|
||||||
! sudo -n true
|
|
||||||
executable: /bin/bash
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
||||||
|
|
||||||
- shell:
|
|
||||||
cmd: |
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
make env test
|
|
||||||
executable: /bin/bash
|
|
||||||
chdir: '{{ ansible_user_dir }}/workspace'
|
|
||||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
@ -1027,3 +1027,32 @@
|
|||||||
- job:
|
- job:
|
||||||
name: ansible-role-functional-ubuntu-xenial
|
name: ansible-role-functional-ubuntu-xenial
|
||||||
parent: ansible-role-functional-base
|
parent: ansible-role-functional-base
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: golang-base
|
||||||
|
parent: unittests
|
||||||
|
abstract: true
|
||||||
|
description: |
|
||||||
|
Base job for golang tests.
|
||||||
|
pre-run: playbooks/golang/pre.yaml
|
||||||
|
run: playbooks/golang/run.yaml
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: golang-fmt
|
||||||
|
parent: golang-base
|
||||||
|
description: |
|
||||||
|
Run golang fmt test.
|
||||||
|
|
||||||
|
This uses the make target ``fmt``.
|
||||||
|
vars:
|
||||||
|
golang_target: "fmt"
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: golang-unit
|
||||||
|
parent: golang-base
|
||||||
|
description: |
|
||||||
|
Run golang unit test.
|
||||||
|
|
||||||
|
This uses the make target ``test``.
|
||||||
|
vars:
|
||||||
|
golang_target: "test"
|
||||||
|
@ -1021,3 +1021,16 @@
|
|||||||
jobs:
|
jobs:
|
||||||
- tempest-full-py3:
|
- tempest-full-py3:
|
||||||
branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$
|
branches: ^(?!(stable/(newton|ocata|pike)|driverfixes)).*$
|
||||||
|
|
||||||
|
- project-template:
|
||||||
|
name: golang-jobs
|
||||||
|
description: |
|
||||||
|
Run golang tests in check and gate.
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- golang-fmt
|
||||||
|
- golang-unit
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- golang-fmt
|
||||||
|
- golang-unit
|
||||||
|
@ -27,17 +27,6 @@
|
|||||||
jobs:
|
jobs:
|
||||||
- legacy-fuel-ccp-validate
|
- legacy-fuel-ccp-validate
|
||||||
|
|
||||||
- project-template:
|
|
||||||
name: golang-jobs
|
|
||||||
check:
|
|
||||||
jobs:
|
|
||||||
- legacy-golang-fmt
|
|
||||||
- legacy-golang-unit
|
|
||||||
gate:
|
|
||||||
jobs:
|
|
||||||
- legacy-golang-fmt
|
|
||||||
- legacy-golang-unit
|
|
||||||
|
|
||||||
- project-template:
|
- project-template:
|
||||||
name: infra-logstash-filter-jobs
|
name: infra-logstash-filter-jobs
|
||||||
check:
|
check:
|
||||||
|
Loading…
Reference in New Issue
Block a user