Skip to content

Modernize meta-vscode: bump to 1.120, fix per-arch, add multi-release CI#1

Merged
EmbeddedAndroid merged 4 commits into
mainfrom
modernize-and-update
May 14, 2026
Merged

Modernize meta-vscode: bump to 1.120, fix per-arch, add multi-release CI#1
EmbeddedAndroid merged 4 commits into
mainfrom
modernize-and-update

Conversation

@EmbeddedAndroid

Copy link
Copy Markdown
Owner

Brings the layer current with the May 2026 VSCode release (1.120) and wires up Yocto-style multi-release + multi-arch CI.

conf/layer.conf: LAYERSERIES_COMPAT widens from "kirkstone" to "kirkstone scarthgap styhead walnascar whinlatter wrynose". Adds LAYERDEPENDS on core and LAYERVERSION, and anchors BBFILE_PATTERN so other layers can't accidentally match.

recipes-devtools/vscode: bumped from 1.89 (May 2024) to 1.120.0 (May 13, 2026). Re-resolved the per-arch tarball URL timestamps and switched checksums from md5 to sha256.

Two recipe bugs fixed at the same time:

  • do_install was unconditionally copying ${WORKDIR}/VSCode-linux-arm64/* into the destination, so x64 and armhf builds produced an empty /usr/share/vscode. Now copies from S = ${WORKDIR}/VSCode-linux-${VSCODE_ARCH}.
  • LIC_FILES_CHKSUM was hardcoded to the arm64 layout. Now relative to S, identical md5 across all three arches.

The recipe inherits bin_package, which (via allarch) was producing one set of sstate signatures across all arches even though the binaries are arch-specific. Override with PACKAGE_ARCH = ${MACHINE_ARCH} so an arm64 build and an x86_64 build produce distinct .ipks.

.github/workflows/ci.yml: three jobs.

  • parse: matrix of (kirkstone|scarthgap|styhead|walnascar) x (qemux86-64|qemuarm64|qemuarm) = 12 cells. Each cell parses the layer against poky and runs bitbake -c fetch vscode, exercising both the recipe parser and the per-arch SRC_URI resolution.
  • parse-oe-core: 6 cells covering whinlatter and wrynose against the same three machines, using oe-core + bitbake-2.16/2.18 separately (no poky combo).
  • build: end-to-end bitbake vscode on scarthgap/qemux86-64. Catches QA failures that bitbake -p doesn't trigger.

Per-release branches (kirkstone, scarthgap, styhead, walnascar, whinlatter, wrynose) will be added in a follow-up after main lands.

Verified: vscode builds clean end-to-end on scarthgap/qemux86-64 against linux-yocto 6.6 with no QA errors (one host-distro warning unrelated to this layer).

…ERSION

Drop kirkstone-only compatibility and claim kirkstone through
wrynose. Anchor BBFILE_PATTERN to ^${LAYERDIR}/ so other layers
can't be accidentally matched.
The previous recipe (1.89, May 2024) shipped multi-arch tarball
URLs but the do_install body hardcoded ${WORKDIR}/VSCode-linux-arm64/*,
so x64 and armhf builds installed nothing. LIC_FILES_CHKSUM had
the same arm64-hardcoded path. Both fixed via VSCODE_ARCH-driven
S and a relative-to-S license path.

Bumped to upstream 1.120.0 (released 2026-05-13), the latest
stable on https://code.visualstudio.com/. Switched all three
URL checksums from md5 to sha256 while we're touching them.

Also drops the bin_package allarch inheritance: these binaries
are arch-specific ELFs, so allarch produces wrong sstate hashes
that would let an x86 build promote into an arm sysroot. Set
PACKAGE_ARCH = ${MACHINE_ARCH} explicitly.
Three jobs:
- parse: matrix of (poky_branch x machine), where poky_branch is
  kirkstone..walnascar and machine is qemux86-64 / qemuarm64 /
  qemuarm. Catches recipe parse errors and per-arch SRC_URI
  resolution failures.
- parse-oe-core: same per-machine matrix against oe-core whinlatter
  and oe-core wrynose (no poky combo for those releases).
- build: end-to-end bitbake vscode on scarthgap / qemux86-64.
  Exercises do_install, package_qa, etc. that bitbake -p doesn't
  trigger.
The previous structure used include alone to introduce release +
bitbake, which GHA didn't expand across the machine axis -- only
3 wrynose cells materialised and 0 whinlatter. Move release into
the base matrix so (release x machine) is the cartesian product
and have include just map bitbake-the-tool's version against the
release key.
@EmbeddedAndroid EmbeddedAndroid merged commit 9647ee1 into main May 14, 2026
19 checks passed
@EmbeddedAndroid EmbeddedAndroid deleted the modernize-and-update branch May 14, 2026 16:58
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.

1 participant