Skip to content

ci: detect Yocto release from layer.conf and fix clone timeouts#281

Draft
ajlennon wants to merge 1 commit into
masterfrom
cursor/wrynose-ci-fix-de70
Draft

ci: detect Yocto release from layer.conf and fix clone timeouts#281
ajlennon wants to merge 1 commit into
masterfrom
cursor/wrynose-ci-fix-de70

Conversation

@ajlennon

@ajlennon ajlennon commented Jul 1, 2026

Copy link
Copy Markdown
Member

Fixes the CI failure on PR #278 (run 28521464897).

Problem

The job failed at Update repo poky after ~5 minutes with:

fatal: unable to connect to git.yoctoproject.org:
git.yoctoproject.org[0: 104.18.0.115]: errno=Connection timed out

Two underlying issues:

  1. git:// protocol blocked — the workflow cloned poky via git://git.yoctoproject.org/poky, which is unreachable from the self-hosted runner network. HTTPS works.

  2. Hardcoded styhead matrix — PR Update layer config to support wrynose release (6.0) #278 sets LAYERSERIES_COMPAT_mono = "wrynose", but CI always built against styhead poky. Even if the clone succeeded, the layer compatibility check would fail.

Fix

Refactor .github/workflows/CI_github.yml to:

  • Detect the Yocto release from LAYERSERIES_COMPAT_mono in the checked-out conf/layer.conf
  • Legacy releases (styhead, etc.): clone poky monorepo over HTTPS
  • Whinlatter (5.3+): clone bitbake 2.16, oe-core, meta-yocto, meta-openembedded individually
  • Wrynose (6.0): clone bitbake 2.18, oe-core, meta-yocto, meta-openembedded individually
  • Remove hardcoded branch: [styhead] from the matrix so fork PRs automatically test against the release declared in their layer.conf
  • Include Node 24 action bumps (checkout@v5, upload-artifact@v6)

Once merged to master, re-running PR #278 should clone wrynose layers correctly and proceed to the actual build.

Open in Web Open in Cursor 

PR #278 CI failed cloning poky via git:// (connection timed out after
~5 minutes). Git protocol is blocked on the self-hosted runner network.

Changes:
- Read LAYERSERIES_COMPAT_mono from conf/layer.conf to select the
  correct Yocto release for each PR/branch automatically
- Use HTTPS for legacy poky monorepo clones (styhead, etc.)
- Add wrynose (6.0) support via individual layer clones (bitbake 2.18,
  openembedded-core, meta-yocto, meta-openembedded)
- Add whinlatter (5.3+) layer clone path alongside wrynose
- Bump checkout/upload-artifact to Node 24 native versions
- Drop hardcoded styhead matrix branch so fork PRs testing wrynose
  no longer attempt to build against the wrong release

Co-authored-by: Alex Lennon <ajlennon@dynamicdevices.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants