11name : Zephyr Nightly with ELD
22
33on :
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:
1213jobs :
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