@@ -22,107 +22,7 @@ concurrency:
2222jobs :
2323 twister-build-prep :
2424 if : github.repository_owner == 'zephyrproject-rtos'
25- runs-on :
26- group : zephyr-runner-v2-linux-x64-4xlarge
27- container :
28- image : ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.27.4.20241026
29- options : ' --entrypoint /bin/bash'
30- outputs :
31- subset : ${{ steps.output-services.outputs.subset }}
32- size : ${{ steps.output-services.outputs.size }}
33- fullrun : ${{ steps.output-services.outputs.fullrun }}
34- env :
35- MATRIX_SIZE : 10
36- PUSH_MATRIX_SIZE : 20
37- DAILY_MATRIX_SIZE : 80
38- BSIM_OUT_PATH : /opt/bsim/
39- BSIM_COMPONENTS_PATH : /opt/bsim/components
40- TESTS_PER_BUILDER : 700
41- COMMIT_RANGE : ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
42- BASE_REF : ${{ github.base_ref }}
43- steps :
44- - name : Apply container owner mismatch workaround
45- run : |
46- # FIXME: The owner UID of the GITHUB_WORKSPACE directory may not
47- # match the container user UID because of the way GitHub
48- # Actions runner is implemented. Remove this workaround when
49- # GitHub comes up with a fundamental fix for this problem.
50- git config --global --add safe.directory ${GITHUB_WORKSPACE}
51-
52- - name : Print cloud service information
53- run : |
54- echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}"
55- echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}"
56- echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}"
57-
58- - name : Clone cached Zephyr repository
59- if : github.event_name == 'pull_request_target'
60- continue-on-error : true
61- run : |
62- git clone --shared /repo-cache/zephyrproject/zephyr .
63- git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
64-
65- - name : Checkout
66- if : github.event_name == 'pull_request_target'
67- uses : actions/checkout@v4
68- with :
69- ref : ${{ github.event.pull_request.head.sha }}
70- fetch-depth : 0
71- persist-credentials : false
72-
73- - name : Environment Setup
74- if : github.event_name == 'pull_request_target'
75- run : |
76- git config --global user.email "[email protected] " 77- git config --global user.name "Zephyr Bot"
78- rm -fr ".git/rebase-apply"
79- git rebase origin/${BASE_REF}
80- git clean -f -d
81- git log --pretty=oneline | head -n 10
82- west init -l . || true
83- west config manifest.group-filter -- +ci,+optional
84- west config --global update.narrow true
85- west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /repo-cache/zephyrproject)
86- west forall -c 'git reset --hard HEAD'
87-
88- echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
89-
90- - name : Generate Test Plan with Twister
91- if : github.event_name == 'pull_request_target'
92- id : test-plan
93- run : |
94- export ZEPHYR_BASE=${PWD}
95- export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
96- python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request -t $TESTS_PER_BUILDER
97- if [ -s .testplan ]; then
98- cat .testplan >> $GITHUB_ENV
99- else
100- echo "TWISTER_NODES=${MATRIX_SIZE}" >> $GITHUB_ENV
101- fi
102- rm -f testplan.json .testplan
103-
104- - name : Determine matrix size
105- id : output-services
106- run : |
107- if [ "${{github.event_name}}" = "pull_request_target" ]; then
108- if [ -n "${TWISTER_NODES}" ]; then
109- subset="[$(seq -s',' 1 ${TWISTER_NODES})]"
110- else
111- subset="[$(seq -s',' 1 ${MATRIX_SIZE})]"
112- fi
113- size=${TWISTER_NODES}
114- elif [ "${{github.event_name}}" = "push" ]; then
115- subset="[$(seq -s',' 1 ${PUSH_MATRIX_SIZE})]"
116- size=${MATRIX_SIZE}
117- elif [ "${{github.event_name}}" = "schedule" -a "${{github.repository}}" = "zephyrproject-rtos/zephyr" ]; then
118- subset="[$(seq -s',' 1 ${DAILY_MATRIX_SIZE})]"
119- size=${DAILY_MATRIX_SIZE}
120- else
121- size=0
122- fi
123- echo "subset=${subset}" >> $GITHUB_OUTPUT
124- echo "size=${size}" >> $GITHUB_OUTPUT
125- echo "fullrun=${TWISTER_FULL}" >> $GITHUB_OUTPUT
25+ uses : ./.github/workflows/twister-push.yaml
12626
12727 twister-build :
12828 runs-on :
0 commit comments