ci: add test workflow across Python 3.10-3.13 and all OSes#14
Merged
Conversation
Adds a CI test workflow based on galileo-python's test.yaml with the following adaptations: - Removed codecov upload (no codecov token configured) - Added fail-fast: false so all matrix jobs run even if one fails - Added if: always() on type-check and test steps to match splunk-otel-python-contrib's ci-main.yaml failure/success semantics - Removed Python 3.14 to align with splunk-otel-python-contrib matrix - Pinned GitHub Action references to SHA hashes - Added concurrency group to cancel stale runs on new pushes Co-authored-by: Cursor <cursoragent@cursor.com>
adityamehra
requested review from
breedx-splk,
keith-decker,
pradystar and
shuningc
June 8, 2026 20:10
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
ci-tests.yaml) based on galileo-python's test.yamlpoetry+invokefor dependency installation and test executionChanges from galileo-python test.yaml
fail-fasttrue)false— all matrix jobs run even if one failsif: always()Validate TypesandRun Testssteps@v4/@v5mutable tagsMatrix
12 jobs total per run.
Required project setup (before this workflow is meaningful)
This workflow depends on
invoketasks defined in atasks.pyat the repo root:invoke install— installs project + dev dependencies via poetryinvoke type-check— runs mypy or equivalent type checkinginvoke test-report-xml— runs pytest and outputs JUnit XMLThese tasks need to be added alongside a
pyproject.tomlas the project takes shape.Test plan
pyproject.toml,tasks.py, and a placeholder test, then verify the workflow runs green on all 12 matrix jobsfail-fast: false)if: always()causes the test step to run even when the type-check step failsMade with Cursor