
This commit was bulk generated and pushed by the OpenDev sysadmins as a part of the Git hosting and code review systems migration detailed in these mailing list posts: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html Attempts have been made to correct repository namespaces and hostnames based on simple pattern matching, but it's possible some were updated incorrectly or missed entirely. Please reach out to us via the contact information listed at https://opendev.org/ with any questions you may have.
174 lines
5.9 KiB
YAML
174 lines
5.9 KiB
YAML
- hosts: all
|
|
name: Autoconverted job legacy-js-openstack-lib-dsvm-nodejs6-npm-run-functional-test
|
|
from old job js-openstack-lib-dsvm-nodejs6-npm-run-functional-test
|
|
roles:
|
|
- bindep
|
|
|
|
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 \
|
|
https://opendev.org $ZUUL_PROJECT
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
set -u
|
|
set -e
|
|
set -x
|
|
# Prerequisites
|
|
sudo apt-get update
|
|
sudo apt-get install -y apt-transport-https lsb-release curl
|
|
|
|
DISTRO=$(lsb_release -c -s)
|
|
|
|
# Install via nodesource
|
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
|
|
|
|
echo "deb https://deb.nodesource.com/node_6.x $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
|
|
echo "deb-src https://deb.nodesource.com/node_6.x $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
|
|
|
|
sudo apt-get update
|
|
sudo apt-get install -y nodejs
|
|
|
|
# Output to the log for debugging sake.
|
|
node --version
|
|
npm --version
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y xvfb
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y chromium-browser
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y firefox dbus
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
set -e
|
|
set -x
|
|
cat > clonemap.yaml << EOF
|
|
clonemap:
|
|
- name: openstack/devstack-gate
|
|
dest: devstack-gate
|
|
EOF
|
|
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
|
|
https://opendev.org \
|
|
openstack/devstack-gate
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
DIMENSIONS='1280x1024x24'
|
|
/usr/bin/Xvfb :99 -screen 0 ${DIMENSIONS} -ac +extension GLX +render -noreset 2>&1 > /dev/null &
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
set -u
|
|
set -e
|
|
set -x
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=0
|
|
export DEVSTACK_GATE_EXERCISES=0
|
|
export DEVSTACK_GATE_INSTALL_TESTONLY=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
|
|
# Xvfb Buffer...
|
|
export DISPLAY=:99
|
|
npm install
|
|
npm_lifecycle_phases="publish install version test stop start restart pack"
|
|
|
|
# Run any custom devstack configuration required by the project
|
|
function pre_test_hook {
|
|
# Try running as a standard lifecycle script, otherwise try custom.
|
|
if [[ $npm_lifecycle_phases =~ (^| )configure-devstack($| ) ]]; then
|
|
npm configure-devstack --silent
|
|
else
|
|
npm run configure-devstack --silent
|
|
fi
|
|
}
|
|
export -f pre_test_hook
|
|
|
|
function post_test_hook {
|
|
# If you need access to devstack clouds.yaml file, it is available
|
|
# at its canonical location at /etc/openstack/clouds.yaml
|
|
|
|
# Try running as a standard lifecycle script, otherwise try custom.
|
|
if [[ $npm_lifecycle_phases =~ (^| )functional-test($| ) ]]; then
|
|
npm functional-test --silent
|
|
else
|
|
npm run functional-test --silent
|
|
fi
|
|
}
|
|
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
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
OUT=`git ls-files --other --exclude-standard --directory`
|
|
if [ -z "$OUT" ]; then
|
|
echo "No extra files created during test."
|
|
exit 0
|
|
else
|
|
echo "The following un-ignored files were created during the test:"
|
|
echo "$OUT"
|
|
exit 0 # TODO: change to 1 to fail tests.
|
|
fi
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|