Repository navigation
ci: run opt-in integration tests for affected plugins - #685
Open
balkashynov wants to merge 1 commit into
Open
balkashynov wants to merge 1 commit into
balkashynov wants to merge 1 commit into
Conversation
balkashynov
marked this pull request as ready for review
October 14, 2026 21:28
Select affected plugin integration tests and document the shared opt-in convention. Retain the existing CockroachDB opt-in for compatibility.
balkashynov
force-pushed
the
codex/changed-plugin-integration
branch
from
October 14, 2026 21:43
35b09b8 to
b191f20
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Adds the shared opt-in integration workflow proposed in #680. Pull requests select only integration-test packages affected by their changed files or local Go test dependencies, so unrelated plugin changes avoid Docker pulls. SDK, module, selector and workflow changes select all integration packages; manual dispatch also runs all of them.
The selector compares the PR merge commit with its first parent, includes both sides of renames, and fails visibly if Git or dependency discovery fails. The workflow uses a read-only token, no secrets, bounded jobs and at most two integration packages in parallel. Empty selections skip the integration job.
Reuses the CockroachDB integration tests contributed in #536. They accept
SHELL_PLUGINS_INTEGRATION=1while retainingCOCKROACHDB_INTEGRATION=1compatibility. Ordinary unit tests still skip external dependencies. Please keep this workflow non-required, as requested in #680.The checks below were actually run; independent maintainer review is welcome.
Type of change
Related Issue(s)
Resolves #680.
How To Test
Fresh local validation on macOS ARM64 with Go 1.24.13:
go test -count=1 ./...: 93 packages passed, 816 passing tests/subtests; the dependency-backed test skipped by default.go test -race -count=1 ./cmd/ci/integration-matrix: passed.SHELL_PLUGINS_INTEGRATION=1 go test -count=1 -timeout=10m ./plugins/cockroachdb: passed against the pinned CockroachDB container, including TLS and invalid-credential cases.COCKROACHDB_INTEGRATION=1 go test -count=1 -timeout=10m -run '^TestDatabaseCredentialsIntegration$' ./plugins/cockroachdb: passed with the shared switch unset.make validate, golangci-lint 2.12.2, and actionlint 1.7.12 with ShellCheck 0.11.0: passed.GitHub-hosted Ubuntu validation of the unchanged source tree passed before the commit-message-only update in fork validation PR #1:
pull_requestmerge checkout.The current signed commit
b191f20843e474742d7a7d6b5fccd55b5a7684c2now also passes upstream Test and Validate, Plugin Integration, and signed-commit checks. Its source tree is identical to the earlier validated commit; only the commit message changed. No real 1Password account is required or used by these tests.Changelog
Plugin integration tests can run in a separate optional workflow for affected plugins using a shared opt-in convention.