-
Notifications
You must be signed in to change notification settings - Fork 0
136 lines (122 loc) · 4.51 KB
/
Copy pathci.yml
File metadata and controls
136 lines (122 loc) · 4.51 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
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
136
name: ci
on:
push:
branches: [whinlatter]
pull_request:
workflow_dispatch:
# Cancel superseded runs for the same ref to save CI minutes.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
parse-oe-core:
# whinlatter and wrynose dropped the combined poky repository, so
# we clone openembedded-core + bitbake separately.
name: parse (${{ matrix.release }} / ${{ matrix.machine }})
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
release: [whinlatter]
machine: [qemux86-64, qemuarm64, qemuarm]
include:
- release: whinlatter
bitbake: '2.16'
steps:
- uses: actions/checkout@v4
with:
path: meta-vscode
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \
/opt/hostedtoolcache/CodeQL /usr/local/share/boost \
"$AGENT_TOOLSDIRECTORY"
- name: Clone oe-core (${{ matrix.release }})
run: |
git clone --depth 1 --branch ${{ matrix.release }} \
https://git.openembedded.org/openembedded-core oe-core
- name: Clone bitbake (${{ matrix.bitbake }})
run: |
git clone --depth 1 --branch ${{ matrix.bitbake }} \
https://git.openembedded.org/bitbake oe-core/bitbake
- name: Install Yocto host dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
gawk wget git diffstat unzip texinfo gcc build-essential chrpath \
socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
iputils-ping python3-git python3-jinja2 python3-subunit zstd liblz4-tool \
file locales libacl1
sudo locale-gen en_US.UTF-8
- name: Parse the layer (MACHINE=${{ matrix.machine }})
env:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
run: |
set -eo pipefail
cd oe-core
source oe-init-build-env build
cat >> conf/local.conf <<EOF
MACHINE = "${{ matrix.machine }}"
BB_NUMBER_THREADS = "2"
PARALLEL_MAKE = "-j 2"
CONF_VERSION = "2"
EOF
bitbake-layers add-layer "$GITHUB_WORKSPACE/meta-vscode"
bitbake-layers show-layers
bitbake -p
- name: Fetch vscode (MACHINE=${{ matrix.machine }})
env:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
run: |
set -eo pipefail
cd oe-core
source oe-init-build-env build
bitbake -c fetch vscode
# Build vscode end-to-end on the LTS we care most about today
# (scarthgap). This catches QA failures (libdir, file-rdeps, etc.)
# that bitbake -p doesn't run. Single arch (x86_64) for cost; the
# parse matrix above still proves the other arches' URLs resolve.
build:
name: build vscode (whinlatter / qemux86-64)
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
path: meta-vscode
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \
/opt/hostedtoolcache/CodeQL /usr/local/share/boost \
"$AGENT_TOOLSDIRECTORY"
- name: Clone oe-core (whinlatter)
run: |
git clone --depth 1 --branch whinlatter https://git.openembedded.org/openembedded-core poky
git clone --depth 1 --branch 2.16 https://git.openembedded.org/bitbake poky/bitbake
- name: Install Yocto host dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
gawk wget git diffstat unzip texinfo gcc build-essential chrpath \
socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
iputils-ping python3-git python3-jinja2 python3-subunit zstd liblz4-tool \
file locales libacl1
sudo locale-gen en_US.UTF-8
- name: Build vscode
env:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
run: |
set -eo pipefail
cd poky
source oe-init-build-env build
cat >> conf/local.conf <<'EOF'
MACHINE = "qemux86-64"
BB_NUMBER_THREADS = "2"
PARALLEL_MAKE = "-j 2"
INHERIT += "rm_work"
CONF_VERSION = "2"
EOF
bitbake-layers add-layer "$GITHUB_WORKSPACE/meta-vscode"
bitbake vscode