Skip to content

ci: add test workflow across Python 3.10-3.13 and all OSes#14

Merged
adityamehra merged 1 commit into
mainfrom
feat/add-test-workflow
Jun 8, 2026
Merged

ci: add test workflow across Python 3.10-3.13 and all OSes#14
adityamehra merged 1 commit into
mainfrom
feat/add-test-workflow

Conversation

@adityamehra

Copy link
Copy Markdown
Member

Summary

  • Adds a CI test workflow (ci-tests.yaml) based on galileo-python's test.yaml
  • Pins all GitHub Actions to their SHA hashes instead of mutable version tags (same convention as splunk-otel-python-contrib)
  • Uses poetry + invoke for dependency installation and test execution

Changes from galileo-python test.yaml

galileo-python splunk-ao-python
Codecov upload ✅ included ❌ removed (no token)
fail-fast default (true) false — all matrix jobs run even if one fails
if: always() not set ✅ set on Validate Types and Run Tests steps
Python versions 3.10 – 3.14 3.10 – 3.13 (aligns with splunk-otel-python-contrib)
Windows exclusion for 3.14 ✅ exclude block not needed (3.14 removed)
Action refs @v4 / @v5 mutable tags SHA-pinned hashes
Concurrency group not set ✅ cancels stale runs on new pushes

Matrix

os:             [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.10", "3.11", "3.12", "3.13"]

12 jobs total per run.

Required project setup (before this workflow is meaningful)

This workflow depends on invoke tasks defined in a tasks.py at the repo root:

  • invoke install — installs project + dev dependencies via poetry
  • invoke type-check — runs mypy or equivalent type checking
  • invoke test-report-xml — runs pytest and outputs JUnit XML

These tasks need to be added alongside a pyproject.toml as the project takes shape.

Test plan

  • Add a minimal pyproject.toml, tasks.py, and a placeholder test, then verify the workflow runs green on all 12 matrix jobs
  • Introduce a deliberate test failure and verify that other matrix jobs still complete (fail-fast: false)
  • Verify if: always() causes the test step to run even when the type-check step fails

Made with Cursor

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
adityamehra merged commit 13f2a22 into main Jun 8, 2026
12 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 8, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant