-
Notifications
You must be signed in to change notification settings - Fork 233
Add live e2e smoke install for gitlab.com (generic git host) #1229
Copy link
Copy link
Open
Labels
area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.area/testingTest infrastructure, fixtures, e2e harness, coverage.Test infrastructure, fixtures, e2e harness, coverage.status/acceptedDirection approved, safe to start work.Direction approved, safe to start work.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Metadata
Metadata
Assignees
Labels
area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.area/testingTest infrastructure, fixtures, e2e harness, coverage.Test infrastructure, fixtures, e2e harness, coverage.status/acceptedDirection approved, safe to start work.Direction approved, safe to start work.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
In Progress
Gap
Generic (non-GitHub, non-ADO) git hosts -- GitLab, Gitea, Gogs, Bitbucket -- are routed through
GenericGitBackendinsrc/apm_cli/deps/host_backends.py. Coverage today:tests/unit/deps/test_host_backends.py::TestGenericGitBackend(URL builders).tests/integration/test_generic_git_url_install.pyexercises generic URL shapes (string and object form, HTTPS/SSH,gitlab.com/acme/standardsshape) but does NOT perform a live install against a real gitlab.com repo.No CI job verifies that
apm install gitlab.com/<org>/<repo>actually clones, validates, and stamps a real public package.Risk
Our code path delegates to git for non-GitHub/ADO hosts (no proprietary API). If
git ls-remotesemantics or URL builders silently drift, every GitLab/Gitea/Bitbucket consumer breaks with no test failing. This is a thin but high-blast-radius surface.Suggested approach
Add an opt-in
@pytest.mark.live_generictest that:gitlab.com/microsoft-apm-fixtures/smoke-pkgor pick an existing public APM package).apm install gitlab.com/<that-repo>end-to-end.host: gitlab.comand a resolved commit SHA.Skip by default; gate on a new CI job (nightly or weekly) so a flaky upstream doesn't block PRs.
Out of scope
Gitea/Gogs/Bitbucket smoke installs (separate follow-ups if appetite). gitlab.com is the dominant non-GitHub host and the highest-leverage signal.