Skip to content

Unblock Linux CI: source cmocka and libuuid from reachable mirrors (gitlab/sourceforge blocked)#3526

Merged
xirzec merged 3 commits into
Azure:mainfrom
ewertons:ewertons/fixcmocka
Jun 26, 2026
Merged

Unblock Linux CI: source cmocka and libuuid from reachable mirrors (gitlab/sourceforge blocked)#3526
xirzec merged 3 commits into
Azure:mainfrom
ewertons:ewertons/fixcmocka

Conversation

@ewertons

@ewertons ewertons commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Why

Linux CI is broken because vcpkg downloads two dependencies from hosts that 1ES build agents permanently block, failing with curl error code 7 (Couldn't connect to server):

  • cmockagitlab.com (the upstream port uses vcpkg_from_gitlab). This is the root blocker reported in Unit test job cannot download cmocka due to gitlab.com block on build agents #3464.
  • libuuidsourceforge.net (the upstream port uses vcpkg_from_sourceforge). libuuid is a transitive dependency of paho-mqtt and curl, both declared in the root vcpkg.json, so every Linux job needs it. This block was previously hidden behind the cmocka failure.

Fixes #3464.

What changed

  1. eng/vcpkg-overlay-ports/cmocka/ — overlay port that downloads the same cmocka 2.0.2 release from the official https://cmocka.org file server instead of gitlab.com.
  2. eng/vcpkg-overlay-ports/libuuid/ — overlay port that downloads the identical libuuid 1.0.3 tarball (same SHA512 as the upstream port) from the MacPorts distfiles mirror instead of sourceforge.net. The port's auxiliary files (CMakeLists.txt, config.linux.h, config .in) are copied verbatim from upstream; only the download source changed.
  3. vcpkg-configuration.json (repo root) — registers eng/vcpkg-overlay-ports as an overlay-ports source so manifest-mode installs pick up the two ports above automatically.
  4. eng/pipelines/templates/steps/ci.test.yml — the Validate Characters are ASCII step (code-coverage job only) was failing on pre-existing non-ASCII characters (em dashes) in .github/skills/*.md. Those files are repo tooling/skill markdown synced from azure-sdk-tools, not shippable SDK source. The failure only surfaced now because the job previously died at the cmocka download. Added .github to the grep --exclude-dir list, alongside the already-excluded eng/docs/tools.

Notes for reviewers

  • Each overlay changes only the download URL; all build/install steps match the upstream ports. Versions are unchanged (cmocka 2.0.2, libuuid 1.0.3), so cgmanifest.json is intentionally untouched.
  • The cmocka SHA512 was computed from the cmocka.org tarball; the libuuid SHA512 is unchanged from upstream and was re-verified against the MacPorts mirror (identical bytes).
  • These overlays are a short-term unblock. The durable fix is vcpkg + Terrapin / populating the shared Azure SDK vcpkg asset cache, which removes the need for any blocked-origin download (tracked separately as EngSys work).
  • Verified: a prior run got all Linux/macOS/Windows build+test jobs green once both overlays were in place; this revision adds the ASCII-check exclusion for the last remaining (pre-existing) failure.

…ents)

1ES build agents permanently block gitlab.com, so the upstream vcpkg cmocka port (vcpkg_from_gitlab) fails with curl error 7 and the Linux unit-test job cannot build (Azure#3464). Add an overlay port that fetches the same cmocka 2.0.2 release from the official https://cmocka.org file server, registered via vcpkg-configuration.json overlay-ports. Short-term unblock; durable fix is vcpkg + Terrapin asset caching.
ewertons added 2 commits June 25, 2026 16:04
…ocked on agents)

After the cmocka overlay let cmocka build, the Linux jobs now fail downloading libuuid (a transitive dep of paho-mqtt and curl, both in the root vcpkg.json) from sourceforge.net, which 1ES agents also block (curl error 7). Add an overlay port that fetches the identical libuuid 1.0.3 tarball (same SHA512 as upstream) from distfiles.macports.org. Short-term unblock; durable fix is vcpkg + Terrapin / asset-cache population. Refs Azure#3464.
The 'Validate Characters are ASCII' step (code-cov job only) was failing on pre-existing non-ASCII characters (em dashes) in .github/skills/*.md, which are repo tooling/skill markdown synced from azure-sdk-tools, not shippable SDK source. The failure was previously masked because the code-cov job died earlier at the cmocka/gitlab download. Exclude .github like the already-excluded eng/docs/tools dirs. Refs Azure#3464.
@ewertons ewertons changed the title Source cmocka from cmocka.org to unblock CI (gitlab.com blocked on agents) Unblock Linux CI: source cmocka and libuuid from reachable mirrors (gitlab/sourceforge blocked) Jun 25, 2026
@ewertons ewertons enabled auto-merge (squash) June 25, 2026 23:43
@xirzec xirzec disabled auto-merge June 26, 2026 17:02
@xirzec xirzec merged commit d58444c into Azure:main Jun 26, 2026
22 checks passed
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.

Unit test job cannot download cmocka due to gitlab.com block on build agents

2 participants