aboutsummaryrefslogtreecommitdiff
path: root/utils/mangle-jobs/add-snapshots-l-o-publisher.mangle
blob: 21cddb84d9dec3c2ab4a9d54ed67970873cf402c (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
# Add SSH(SFTP) artifact publishing to snapshots.linaro.org

#from lxml.etree import Element
from lxml.etree import fromstring

publisher = """\
    <jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin>
      <consolePrefix>SSH: </consolePrefix>
      <delegate>
        <publishers>
          <jenkins.plugins.publish__over__ssh.BapSshPublisher>
            <configName>snapshots.linaro.org</configName>
            <verbose>false</verbose>
            <transfers>
              <jenkins.plugins.publish__over__ssh.BapSshTransfer>
                <remoteDirectory>${JOB_NAME}/${BUILD_NUMBER}</remoteDirectory>
                <sourceFiles>build/out/target/*/*/*.img,build/out/target/*/*/*.tar.bz2,build/out/target/*/*/MD5SUMS,build/out/*.tar.bz2,build/out/*.xml,build/out/*_config,build/out/lava-job-info</sourceFiles>
                <excludes></excludes>
                <removePrefix>build/out</removePrefix>
                <remoteDirectorySDF>false</remoteDirectorySDF>
                <flatten>false</flatten>
                <cleanRemote>false</cleanRemote>
                <execCommand></execCommand>
                <execTimeout>120000</execTimeout>
                <usePty>false</usePty>
              </jenkins.plugins.publish__over__ssh.BapSshTransfer>
            </transfers>
            <useWorkspaceInPromotion>false</useWorkspaceInPromotion>
            <usePromotionTimestamp>false</usePromotionTimestamp>
          </jenkins.plugins.publish__over__ssh.BapSshPublisher>
          <jenkins.plugins.publish__over__ssh.BapSshPublisher>
            <configName>snapshots.linaro.org file-move</configName>
            <verbose>false</verbose>
            <transfers>
              <jenkins.plugins.publish__over__ssh.BapSshTransfer>
                <remoteDirectory></remoteDirectory>
                <sourceFiles></sourceFiles>
                <excludes></excludes>
                <removePrefix></removePrefix>
                <remoteDirectorySDF>false</remoteDirectorySDF>
                <flatten>false</flatten>
                <cleanRemote>false</cleanRemote>
                <execCommand>reshuffle-files</execCommand>
                <execTimeout>120000</execTimeout>
                <usePty>false</usePty>
              </jenkins.plugins.publish__over__ssh.BapSshTransfer>
            </transfers>
            <useWorkspaceInPromotion>false</useWorkspaceInPromotion>
            <usePromotionTimestamp>false</usePromotionTimestamp>
          </jenkins.plugins.publish__over__ssh.BapSshPublisher>
        </publishers>
        <continueOnError>false</continueOnError>
        <failOnError>false</failOnError>
        <alwaysPublishFromMaster>true</alwaysPublishFromMaster>
        <hostConfigurationAccess class="jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin" reference="../.."/>
      </delegate>
    </jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin>
"""

def mangle(tree):
    if tree.xpath("//jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin"):
        # Already there
        return
    tag = tree.xpath('/project/publishers')[0]
    node = fromstring(publisher)
    tag.append(node)
    node.getprevious().tail += "  "
    node.tail = "\n  "