This is an automated email from the ASF dual-hosted git repository.
sjanc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/master by this push:
new 5bd9f465e ci: Build newt in prepare job
5bd9f465e is described below
commit 5bd9f465e2e6172f345985460bb1a55f472677d0
Author: Szymon Janc <[email protected]>
AuthorDate: Thu Oct 22 22:33:23 2026 +0200
ci: Build newt in prepare job
Every job waits for runner, which on shared ASF runners took 60-170
minutes per job, and newt job (1 minute of work) was followed by
prepare job, so Linux jobs waited for runner three times in a row.
Build newt in prepare job instead, it uploads newt artifact for
Windows and macOS jobs before setting up project. Windows and macOS
jobs now wait for prepare job (few minutes longer), but their runners
are not subject to long queue.
Assisted-by: Claude:claude-opus-5-5
---
.github/workflows/build.yml | 29 +++++++++--------------------
1 file changed, 9 insertions(+), 20 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 47cacc9b9..5a95a5348 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -34,9 +34,12 @@ permissions:
jobs:
# Builds newt once per run for all platforms used by jobs of this
- # workflow, other jobs take newt from artifact uploaded by this job.
- newt:
- name: Build newt
+ # workflow and downloads external repositories. Windows and macOS jobs
+ # take newt from artifact uploaded by this job, Linux jobs use project
+ # (including newt) prepared by this job. Done in single job, since
+ # each job waits for runner, which may take long on shared runners.
+ prepare:
+ name: Prepare project
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
@@ -54,20 +57,6 @@ jobs:
include-hidden-files: true
if-no-files-found: error
retention-days: 1
-
- # Downloads external repositories once per run, all Linux jobs use
- # project prepared by this job.
- prepare:
- name: Prepare project
- needs: newt
- runs-on: ubuntu-latest
- timeout-minutes: 60
- steps:
- - uses: actions/checkout@v7
- - name: Install newt
- uses: ./.github/actions/newt-install
- with:
- artifact: newt
- name: Set up project
uses: ./.github/actions/newt-project
with:
@@ -133,7 +122,7 @@ jobs:
blinky-other-os:
name: Build blinky
- needs: newt
+ needs: prepare
strategy:
fail-fast: false
matrix:
@@ -282,7 +271,7 @@ jobs:
targets-other-os:
name: Build all test targets
- needs: newt
+ needs: prepare
strategy:
fail-fast: false
matrix:
@@ -451,7 +440,7 @@ jobs:
# access to caches and none of jobs building code does.
cache-cleanup:
name: Remove superseded caches
- needs: [newt, prepare, blinky, bootloader, apps, targets, mtest-apps,
gcc-target, unit-tests]
+ needs: [prepare, blinky, bootloader, apps, targets, mtest-apps,
gcc-target, unit-tests]
if: >-
!cancelled() && github.ref == 'refs/heads/master' &&
github.event_name != 'pull_request'