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:
|
||||
name: ansible-role-functional-ubuntu-xenial
|
||||
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:
|
||||
- tempest-full-py3:
|
||||
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:
|
||||
- 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:
|
||||
name: infra-logstash-filter-jobs
|
||||
check:
|
||||
|
Loading…
Reference in New Issue
Block a user