project-config/jenkins/jobs/oaktree.yaml
Monty Taylor 2e4d69f636
Add up-to-date check to oaktree-diskcheck job
The generated go files need to be committed to the repo along with
changes to the proto files. (This isn't my first choice - but because of
the way library depends work in go it's the only thing that makes sense)

Because of that, every change to a proto file should cause the developer
to run make, produce the go changes and commit them along with the proto
changes. If the go files are up to date, running make in a git checkout
should not cause files to change.

Add a quick check to make sure people don't forget the go code. (I've
already done this once)

Change-Id: I50c6589f6b713c297d8827629ea13e6b68f72228
2016-11-14 15:48:07 -06:00

109 lines
3.0 KiB
YAML

- job:
name: oaktreemodel-tarball
node: ubuntu-xenial
builders:
- zuul-release-git-prep-upper-constraints
- install-distro-packages
- shell: |
sudo pip install grpcio grpcio-tools pbr
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
./install_proto3.sh
- revoke-sudo
- shell: |
#!/bin/bash -xe
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
./bootstrap.sh
./configure
make
make distcheck
- tarball:
env: venv
publishers:
- tarball:
project: oaktreemodel
site: tarballs.openstack.org
- wheel:
project: oaktreemodel
site: tarballs.openstack.org
- scp:
site: tarballs.openstack.org
files:
- target: 'tarballs/oaktree/'
source: 'liboaktreemodel*.tar.gz'
- test-results
- console-log
- job:
name: oaktreemodel-distcheck
node: ubuntu-xenial
builders:
- zuul-git-prep-upper-constraints
- install-distro-packages
- shell: |
sudo pip install grpcio grpcio-tools pbr
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
./install_proto3.sh
- revoke-sudo
- shell: |
#!/bin/bash -xe
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
./bootstrap.sh
./configure
make
# There should be no changes to files as a result of running make.
# Most likely cause of changes is forgetting to update go files.
git diff --stat --exit-code HEAD
make distcheck
publishers:
- console-log
- job-template:
name: '{pipeline}-oaktree-dsvm-functional{job-suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="enable_plugin oaktree git://git.openstack.org/openstack/oaktree"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT=shade,oaktree,oaktreemodel"
export PROJECTS="openstack/oaktree $PROJECTS"
export PROJECTS="openstack/oaktreemodel $PROJECTS"
export PROJECTS="openstack-infra/shade $PROJECTS"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
function post_test_hook {{
python $BASE/new/oaktree/devstack/test.py
}}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log