aboutsummaryrefslogtreecommitdiff
path: root/tcwg-update-snapshots_ref.yaml
blob: 4a8801978fb40c45771c8173c0c01017d7e4a93a (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
- job:
    name: tcwg-update-snapshots_ref
    project-type: matrix
    defaults: global
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 30
            num-to-keep: 30
    parameters:
        - bool:
            name: regenerate
            default: true
            description: 'Regenerate snapshots'
        - string:
            name: scripts_branch
            default: refs/remotes/origin/master
            description: 'Scripts revision to use'
    disabled: false
    node: tcwg-x86_64-dev-01
    retry-count: 3
    display-name: 'TCWG CCC Update reference ABE snapshots on TCWG machines'
    triggers:
        - timed: '@weekly'
    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:
                - tcwg-x86_64-dev-01
    execution-strategy:
        sequential: false
    wrappers:
        - timeout:
            timeout: 60
        - timestamps
        - ssh-agent-credentials:
            # tcwg-buildslave user id
            users:
                - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
    builders:
        - shell: |
            #!/bin/bash

            set -e
            set -x

            if $regenerate; then
              nogen_opt=""
            else
              nogen_opt="-r"
            fi

            case "$label" in
              tcwg-x86_64-dev-01)
                master_machine=dev-01.tcwglab
                machines="dev-02.tcwglab $(for i in `seq 1 8`; do echo build-0$i.tcwglab; done) apm-01.tcwglab apm-02.tcwglab test-armv8-01.tcwglab test-armv8-02.tcwglab $(for i in `seq 1 5`; do echo tcwg-tx1-0$i.tcwglab tcwg-tk1-0$i.tcwglab; done) ex40-01.tcwglab.linaro.org r1-a7.aus-colo r1-a12.aus-colo"
                ;;
              *) echo "ERROR: Unknown host: $label"; exit 1 ;;
            esac

            ./tcwg-update-snapshots_ref.sh -v $nogen_opt $master_machine
            if $regenerate; then
              # Distribute Foundation Model to the builders so that containers
              # running there can access Foundation Model via a bind-mount for
              # bare-metal testing.
              tar xf $HOME/public_html/infrastructure/FM000-KT-00035-r9p5-41rel0.tgz -C $HOME/snapshots-ref-new
              chmod -R ugo+rx $HOME/snapshots-ref-new/Foundation_Platformpkg

              # Clone the Linux kernel if not already
              # present. Subsequent calls will update it.
              linux_git=$HOME/snapshots-ref-new/linux.git
              if [ ! -d ${linux_git} ]; then
                git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ${linux_git}
              fi

              # Add a 'next' remote for linux-next, if not already present
              count=$(git -C ${linux_git} remote | grep -c next || true)
              if [ $count -eq 0 ]; then
                  git -C ${linux_git} remote add next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
              fi
              popd
            fi
            ./tcwg-update-snapshots_ref.sh -v -r $master_machine $machines
    publishers:
        - email:
            recipients: 'christophe.lyon@linaro.org maxim.kuvyrkov@linaro.org'