aboutsummaryrefslogtreecommitdiff
path: root/96boards-hikey-uefi-openplatformpkg.yaml
blob: 5e1417f4091bad3987ca95ae5cd532ebc36e2d6f (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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
- job:
    name: 96boards-hikey-uefi-openplatformpkg
    project-type: freestyle
    defaults: global
    logrotate:
        daysToKeep: 30
        numToKeep: 30
    properties:
        - authorization:
            anonymous:
                - job-read
                - job-extended-read
                - job-workspace
    disabled: false
    node: docker-jessie-amd64
    display-name: '96boards - HiKey UEFI (OpenPlatformPkg)'
    scm:
        - git:
            url: https://github.com/96boards-hikey/edk2.git
            refspec: +refs/heads/hikey-aosp:refs/remotes/origin/hikey-aosp
            name: origin
            branches:
                - refs/heads/hikey-aosp
            basedir: linaro-edk2
            skip-tag: true
            shallow-clone: true
            clean: true
            wipe-workspace: false
    wrappers:
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}-${GIT_REVISION,length=8}'
    builders:
        - linaro-publish-token:
            host: builds.96boards.org
        - shell: |
            #!/bin/bash

            set -ex

            trap cleanup_exit INT TERM EXIT

            cleanup_exit()
            {
              cd ${WORKSPACE}
              rm -rf arm64-tc
              rm -rf arm-trusted-firmware
              rm -rf linaro-edk2/OpenPlatformPkg
              rm -rf uefi-tools
              rm -rf LinaroPkg
              rm -rf l-loader
              rm -rf out
            }

            sudo apt-get update
            sudo apt-get install -y python-requests python-crypto

            # sbin isn't in the PATH by default and prevent to find sgdisk
            export PATH="/usr/sbin:/sbin:$PATH"

            # Use pre-installed linaro toolchain
            export PATH="${HOME}/srv/toolchain/arm-tc-15.02/bin:${HOME}/srv/toolchain/arm64-tc-15.02/bin:$PATH"
            export CROSS_COMPILE_ta_arm64=aarch64-linux-gnu-
            export CROSS_COMPILE_ta_arm32=arm-linux-gnueabihf-

            # Check out arm-trusted-firmware
            git clone -b hikey --depth 1 https://github.com/96boards-hikey/arm-trusted-firmware.git

            # Check out OpenPlatformPkg
            git clone -b hikey-aosp --depth 1 https://github.com/96boards-hikey/OpenPlatformPkg.git linaro-edk2/OpenPlatformPkg

            git clone -b hikey-aosp --depth 1 https://github.com/96boards-hikey/uefi-tools.git

            git clone -b hikey-aosp --depth 1 https://github.com/96boards/LinaroPkg.git
            cp -a LinaroPkg/platforms.config uefi-tools/platforms.config

            export AARCH64_TOOLCHAIN=GCC49
            export EDK2_DIR=${WORKSPACE}/linaro-edk2
            export UEFI_TOOLS_DIR=${WORKSPACE}/uefi-tools
            export JENKINS_WORKSPACE=${WORKSPACE}
            unset WORKSPACE

            cd ${EDK2_DIR}
            ${UEFI_TOOLS_DIR}/uefi-build.sh -b RELEASE -a ../arm-trusted-firmware hikey

            unset WORKSPACE
            export WORKSPACE=${JENKINS_WORKSPACE}

            cd ${WORKSPACE}
            mkdir out
            cp -a ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/*.bin out/
            cp -a ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/AARCH64/AndroidFastbootApp.efi out/
            # Don't ship BL33_AP_UEFI.fd, mcuimage.bin and tee.bin
            # (already included in the firmware image package - fip)
            #cp -a ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/*.fd out/
            #cp -a ${EDK2_DIR}/HisiPkg/HiKeyPkg/NonFree/mcuimage.bin out/

            # Ship nvme.img with UEFI binaries for convenience
            dd if=/dev/zero of=out/nvme.img bs=128 count=1024

            git clone -b master --depth 1 https://github.com/96boards-hikey/l-loader.git
            cd l-loader
            ln -s ${WORKSPACE}/out/bl1.bin
            ln -s ${WORKSPACE}/out/bl2u.bin
            make
            cp -a l-loader.bin ptable*.img ${WORKSPACE}/out/
            cd ${WORKSPACE}

            cat > out/HEADER.textile << EOF
            Build information:
            * build: "${BUILD_URL}":${BUILD_URL}
            * UEFI tools git URL: "$(cd uefi-tools && git config remote.origin.url)":$(cd uefi-tools && git config remote.origin.url)
            * UEFI tools git branch: $(cd uefi-tools && git branch | grep -e '*'  | cut -d' ' -f2)
            * UEFI tools git commit: $(cd uefi-tools && git log -n1 --pretty=format:%H)
            * EDK2 git URL: "${GIT_URL}":${GIT_URL}
            * EDK2 git branch: ${GIT_BRANCH}
            * EDK2 git commit: ${GIT_COMMIT}
            * ATF git URL: "$(cd arm-trusted-firmware && git config remote.origin.url)":$(cd arm-trusted-firmware && git config remote.origin.url)
            * ATF git branch: $(cd arm-trusted-firmware && git branch | grep -e '*'  | cut -d' ' -f2)
            * ATF git commit: $(cd arm-trusted-firmware && git log -n1 --pretty=format:%H)
            * OpenPlatformPkg git URL: "$(cd linaro-edk2/OpenPlatformPkg && git config remote.origin.url)":$(cd linaro-edk2/OpenPlatformPkg && git config remote.origin.url)
            * OpenPlatformPkg git branch: $(cd linaro-edk2/OpenPlatformPkg && git branch | grep -e '*'  | cut -d' ' -f2)
            * OpenPlatformPkg git commit: $(cd linaro-edk2/OpenPlatformPkg && git log -n1 --pretty=format:%H)
            EOF

            # Publish
            test -d ${HOME}/bin || mkdir ${HOME}/bin
            wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
            time python ${HOME}/bin/linaro-cp.py \
              --server ${PUBLISH_SERVER} \
              --link-latest \
              out snapshots/hikey/linaro/uefi-openplatformpkg/${BUILD_NUMBER}
    publishers:
        - email:
            recipients: 'fathi.boudra@linaro.org haojian.zhuang@linaro.org'