feat: run modinput tests with python.version variants for Splunk 9.4#508
feat: run modinput tests with python.version variants for Splunk 9.4#508dkaras-splunk wants to merge 8 commits into
Conversation
…riants Point addonfactory-test-matrix-action and wfe-test-runner-action to feat/splunk-9-4-python-version branches. Set k8s-manifests-branch default to feat/splunk-9-4-python-version. Pass serverConfPythonVersion from the matrix to server-conf-python-version input in all 8 test jobs (btool, knowledge, ui, modinput, ucc-modinput, upgrade, scripted-inputs, spl2). Co-Authored-By: Claude <noreply@anthropic.com>
…lunk 9.4 - Restore default action versions (matrix-action@v3.1, wfe-test-runner@v5.2) - Restore k8s-manifests-branch default to v4.2 - Add matrixSplunkBase (deduped, no serverConfPythonVersion) for non-modinput jobs - Pass server-conf-python-version only for modinput and ucc-modinput tests
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16a61b3514
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| description: Specifies which environment to use for k8s testing. ["production", "staging"] | ||
| type: string | ||
| default: "production" | ||
| default: "staging" |
There was a problem hiding this comment.
Restore production as the default k8s environment
When callers omit k8s-environment (the normal reusable-workflow path), this new default sends every test run through the staging branch of the setup step, which maps to ta-staging-artifacts, argo.staging.wfe.splgdi.com, and the staging token. That means main/release consumers no longer exercise the production WFE environment unless they explicitly override the input, which is a behavior change unrelated to the Splunk 9.4 modinput matrix work.
Useful? React with 👍 / 👎.
| description: "branch for k8s manifests to run the tests on" | ||
| type: string | ||
| default: "v4.2" | ||
| default: "feat/splunk-9-4-python-version" |
There was a problem hiding this comment.
Restore the released manifests branch by default
Default callers now pass feat/splunk-9-4-python-version through needs.setup.outputs.k8s-manifests-branch into every wfe-test-runner-action invocation, so main/release runs validate against an in-flight manifests branch instead of the released manifests. This makes the reusable workflow depend on a development branch unless every consumer remembers to override the input.
Useful? React with 👍 / 👎.
| persist-credentials: false | ||
| - id: matrix | ||
| uses: splunk/addonfactory-test-matrix-action@v3.1 | ||
| uses: splunk/addonfactory-test-matrix-action@feat/splunk-9-4-python-version |
There was a problem hiding this comment.
Pin the matrix action back to a released ref
This reusable workflow now resolves the Splunk matrix from the feat/splunk-9-4-python-version branch, and the same feature-branch ref is used for the runner action in all test jobs. Once this workflow is consumed from main or a release tag, every add-on test run depends on a mutable development branch in another repository rather than the released action versions, so branch updates or cleanup can change or break all consumers without a workflow change here.
Useful? React with 👍 / 👎.
16a61b3 to
1d9696d
Compare
run-modinput-testsandrun-ucc-modinput-testsjobs use newmatrix_splunkModinputoutput (fromaddonfactory-test-matrix-action) which contains two entries for Splunk 9.4:serverConfPythonVersion: python3andserverConfPythonVersion: force_python3— resulting in two separate test runs per modinput jobmatrix_Splunk(standard output, no variants) — single run per Splunk version as beforeserver-conf-python-versionis passed towfe-test-runner-actiononly for modinput and ucc-modinput jobs; all other jobs pass empty stringk8s-manifests-branch→v4.2,addonfactory-test-matrix-action→@v3.1,wfe-test-runner-action→@v5.2Why
Splunk 9.4 requires explicit
python.versionconfiguration inserver.conf [general]. Only modinput tests are affected — they execute scripted inputs whose Python version is controlled by this setting. Running two variants (python3andforce_python3) ensures the add-on works under both configurations.Other test types (btool, knowledge, UI) do not interact with the Python runtime selection and do not benefit from duplicate runs.
Dependencies
Requires the following PRs to be merged and tagged first:
splunk/addonfactory-test-matrix-action— providessupportedSplunkModinputoutputsplunk/wfe-test-runner-action— providesserver-conf-python-versioninput forwardingsplunk/ta-automation-k8s-manifests— appliespython.versionin the Splunk podTest plan
maintriggers 2 modinput runs for Splunk 9.4 (python3andforce_python3)btool server list general | grep pythonreturns correct value in each modinput run