Skip to content

test(integration): add live GitLab generic install smoke#1663

Open
abhinavgautam01 wants to merge 2 commits into
microsoft:mainfrom
abhinavgautam01:fix-1229-live-gitlab-smoke
Open

test(integration): add live GitLab generic install smoke#1663
abhinavgautam01 wants to merge 2 commits into
microsoft:mainfrom
abhinavgautam01:fix-1229-live-gitlab-smoke

Conversation

@abhinavgautam01
Copy link
Copy Markdown
Contributor

Description

Adds an opt-in live smoke test for apm install gitlab.com/<group>/<repo> so the generic git backend is covered end-to-end against GitLab. The test validates package materialization under apm_modules/ and confirms apm.lock.yaml records host: gitlab.com plus a full resolved commit SHA.

The smoke is gated behind APM_LIVE_GENERIC_PACKAGE because the fixture suggested in the issue is not currently public. Scheduled/manual CI wiring is included so maintainers can enable it by setting that repository variable to a stable public APM-shaped GitLab repo.

Fixes #1229

Type of change

  • Bug fix
  • New feature
  • Documentation
  • Maintenance / refactor

Testing

  • Tested locally
  • All existing tests pass
  • Added tests for new functionality (if applicable)

Validation run:

uv run --python 3.12 ruff check pyproject.toml tests/integration/test_live_generic_gitlab_install.py
uv run --python 3.12 pytest tests/integration/test_live_generic_gitlab_install.py -m live_generic -o addopts= -v --tb=short
git diff --check

Focused pytest collected the live smoke and skipped locally because APM_LIVE_GENERIC_PACKAGE is not set, since the GitLab repo suggested one from the issue is not available publicly:

gitlab.com/microsoft-apm-fixtures/smoke-pkg -> GitLab API returns 404 Project Not Found

Spec conformance (OpenAPM v0.1)

If this PR changes behaviour that an OpenAPM v0.1 req-XXX covers, confirm the three-step ritual (see CONTRIBUTING.md "Adding or changing a normative requirement"):

  • Spec edit: docs/src/content/docs/specs/openapm-v0.1.md updated
    (new/changed anchor + prose + Appendix C
    row).

  • Manifest edit: docs/src/content/docs/specs/manifests/openapm-v0.1.requirements.yml
    updated.

  • Test edit: a @pytest.mark.req("req-XXX") test under
    tests/spec_conformance/ added or extended.

  • CONFORMANCE.{md,json} regenerated via
    uv run --extra dev python -m tests.spec_conformance.gen_statement
    and committed.

  • N/A -- this PR does not change OpenAPM-observable behaviour.

Copilot AI review requested due to automatic review settings June 4, 2026 16:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a scheduled/manual live smoke test to validate that apm install can clone and lock a real GitLab-hosted package via the generic git backend.

Changes:

  • Introduces a new live integration test that installs a configured GitLab repo and asserts lockfile stamping with a full commit SHA.
  • Registers a new live_generic pytest marker.
  • Extends the release workflow to run this smoke test on schedule / workflow_dispatch.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
tests/integration/test_live_generic_gitlab_install.py New live smoke test exercising the generic git clone path against GitLab and validating lockfile fields.
pyproject.toml Adds live_generic marker so pytest recognizes the new selection.
.github/workflows/build-release.yml Runs the new smoke test in scheduled/manual workflow runs using repo variable configuration.

Comment thread tests/integration/test_live_generic_gitlab_install.py Outdated
Comment thread tests/integration/test_live_generic_gitlab_install.py Outdated
Comment thread tests/integration/test_live_generic_gitlab_install.py
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.

Add live e2e smoke install for gitlab.com (generic git host)

2 participants