aboutsummaryrefslogtreecommitdiff
path: root/tcwg-infra-update-home.yaml
blob: 678de670b279e5f139b735a68d6cb9b7c32e7207 (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
- job:
    name: tcwg-infra-update-home
    project-type: freestyle
    defaults: global
    description: |
      This job tracks changes to /home/tcwg-* files in ci/dockerfiles.git
      repository and updates machines in machine_list with new versions
      of the files.  The files are .gitconfig, .ssh/*, etc.
      The update is done by fetching files from the repo using git-archive,
      and untarring them to /home directories of tcwg-infra users.
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
            linaro:
                - job-build
                - job-cancel
        - build-discarder:
            days-to-keep: 30
            num-to-keep: 100
    parameters:
        - label:
            name: nodes
            default: tcwg-bmk
            all-nodes: true
            matching-label: 'allCases'
            node-eligibility: 'all'
            description: 'Machines to run on'
    disabled: false
    concurrent: false
    display-name: 'TCWG CCC Update TCWG Infra /home files'
    triggers:
        - gerrit:
            server-name: 'review.linaro.org'
            trigger-on:
                - change-merged-event
            projects:
                - project-compare-type: 'PLAIN'
                  project-pattern: 'ci/dockerfiles'
                  branches:
                    - branch-pattern: 'tcwg-tested'
                  file-paths:
                    - compare-type: ANT
                      pattern: tcwg-base/home-data/tcwg-buildslave/**
                    - compare-type: ANT
                      pattern: tcwg-base/home-data/tcwg-benchmark/**
            silent-start: true
    wrappers:
        - timeout:
            timeout: 600
        - timestamps
        - ssh-agent-credentials:
            users:
                - 'tcwg-benchmark'
        - build-name:
            name: '#${BUILD_NUMBER}-${NODE_NAME}'
    builders:
        - shell: |
            #!/bin/bash

            set -ex

            dir=$(mktemp -d)
            ssh -o StrictHostKeyChecking=no git@git.linaro.org true || true
            git archive --remote ssh://git@git.linaro.org/ci/dockerfiles.git HEAD > $dir.tar
            tar x --strip-components=2 -f $dir.tar -C $dir tcwg-base/home-data
            rsync_dest="tcwg-${NODE_NAME##tcwg-bmk-}.tcwglab:"
            rsync -aL $dir/$USER/ $rsync_dest/home/$USER/
            rm -rf $dir/ $dir.tar
    publishers:
        - email-ext:
            recipients: tcwg-validation@linaro.org
            aborted: true