forked from qualcomm-linux/qcom-deb-images
-
Notifications
You must be signed in to change notification settings - Fork 0
81 lines (72 loc) · 2.73 KB
/
u-boot.yml
File metadata and controls
81 lines (72 loc) · 2.73 KB
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
name: Build U-Boot for RB1
on:
# allow manual runs
workflow_dispatch:
# only need permission to read repository; implicitely set all other
# permissions to none
permissions:
contents: read
security-events: read # This is required to handle authentication to our artifact publishing API
env:
# where results will be posted/hosted
FILESERVER_URL: https://quic-yocto-fileserver-1029608027416.us-central1.run.app
# github runs are only unique per repository and may also be re-run; create a
# build id for the current run
BUILD_ID: ${{ github.repository }}-${{ github.run_id }}-${{ github.run_attempt }}
# cancel in progress builds for this workflow triggered by the same ref
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-u-boot-rb1:
# for cross-builds
runs-on: [self-hosted, qcom-u2404, amd64]
# alternative for native builds, but overkill to do both
#runs-on: [self-hosted, arm64, debbuilder]
container:
image: debian:trixie
volumes:
- /efs/qli/metaqcom/gh-runners/quic-yocto/downloads:/fileserver-downloads
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# make sure we have latest packages first, to get latest fixes, to avoid
# an automated update while we're building, and to prevent version skews
- name: Update OS packages
run: |
set -ux
apt update
apt -y upgrade
apt -y full-upgrade
- name: Build U-Boot Android boot image for RB1
run: |
set -ux
# install build-dependencies
apt -y install git crossbuild-essential-arm64 make bison flex bc \
libssl-dev gnutls-dev xxd coreutils gzip mkbootimg
scripts/build-u-boot-rb1.sh
- name: Upload results to fileserver
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -ux
# python3-requests is used by publish_aritfacts.py
apt -y install python3-requests
export BUILD_DIR="/fileserver-downloads/qcom-deb-images/u-boot-rb1-latest"
mkdir -vp ${BUILD_DIR}
cp -av \
u-boot/u-boot-nodtb.bin.gz \
u-boot/dts/upstream/src/arm64/qcom/qrb2210-rb1.dtb \
u-boot/u-boot-nodtb.bin.gz-dtb \
u-boot/u-boot.bin \
u-boot/rb1-boot.img \
u-boot/u-boot-cap.bin \
u-boot/u-boot.cab \
${BUILD_DIR}
# perhaps help NFS sync
sync
# instruct fileserver to publish this directory
export URL="${FILESERVER_URL}/${BUILD_ID}/"
.github/workflows/publish_artifacts.py
echo Image available at: ${URL}