feat: release 5.6.0 - #527
Conversation
…8928) (#523) ## Summary ADDON-88928: PR/push targeting `release/*` branches was running Splunk tests against latest-Splunk-only instead of the full supported matrix. The `meta` job's `determine_splunk` step only special-cased `main`/`develop`, so `release/*` fell into the latest-only `else` branch — exactly where full-matrix coverage matters most before cutting a release. ## Change - `reusable-build-test-release.yml`: extend the `determine_splunk` condition to also treat `release/*` as full-matrix — for PR (`base_ref`) and for push (`ref_name`, gated by `execute-tests-on-push-to-release` to match the existing push gate). - `README.md`: document the `release/*` full-matrix behavior. ## Validated (test-addonfactory-repo) - PR into a `release/*` base (test-addonfactory-repo#376): `meta` job succeeded; the job-summary consumed the **full 5-version matrix** `[10.2.5, 10.0.8, 9.4.13, 9.3.14, 10.4.1]` instead of latest-only `[10.4.1]`. AC confirmed. - A control PR against unmodified `@develop` reproduced a pre-existing `startup_failure` (missing `GH_TOKEN_ADMIN` passthrough in the caller), proving the failure was environmental and independent of this change; adding the passthrough unblocked the run. JIRA: https://splunk.atlassian.net/browse/ADDON-88928 --------- Co-authored-by: Claude <noreply@anthropic.com>
…DDON-89094) (#524) ## Summary - Bump GitHub Action pins: `actions/checkout@v7`, `actions/upload-artifact@v7`, `actions/download-artifact@v8`, `actions/cache@v6.1.0`, `fsfe/reuse-action@v6.0.0`, `trufflesecurity/trufflehog@v3.95.9`, `splunk/appinspect-cli-action@v2.13.0`; normalize `matrix-action@v3.1` → `@v3.2`. - Bump `POETRY_VERSION` to `2.4.1` and `POETRY_EXPORT_PLUGIN_VERSION` to `1.10.0` (latest on PyPI as of this bump). - Bump the `python-version` input default from `3.9` to `3.13`, since poetry 2.4.1 requires Python >=3.10. README updated to match. ## Validation Two-tier validation against `splunk/test-addonfactory-repo`, branched off the PR that repoints test-repo `main` at `@release/5.6.0` (splunk/test-addonfactory-repo#378) to inherit `GH_TOKEN_ADMIN` and the release-pinned reusable workflow. - Control run (python-version 3.9, all other bumps applied): all jobs green, including `quality-appinspect-cloud` — https://github.com/splunk/test-addonfactory-repo/actions/runs/29605639162 - Validation run (python-version 3.13): https://github.com/splunk/test-addonfactory-repo/actions/runs/29637138898 - `run-unit-tests`: **PASS** — confirms the poetry/Python version fix (poetry 2.4.1 requires >=3.10; the prior default of 3.9 broke `pip install poetry==2.4.1`). - `quality-appinspect-cloud`: fails on `check_all_python_files_are_well_formed`, flagging vendored third-party files (`lib/pkg_resources/_vendor/...`) in the test-repo's fixture TA. This is expected: with `PYTHON_VERSION=3.13` appinspect now validates against the 3.13 interpreter, and the fixture TA's vendored libs aren't 3.13-clean. The workflow is behaving correctly (validating against the interpreter the TA will actually run on); this is a property of the fixture TA, not a workflow defect. Real consumer TAs address this via `.appinspect.expect.yaml`. - `run-ui-tests (10.4.1, ...)`: fails on a Selenium `TimeoutException: Could not log in to the Splunk instance` after retries — an infra flake unrelated to this change. - `Validate PR title`: fails on both this run and the control run — pre-existing, unrelated (semantic-PR check on the throwaway validation PR's title). ## Test plan - [x] Control run confirms all other bumps validated clean - [x] Validation run confirms `run-unit-tests` green under python-version 3.13 - [x] appinspect-cloud failure root-caused to fixture-TA vendored libs, not a workflow defect - [x] UI test failure confirmed to be Splunk-login-timeout infra flake, unrelated
## Summary - `dorny/test-reporter@v3.0.0` (bumped in #512) defaults `use-actions-summary` to `true`, which skips check-run creation entirely — the code path that sets the `url`/`url_html` outputs never runs. That's why the Test Report stage's rendering changed and why `job_summary.txt`'s report-link column went empty. - Sets `use-actions-summary: false` on all 8 `Test Report` steps to restore v1.9.1 behavior: check run created, `url_html` populated, `job_summary.txt` -> artifact -> aggregated Report Link table works as before. ## Test plan - [x] YAML validated (`yaml.safe_load`) - [ ] Confirm a downstream TA run shows a populated Report Link in the aggregated summary table
…526) ## Summary - Sibling validation for ADDON-87662 (Splunk 9.4 `python.version` support in `server.conf`) passed against real TAs via throwaway sibling PRs (not for merge): [salesforce#897](splunk/splunk-add-on-for-salesforce#897), [aws#1707](splunk/splunk-add-on-for-amazon-web-services#1707), [sysmon#369](splunk/splunk-add-on-for-microsoft-sysmon#369). - Bumps default pins so `release/5.6.0` actually picks up the capability: - `k8s-manifests-branch` default `v4.2` -> `v4.3` (postStart hook sets `python.version` in `server.conf` for Splunk 9.4 variants) — [ta-automation-k8s-manifests#148](splunk/ta-automation-k8s-manifests#148) - `wfe-test-runner-action@v5.2` -> `@main` (`server-conf-python-version` input) — [wfe-test-runner-action#50](splunk/wfe-test-runner-action#50) (no release tag yet, pinning to `main` for now) - `addonfactory-test-matrix-action@v3.2` -> `@v3.3` (`supportedSplunkModinput` output with `python.version` variants) — [addonfactory-test-matrix-action#213](splunk/addonfactory-test-matrix-action#213) ## Test plan - [x] YAML validated (`yaml.safe_load`) - [ ] Confirm downstream TA CI run picks up python.version variants correctly
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 99f547196b
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Splits run-unit-tests into run-unit-tests-py39 and run-unit-tests-py313 so TAs are validated against both supported interpreters in CI, since release/5.6.0 had bumped the python-version input default to 3.13, which silently skipped installing dependencies for TAs still constrained to <3.10 in poetry. Reverts the input default back to 3.9.
POETRY_VERSION 2.4.1 and POETRY_EXPORT_PLUGIN_VERSION 1.10.0 require Python >=3.10, which breaks every job now that python-version defaults back to 3.9 (and breaks the new run-unit-tests-py39 job outright). Poetry dropped 3.9 support starting at 2.3.0; 2.2.1 is the latest release still supporting both 3.9 and 3.13, paired with poetry-plugin-export 1.9.0 (last version requiring poetry>=3.9).
run-unit-tests-py39/py313 should gate publishing, not the build job itself, so build can proceed in parallel with unit tests instead of waiting on them.
…g build Adds build-py313 mirroring the build job's compile/package steps under Python 3.13, without uploading artifacts or publishing anywhere downstream - it only verifies the package builds successfully. run-unit-tests-py39 is now a required upstream of build, and run-unit-tests-py313 is now a required upstream of build-py313, so each Python version's unit tests gate its own build job. Both build and build-py313 gate pre-publish.
…508) - `run-modinput-tests` and `run-ucc-modinput-tests` jobs use new `matrix_splunkModinput` output (from `addonfactory-test-matrix-action`) which contains two entries for Splunk 9.4: `serverConfPythonVersion: python3` and `serverConfPythonVersion: force_python3` — resulting in two separate test runs per modinput job - All other test types (btool, knowledge, ui, upgrade, scripted inputs, spl2) use `matrix_Splunk` (standard output, no variants) — single run per Splunk version as before - `server-conf-python-version` is passed to `wfe-test-runner-action` only for modinput and ucc-modinput jobs; all other jobs pass empty string - Default values restored: `k8s-manifests-branch` → `v4.2`, `addonfactory-test-matrix-action` → `@v3.1`, `wfe-test-runner-action` → `@v5.2` ## Why Splunk 9.4 requires explicit `python.version` configuration in `server.conf [general]`. Only modinput tests are affected — they execute scripted inputs whose Python version is controlled by this setting. Running two variants (`python3` and `force_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` — provides `supportedSplunkModinput` output - `splunk/wfe-test-runner-action` — provides `server-conf-python-version` input forwarding - `splunk/ta-automation-k8s-manifests` — applies `python.version` in the Splunk pod ## Test plan - [x] Verify PR to `main` triggers 2 modinput runs for Splunk 9.4 (`python3` and `force_python3`) - [x] Verify all other test types have 1 run per Splunk version (no duplicate 9.4 runs) - [x] Verify `btool server list general | grep python` returns correct value in each modinput run - [x] Verify non-9.4 Splunk versions are unaffected --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Marcin Kolasinski <mkolasinski@splunk.com> Co-authored-by: mkolasinski-splunk <105011638+mkolasinski-splunk@users.noreply.github.com>
Fixes stale defaults (k8s-manifests-branch, python-version, gs-image-version), documents spl2-generate and fossa-ignore-vulnerabilities inputs, and notes the modinput python.version matrix variants and split unit-test jobs.
|
Artifact name collisions for expanded modinput matrix: |
|
Release PRs select the full matrix but do not enable the tests |
nayanak-896
left a comment
There was a problem hiding this comment.
Reviewed the PR changes and provided comments.
Description
Release 5.6.0 of the reusable workflow.
python.versionserver.conf variants (python3,force_python3) per Splunk version, driven byaddonfactory-test-matrix-action@v3.3'ssupportedSplunkModinputoutput and forwarded viawfe-test-runner-action@v5.3's newserver-conf-python-versioninput. Applies torun-modinput-testsandrun-ucc-modinput-tests.release/*/mainbranches.run-unit-tests-py39,run-unit-tests-py313), with a newbuild-py313job depending on the matching unit test job;buildremains gated on the 3.9 run. Poetry pinned to a version compatible with both.k8s-manifests-branch→v4.3,gs-image-version→1.2, poetry2.2.1,poetry-plugin-export1.9.0) andpython-versiondefault reverted to3.9.Tests:
https://github.com/splunk/splunk-add-on-for-box/pull/819
https://github.com/splunk/splunk-add-on-for-crowdstrike-fdr/pull/988
https://github.com/splunk/splunk-add-on-for-salesforce/pull/899
https://github.com/splunk/splunk-add-on-for-amazon-web-services/pull/1710
Checklist
README.mdhas been updated or is not requiredTesting done
(pending)