Add support for running tox with PyPy and use it for Marconi

This works by installing PyPy from the Ubuntu PPA, and then invoking
`tox -e pypy` (similar to all the other Python buidlers). PyPy shares
nodes with the Python3 builders.

Change-Id: Ibf683c1995b0f5c04c93c56010befb222b386d7a
This commit is contained in:
Alex Gaynor 2013-08-19 10:45:47 -07:00
parent 6641c29e5d
commit 32db246dd3
7 changed files with 53 additions and 10 deletions

View File

@ -497,9 +497,10 @@ node /^precisepy3k-?\d+.*\.slave\.openstack\.org$/ {
include openstack_project
include openstack_project::puppet_cron
class { 'openstack_project::slave':
ssh_key => $openstack_project::jenkins_ssh_key,
sysadmins => hiera('sysadmins'),
python3 => true,
ssh_key => $openstack_project::jenkins_ssh_key,
sysadmins => hiera('sysadmins'),
python3 => true,
include_pypy => true,
}
}
@ -507,9 +508,10 @@ node /^precisepy3k-dev\d+.*\.slave\.openstack\.org$/ {
include openstack_project
include openstack_project::puppet_cron
class { 'openstack_project::slave':
ssh_key => $openstack_project::jenkins_dev_ssh_key,
sysadmins => hiera('sysadmins'),
python3 => true,
ssh_key => $openstack_project::jenkins_dev_ssh_key,
sysadmins => hiera('sysadmins'),
python3 => true,
include_pypy => true,
}
}

View File

@ -6,6 +6,7 @@ class jenkins::slave(
$bare = false,
$user = true,
$python3 = false,
$include_pypy = false
) {
include pip
@ -340,6 +341,14 @@ class jenkins::slave(
refreshonly => true,
command => '/sbin/sysctl -p /etc/sysctl.d/10-ptrace.conf',
}
if $include_pypy {
apt::ppa { 'ppa:pypy/pypy': }
package { 'pypy':
ensure => present,
require => Apt::Ppa['ppa:pypy/pypy']
}
}
}
file { '/etc/rsyslog.d/99-maxsize.conf':

View File

@ -146,6 +146,11 @@
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-tox.sh 33 {github-org} {project}"
- builder:
name: pypy
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-tox.sh py {github-org} {project}"
- builder:
name: assert-no-extra-files
builders:

View File

@ -739,6 +739,7 @@
jobs:
- python-jobs
- gate-{name}-pypy
- project:

View File

@ -116,6 +116,28 @@
node: precisepy3k
- job-template:
name: 'gate-{name}-pypy'
wrappers:
- timeout:
timeout: 40
fail: true
- timestamps
builders:
- gerrit-git-prep
- pypy:
github-org: '{github-org}'
project: '{name}'
- assert-no-extra-files
publishers:
- test-results
- console-log
node: precisepy3k
- job-template:
name: 'gate-{name}-docs'

View File

@ -1678,11 +1678,13 @@ projects:
- gate-marconi-python26
- gate-marconi-python27
- gate-marconi-python33
- gate-marconi-pypy
gate:
- gate-marconi-pep8
- gate-marconi-python26
- gate-marconi-python27
- gate-marconi-python33
- gate-marconi-pypy
- name: stackforge/staccato
check:

View File

@ -5,7 +5,8 @@ class openstack_project::slave (
$certname = $::fqdn,
$ssh_key = '',
$sysadmins = [],
$python3 = false
$python3 = false,
$include_pypy = false
) {
include openstack_project
include openstack_project::tmpcleanup
@ -16,9 +17,10 @@ class openstack_project::slave (
sysadmins => $sysadmins,
}
class { 'jenkins::slave':
bare => $bare,
ssh_key => $ssh_key,
python3 => $python3,
bare => $bare,
ssh_key => $ssh_key,
python3 => $python3,
include_pypy => $include_pypy,
}
class { 'salt':
salt_master => 'ci-puppetmaster.openstack.org',