aboutsummaryrefslogtreecommitdiff
path: root/tcwg-test-release-matrix.yaml
blob: 53001539ffd211771a965fb2916858b1a1185b89 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
- job:
    name: tcwg-test-release-matrix
    project-type: matrix
    defaults: global
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 60
            num-to-keep: 100
    parameters:
        - string:
            name: tarball_url
            default: ''
            description: 'The GCC binary tarball to test'
        - string:
            name: scripts_branch
            default: refs/remotes/origin/master
            description: 'Scripts revision to use '
        - string:
            name: release
            default:
            description: 'Release name'
        - string:
           name: target_list
           default: 'aarch64-elf aarch64-linux-gnu aarch64_be-elf aarch64_be-linux-gnu armv8l-linux-gnueabihf arm-eabi arm-linux-gnueabi arm-linux-gnueabihf armeb-eabi armeb-linux-gnueabi armeb-linux-gnueabihf'
           description: 'List of targets to use'
        - bool:
            name: debug
            default: false
            description: 'Whether to enable bash debugging output.'
    disabled: false
    node: tcwg-x86_64-dev-01
    retry-count: 3
    concurrent: true
    display-name: 'TCWG Test Release matrix'
    scm:
        - git:
            url: https://git-us.linaro.org/toolchain/jenkins-scripts.git
            refspec: +refs/changes/*:refs/remotes/changes/*
            branches:
                - ${scripts_branch}
            skip-tag: true
            shallow-clone: true
            wipe-workspace: true
    axes:
        - axis:
            type: slave
            name: label
            values:
               - docker-trusty-amd64-tcwg-build
               - docker-trusty-i386-tcwg-build
        - axis:
            type: dynamic
            name: target
            values:
                - target_list
    execution-strategy:
        sequential: false
    wrappers:
        - timeout:
            timeout: 300
        - timestamps
        - ssh-agent-credentials:
            users:
              - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a' # tcwg-buildslave
        - build-name:
            name: '#${BUILD_NUMBER}-${ENV,var="release"}-${ENV,var="target"}'
    builders:
        - shell: |      
            #!/bin/bash
            set -e

            if test x${debug} = x"true"; then
              shell="/bin/bash -x"
              set -x
            else
              shell="/bin/bash"
            fi

            if test x"${tarball_url}" = x; then
              echo "ERROR: no binary tarball specified!"
              exit 1
            fi

            fullver=$(basename ${tarball_url})
            gccver=${fullver%%-*}

            case ${label} in
              *i386*) host=i686 ;;
              *amd64*) host=x86_64 ;;
              *)
                echo "Unsupported slave type: ${label}"
                exit 1
                ;;
            esac

            # FIXME: temporary hack: hardcode the ".1" in GCC version number
            ${shell} ${WORKSPACE}/TestRelease.job --tarball ${tarball_url}/${target}/gcc-linaro-${gccver}.1-${release}-${host}_${target}.tar.xz

            # Test the mingw toolchain on 32 bit host only
            case ${label} in
              *i386*)
                host=i686-mingw32
                ${shell} ${WORKSPACE}/TestRelease.job --tarball ${tarball_url}/${target}/gcc-linaro-${gccver}.1-${release}-${host}_${target}.tar.xz
                ;;
            esac

            exit $?
    publishers:
        - email-ext:
            recipients: 'christophe.lyon@linaro.org'
            always: true