Lines Matching +full:url +full:- +full:base
6 - main
7 - v*-branch
8 - collab-*
11 - main
12 - v*-branch
13 - collab-*
16 - cron: '0 3 * * 0'
19 group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
20 cancel-in-progress: true
23 twister-build-prep:
24 if: github.repository_owner == 'zephyrproject-rtos'
25 runs-on:
26 group: zephyr-runner-v2-linux-x64-4xlarge
28 image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
29 options: '--entrypoint /bin/bash'
31 subset: ${{ steps.output-services.outputs.subset }}
32 size: ${{ steps.output-services.outputs.size }}
33 fullrun: ${{ steps.output-services.outputs.fullrun }}
41 … COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
44 - name: Apply container owner mismatch workaround
50 git config --global --add safe.directory ${GITHUB_WORKSPACE}
52 - name: Print cloud service information
58 - name: Clone cached Zephyr repository
60 continue-on-error: true
62 git clone --shared /repo-cache/zephyrproject/zephyr .
63 git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
65 - name: Checkout
70 fetch-depth: 0
71 persist-credentials: false
73 - name: Environment Setup
76 git config --global user.email "bot@zephyrproject.org"
77 git config --global user.name "Zephyr Bot"
78 rm -fr ".git/rebase-apply"
80 git log --pretty=oneline | head -n 10
81 west init -l . || true
82 west config manifest.group-filter -- +ci,+optional
83 west config --global update.narrow true
84 …--path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /repo-c…
85 west forall -c 'git reset --hard HEAD'
87 … echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
89 - name: Generate Test Plan with Twister
91 id: test-plan
95 … python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request -t $TESTS_PER_BUILDER
96 if [ -s .testplan ]; then
101 rm -f testplan.json .testplan
103 - name: Determine matrix size
104 id: output-services
107 if [ -n "${TWISTER_NODES}" ]; then
108 subset="[$(seq -s',' 1 ${TWISTER_NODES})]"
110 subset="[$(seq -s',' 1 ${MATRIX_SIZE})]"
114 subset="[$(seq -s',' 1 ${PUSH_MATRIX_SIZE})]"
116 …elif [ "${{github.event_name}}" = "schedule" -a "${{github.repository}}" = "zephyrproject-rtos/zep…
117 subset="[$(seq -s',' 1 ${DAILY_MATRIX_SIZE})]"
126 twister-build:
127 runs-on:
128 group: zephyr-runner-v2-linux-x64-4xlarge
129 needs: twister-build-prep
130 if: needs.twister-build-prep.outputs.size != 0
132 image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.26.13.20240601
133 options: '--entrypoint /bin/bash'
135 fail-fast: false
137 subset: ${{fromJSON(needs.twister-build-prep.outputs.subset)}}
138 timeout-minutes: 1440
140 CCACHE_DIR: /node-cache/ccache-zephyr
141 CCACHE_REMOTE_STORAGE: "redis://cache-*.keydb-cache.svc.cluster.local|shards=1,2,3"
143 # `--specs` is ignored because ccache is unable to resolve the toolchain specs file path.
144 CCACHE_IGNOREOPTIONS: '--specs=*'
147 … TWISTER_COMMON: ' --force-color --inline-logs -v -N -M --retry-failed 3 --timeout-multiplier 2 '
148 DAILY_OPTIONS: ' -M --build-only --all --show-footprint'
149 PR_OPTIONS: ' --clobber-output --integration'
150 PUSH_OPTIONS: ' --clobber-output -M --show-footprint'
151 … COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
154 - name: Print cloud service information
160 - name: Apply container owner mismatch workaround
166 git config --global --add safe.directory ${GITHUB_WORKSPACE}
168 - name: Clone cached Zephyr repository
169 continue-on-error: true
171 git clone --shared /repo-cache/zephyrproject/zephyr .
172 git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}
174 - name: Checkout
178 fetch-depth: 0
179 persist-credentials: false
181 - name: Environment Setup
184 git config --global user.email "bot@zephyrproject.org"
185 git config --global user.name "Zephyr Builder"
186 rm -fr ".git/rebase-apply"
188 git log --pretty=oneline | head -n 10
192 west init -l . || true
193 west config manifest.group-filter -- +ci,+optional
194 west config --global update.narrow true
195 …--path-cache /repo-cache/zephyrproject 2>&1 1> west.update.log || west update --path-cache /repo-c…
196 west forall -c 'git reset --hard HEAD'
198 … echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV
200 - name: Check Environment
202 cmake --version
203 gcc --version
204 ls -la
209 - name: Set up ccache
211 mkdir -p ${CCACHE_DIR}
212 ccache -M 10G
213 ccache -p
214 ccache -z -s -vv
216 - name: Update BabbleSim to manifest revision
218 export BSIM_VERSION=$( west list bsim -f {revision} )
221 git fetch -n origin ${BSIM_VERSION}
222 git -c advice.detachedHead=false checkout ${BSIM_VERSION}
224 make everything -s -j 8
226 - if: github.event_name == 'push'
231 …./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} ${TWISTER_COMMON} ${PUSH_O…
233 ./scripts/zephyr_module.py --twister-out module_tests.args
234 if [ -s module_tests.args ]; then
235 … ./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${PUSH_OPTIONS}
239 - if: github.event_name == 'pull_request_target'
242 rm -f testplan.json
245 python3 ./scripts/ci/test_plan.py -c origin/${BASE_REF}.. --pull-request
246 …./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} --load-tests testplan.json…
247 … if [ "${{matrix.subset}}" = "1" -a ${{needs.twister-build-prep.outputs.fullrun}} = 'True' ]; then
248 ./scripts/zephyr_module.py --twister-out module_tests.args
249 if [ -s module_tests.args ]; then
250 … ./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${PR_OPTIONS}
254 - if: github.event_name == 'schedule'
259 …./scripts/twister --subset ${{matrix.subset}}/${{ strategy.job-total }} ${TWISTER_COMMON} ${DAILY_…
261 ./scripts/zephyr_module.py --twister-out module_tests.args
262 if [ -s module_tests.args ]; then
263 … ./scripts/twister +module_tests.args --outdir module_tests ${TWISTER_COMMON} ${DAILY_OPTIONS}
267 - name: Print ccache stats
270 ccache -s -vv
272 - name: Upload Unit Test Results
274 uses: actions/upload-artifact@v4
277 if-no-files-found: ignore
279 twister-out/twister.xml
280 twister-out/twister.json
284 - if: matrix.subset == 1 && github.event_name == 'push'
288 FREEZE_FILE="frozen-requirements.txt"
290 version="$(git describe --abbrev=12 --always)"
291 echo -e "# Generated at $timestamp ($version)\n" > $FREEZE_FILE
292 pip3 freeze | tee -a $FREEZE_FILE
294 - if: matrix.subset == 1 && github.event_name == 'push'
296 uses: actions/upload-artifact@v4
300 frozen-requirements.txt
302 twister-test-results:
307 needs: twister-build
308 runs-on: ubuntu-22.04
309 # the build-and-test job might be skipped, we don't need to run this job then
314 - if: github.event_name == 'push' || github.event_name == 'schedule'
318 fetch-depth: 0
319 persist-credentials: false
321 - name: Download Artifacts
322 uses: actions/download-artifact@v4
326 - if: github.event_name == 'push' || github.event_name == 'schedule'
331 run_date=`date --iso-8601=minutes`
333 python3 ./scripts/ci/upload_test_results_es.py -r ${run_date} \
334 --index zephyr-main-ci-push-1 artifacts/*/*/twister.json
336 python3 ./scripts/ci/upload_test_results_es.py -r ${run_date} \
337 --index zephyr-main-ci-weekly-1 artifacts/*/*/twister.json
340 - name: Merge Test Results
346 - name: Upload Unit Test Results in HTML
348 uses: actions/upload-artifact@v4
351 if-no-files-found: ignore
355 - name: Publish Unit Test Results
356 uses: EnricoMi/publish-unit-test-result-action@v2
361 twister-status-check:
365 - twister-build-prep
366 - twister-build
367 uses: ./.github/workflows/ready-to-merge.yml