aboutsummaryrefslogtreecommitdiff
path: root/giftwrap-openstack-rpm.yaml
blob: 39055458097b281ebe9f9c94dccbd899e026b864 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
- job:
    name: giftwrap-openstack-rpm
    project-type: freestyle
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
        artifactNumToKeep: 1
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-read
                - job-extended-read
                - job-build
                - job-cancel
    parameters:
        - string:
            name: PROJECTS
            default: 'cinder glance horizon keystone neutron nova swift'
    disabled: false
    node: docker-centos7-aarch64
    display-name: 'GiftWrap for OpenStack (rpm)'
    scm:
        - git:
            url: https://github.com/fboudra/giftwrap.git
            refspec: +refs/heads/master:refs/remotes/origin/master
            name: origin
            branches:
                - refs/heads/master
            skip-tag: true
            shallow-clone: true
            wipe-workspace: false
    wrappers:
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
    builders:
        - shell: |
            #!/bin/bash

            set -ex

            sudo yum update
            sudo yum groupinstall "Development Tools" -y
            sudo yum install -y ruby ruby-devel python-devel git python-setuptools libxml2-devel libxslt-devel libffi-devel libjpeg-devel openldap-devel wget postgresql-devel openssl-devel cyrus-sasl-devel mariadb-devel

            wget https://bootstrap.pypa.io/get-pip.py
            sudo python get-pip.py

            sudo gem install --no-ri --no-rdoc fpm
            sudo ln -s /usr/local/bin/fpm /usr/bin/fpm
            sudo pip install -r requirements.txt .
            sudo python setup.py install

            for project in ${PROJECTS}; do
              cat << EOF > manifest-${project}.yml
            ---
            settings:
              package_name_format: 'openstack-{{ project.name }}'
              build_type: package
              version: '12.0.build${BUILD_NUMBER}'
              base_path: '/opt/openstack'
              force_overwrite: true

            projects:
              - name: ${project}
                gitref: stable/liberty
            EOF

              sudo giftwrap -d build -t package -m ${WORKSPACE}/manifest-${project}.yml

              rpm -i -p openstack-${project}_*.rpm
              rpm -c -p openstack-${project}_*.rpm
              sudo rpm -i --force openstack-${project}_*.rpm
            done
    publishers:
        - archive:
            artifacts: 'openstack-*.rpm'