Skip to content

test(hosted): temporarily skip the ruby-gem e2e legs (pin unpublished) - #197

Open
Mikola Lysenko (mikolalysenko) wants to merge 1 commit into
mainfrom
fix/temporarily-disable-gem-hosted-e2e
Open

test(hosted): temporarily skip the ruby-gem e2e legs (pin unpublished)#197
Mikola Lysenko (mikolalysenko) wants to merge 1 commit into
mainfrom
fix/temporarily-disable-gem-hosted-e2e

Conversation

@mikolalysenko

@mikolalysenko Mikola Lysenko (mikolalysenko) commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

Problem

The pinned gem patch activestorage@7.0.2.2 (2535d43d) was intentionally unpublished on 2026-08-14 pending a corrected republish. Its record still resolves via /patch/view/<uuid>, but the discovery endpoints (/patch/batch, /patch/by-package) now return zero patches for it. That fails preflight_required_patches_are_published, canary_patches_name_advisories_so_merge_state_is_inferable, and gem_bundler_hosted_redirect_and_known_install_defect — red-lighting the required hosted-e2e check on every PR and on main, for reasons unrelated to the CLI. (npm/PyPI/cargo pins are all still healthy.)

Fix

One clearly-labeled, easily-reversible switch: const GEM_E2E_DISABLED: bool = true. While on, the three gem legs skip; npm/PyPI/cargo stay fully enforced. The gem redirect leg returns unconditionally (deliberately NOT soft_skip!, which panics under SOCKET_PATCH_HOSTED_E2E_STRICT — the disable is intentional in CI, not a missing toolchain). The module-doc table flags the gem row as temporarily disabled.

Re-enable

Flip GEM_E2E_DISABLED to false (and update GEM_UUID if the corrected patch has a new uuid) once it is republished on patches-api.socket.dev.

Test

Ran the three affected legs against real production under SOCKET_PATCH_HOSTED_E2E_STRICT=1:

  • preflight_required_patches_are_published ... ok (npm/PyPI/cargo)
  • canary_patches_name_advisories_so_merge_state_is_inferable ... ok
  • gem_bundler_hosted_redirect_and_known_install_defect ... SKIP + ok
  • test result: ok. 3 passed; 0 failed

Scoped to e2e_hosted_production.rs (the suite the required hosted-e2e job runs). The synthetic e2e_vendor_gem_build capstone is offline and unaffected; e2e_vendored_production is not in the required matrix.

🤖 Generated with Claude Code


Note

Low Risk
Test-only change with a documented revert path; no production CLI or runtime behavior is modified.

Overview
Adds GEM_E2E_DISABLED (true) so hosted production e2e no longer treats the unpublished activestorage@7.0.2.2 gem pin as required while it is off discovery endpoints.

preflight_required_patches_are_published and canary_patches_name_advisories_so_merge_state_is_inferable omit the gem PURL when the flag is on; npm/PyPI/Cargo checks stay enforced. gem_bundler_hosted_redirect_and_known_install_defect returns early with an explicit SKIP (not soft_skip!, so SOCKET_PATCH_HOSTED_E2E_STRICT still passes in CI). Module docs note the gem row is temporarily disabled and how to re-enable.

Reviewed by Cursor Bugbot for commit 6962bb9. Configure here.

The pinned gem patch activestorage@7.0.2.2 (2535d43d) was intentionally
unpublished 2026-08-14 pending a corrected republish. Its record still
resolves via /patch/view/<uuid>, but the discovery endpoints
(/patch/batch, /patch/by-package) now return zero patches for it, so
preflight_required_patches_are_published, the advisory canary, and the
gem redirect leg fail for reasons unrelated to the CLI — red-lighting the
required hosted-e2e check on every PR and on main.

Add a single GEM_E2E_DISABLED switch (defaulting true) that skips those
three gem legs while keeping npm/PyPI/cargo enforced. The gem redirect
leg returns unconditionally (NOT soft_skip!, which panics under STRICT),
so it skips cleanly in CI too. Flip the const back to false (and re-point
GEM_UUID if the replacement differs) once the corrected patch is live.

Verified under SOCKET_PATCH_HOSTED_E2E_STRICT=1 against real production:
preflight + canary pass on the three remaining ecosystems, the gem leg
prints SKIP and returns; 3 passed, 0 failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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