Skip to content

Commit 4c2ab7f

Browse files
committed
Switch Zephyr nightly workflow to self-hosted runner
Signed-off-by: quic-areg <aregmi@qti.qualcomm.com>
1 parent c690296 commit 4c2ab7f

1 file changed

Lines changed: 79 additions & 24 deletions

File tree

.github/workflows/zephyr-nightly.yml

Lines changed: 79 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: Zephyr Nightly with ELD
22

33
on:
4-
# pull_request: {} # Uncomment only to test this WF file update.
4+
# FIXME: recomment
5+
pull_request: {} # Uncomment only to test this WF file update.
56
schedule:
67
- cron: '0 9 * * *'
78
workflow_dispatch:
@@ -12,7 +13,7 @@ permissions:
1213
jobs:
1314
zephyr-build-and-test:
1415
if: github.repository == 'qualcomm/eld' || github.event_name == 'workflow_dispatch'
15-
runs-on: ubuntu-latest
16+
runs-on: self-hosted
1617
env:
1718
ZEPHYR_WORKSPACE: ${{ github.workspace }}/zephyrproject
1819

@@ -22,30 +23,59 @@ jobs:
2223
with:
2324
path: llvm-project/llvm/tools/eld
2425

25-
- name: Record pre-build entry
26-
if: github.event_name == 'schedule'
27-
uses: ./llvm-project/llvm/tools/eld/.github/workflows/BuildStatusDataRecorder
28-
with:
29-
enabled: true
30-
project: "llvm-project/llvm/tools/eld"
31-
stage: "pre-"
32-
workflow-name: "zephyr"
33-
record-mode: "record"
34-
status: "fail"
35-
run-id: ${{github.run_id}}
36-
arch-name: "riscv32"
37-
branch-name: "main"
26+
- name: Clean workspace
27+
run: |
28+
rm -rf ${{ env.ZEPHYR_WORKSPACE }}
29+
rm -rf ${{ github.workspace }}/zephyr-sdk-*
30+
rm -rf ${{ github.workspace }}/.cmake
3831
39-
- name: Install dependencies
32+
# FIXME: remove this step once self-hosted environment is confirmed
33+
- name: Check runner environment
4034
run: |
41-
export DEBIAN_FRONTEND=noninteractive
42-
sudo apt-get update
43-
sudo apt-get install -y --no-install-recommends \
44-
libc++-dev libc++abi-dev libclang-rt-20-dev \
45-
git cmake ninja-build gperf dfu-util device-tree-compiler wget \
46-
python3-dev python3-pip python3-setuptools python3-tk python3-venv python3-wheel xz-utils \
47-
file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1 qemu-system-riscv32
35+
export PATH="/opt/qemu/bin:$PATH"
36+
echo "=== System ==="
37+
uname -a
38+
cat /etc/os-release 2>/dev/null | head -5 || true
39+
echo ""
40+
echo "=== Python ==="
41+
python3 --version 2>&1 || echo "MISSING: python3"
42+
python3 -m venv --help >/dev/null 2>&1 && echo "python3-venv: OK" || echo "MISSING: python3-venv"
43+
python3 -m pip --version 2>&1 || echo "MISSING: python3-m-pip"
44+
echo ""
45+
echo "=== Build tools ==="
46+
cmake --version 2>&1 | head -1 || echo "MISSING: cmake"
47+
ninja --version 2>&1 || echo "MISSING: ninja"
48+
dtc --version 2>&1 || echo "MISSING: dtc (device-tree-compiler)"
49+
gperf --version 2>&1 | head -1 || echo "MISSING: gperf"
50+
echo ""
51+
echo "=== QEMU ==="
52+
qemu-system-riscv32 --version 2>&1 | head -1 || echo "MISSING: qemu-system-riscv32"
53+
qemu-system-riscv64 --version 2>&1 | head -1 || echo "MISSING: qemu-system-riscv64"
54+
echo ""
55+
echo "=== Utilities ==="
56+
git --version 2>&1 || echo "MISSING: git"
57+
curl --version 2>&1 | head -1 || echo "MISSING: curl"
58+
xz --version 2>&1 | head -1 || echo "MISSING: xz"
4859
60+
# FIXME: remove once network issues are resolved
61+
- name: Debug network access
62+
run: |
63+
echo "=== Direct GitHub access ==="
64+
curl -sI https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.0/toolchain_gnu_linux-x86_64_riscv64-zephyr-elf.tar.xz 2>&1 | head -5
65+
echo ""
66+
echo "=== Follow redirects ==="
67+
curl -sIL https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.0/toolchain_gnu_linux-x86_64_riscv64-zephyr-elf.tar.xz 2>&1 | head -15
68+
echo ""
69+
echo "=== Actual download test (first 1KB) ==="
70+
curl -sL https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.0/toolchain_gnu_linux-x86_64_riscv64-zephyr-elf.tar.xz -o /dev/null -w "HTTP %{http_code}, %{size_download} bytes\n" -r 0-1023
71+
echo ""
72+
echo "=== Proxy env ==="
73+
env | grep -i proxy || echo "No proxy vars set"
74+
75+
- name: Set up Zephyr workspace
76+
env:
77+
HOME: ${{ github.workspace }}
78+
run: |
4979
python3 -m venv ${{ env.ZEPHYR_WORKSPACE }}/.venv
5080
. ${{ env.ZEPHYR_WORKSPACE }}/.venv/bin/activate
5181
python -m pip install -U pip
@@ -65,13 +95,32 @@ jobs:
6595
run: |
6696
echo "ZEPHYR_VENV=${{ env.ZEPHYR_WORKSPACE }}/.venv" >> $GITHUB_ENV
6797
98+
# FIXME: remove once network issues are resolved
99+
- name: Debug network access
100+
run: |
101+
echo "=== Direct GitHub access ==="
102+
curl -sI https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.0/toolchain_gnu_linux-x86_64_riscv64-zephyr-elf.tar.xz 2>&1 | head -5
103+
echo ""
104+
echo "=== Follow redirects ==="
105+
curl -sIL https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.0/toolchain_gnu_linux-x86_64_riscv64-zephyr-elf.tar.xz 2>&1 | head -15
106+
echo ""
107+
echo "=== Actual download test (first 1KB) ==="
108+
curl -sL https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.0/toolchain_gnu_linux-x86_64_riscv64-zephyr-elf.tar.xz -o /dev/null -w "HTTP %{http_code}, %{size_download} bytes\n" -r 0-1023
109+
echo ""
110+
echo "=== Proxy env ==="
111+
env | grep -i proxy || echo "No proxy vars set"
112+
68113
- name: Install Zephyr SDK
114+
env:
115+
HOME: ${{ github.workspace }}
69116
run: |
70117
cd ${{ env.ZEPHYR_WORKSPACE }}
71118
. ${{ env.ZEPHYR_WORKSPACE }}/.venv/bin/activate
72119
west sdk install -t riscv64-zephyr-elf
73120
74121
- name: Install RISC-V toolchain payload
122+
env:
123+
HOME: ${{ github.workspace }}
75124
run: |
76125
SDK_DIR=$(ls -d "$HOME"/zephyr-sdk-* 2>/dev/null | head -n 1)
77126
if [ -z "$SDK_DIR" ]; then
@@ -156,7 +205,6 @@ jobs:
156205
./scripts/twister -W -p qemu_riscv32 \
157206
--inline-logs \
158207
--timestamps \
159-
-j 2 \
160208
-v \
161209
-x ZEPHYR_SDK_INSTALL_DIR=${{ env.ELD_SDK_DIR }} \
162210
-x ZEPHYR_TOOLCHAIN_VARIANT=llvm \
@@ -202,3 +250,10 @@ jobs:
202250
run-id: ${{github.run_id}}
203251
arch-name: "riscv32"
204252
branch-name: "main"
253+
254+
- name: Clean workspace
255+
if: always()
256+
run: |
257+
rm -rf ${{ env.ZEPHYR_WORKSPACE }}
258+
rm -rf ${{ github.workspace }}/zephyr-sdk-*
259+
rm -rf ${{ github.workspace }}/.cmake

0 commit comments

Comments
 (0)