- builder: name: wheel-build builders: - shell: | #!/bin/bash -xe # Generate the AFS Slug from the host system. source /usr/local/jenkins/slave_scripts/afs-slug.sh AFS_DIR=/afs/.openstack.org/mirror/wheel/$AFS_SLUG/ WHEEL_DIR=/opt/wheel/workspace # Delete any previous build directory rm -rf $WHEEL_DIR mkdir $WHEEL_DIR # Build the wheels into staging directory echo "Building wheels" /usr/local/jenkins/slave_scripts/wheel-build.sh $WHEEL_DIR {python} # Get an afs token and copy the wheels to AFS echo "Obtaining token and copying wheels to AFS" k5start -t -f /etc/wheel.keytab \ service/wheel \ -- timeout -k 2m 30m \ /usr/local/jenkins/slave_scripts/wheel-copy.sh $WHEEL_DIR $AFS_DIR # Get an afs token and rebuild the mirror index.html echo "Obtaining token and rebuilding mirror index." k5start -t -f /etc/wheel.keytab \ service/wheel \ -- timeout -k 2m 30m \ /usr/local/jenkins/slave_scripts/wheel-index.sh $AFS_DIR echo "Done." - builder: name: afs-release builders: - shell: | #!/bin/bash -xe echo "Releasing afs volume {volume}." k5start -t -f /etc/afsadmin.keytab service/afsadmin -- \ vos release -v {volume} echo "Done." - job-template: name: 'wheel-build-{node_arch}-{python}' node: 'wheel-mirror-{node_arch}' wrappers: - build-timeout: timeout: 180 - timestamps builders: - revoke-sudo - link-logs - net-info - zuul-clone: project: openstack/requirements - wheel-build: python: "{python}" publishers: - devstack-logs - console-log - job-template: # mirror_arch must be 9 characters or less. name: 'wheel-release-{mirror_arch}' node: release wrappers: - build-timeout: timeout: 90 - timestamps builders: - revoke-sudo - link-logs - net-info - afs-release: # This variable must never exceed 22 characters. volume: 'mirror.wheel.{mirror_arch}' publishers: - console-log