Skip to content

feat(ci): add Test PyPI release workflow for splunk-ao#43

Closed
adityamehra wants to merge 20 commits into
mainfrom
feat/release-splunk-ao-test-pypi
Closed

feat(ci): add Test PyPI release workflow for splunk-ao#43
adityamehra wants to merge 20 commits into
mainfrom
feat/release-splunk-ao-test-pypi

Conversation

@adityamehra

Copy link
Copy Markdown
Member

Summary

  • Adds .github/workflows/release-splunk-ao-test.yaml — a workflow_dispatch pipeline that builds and publishes the splunk-ao package to Test PyPI
  • Uses PyPI Trusted Publisher (OIDC) — no stored API token needed
  • Matches the pending Trusted Publisher already configured on test.pypi.org (workflow: release-splunk-ao-test.yaml, environment: testpypi)

How it works

  1. Trigger manually from the Actions tab with an optional version override
  2. If a version is supplied, it patches pyproject.toml and src/splunk_ao/__init__.py locally (no commit back to the branch)
  3. Builds the package with Poetry 2.4.1
  4. Publishes to Test PyPI via OIDC

Test plan

Made with Cursor

adityamehra and others added 20 commits June 16, 2026 15:51
…ses (HYBIM-716)

Core package (galileo-adk/src/galileo_adk/):
- Rename GalileoADKCallback -> SplunkAOADKCallback
- Rename GalileoADKObserver -> SplunkAOADKObserver
- Rename GalileoADKPlugin -> SplunkAOADKPlugin
- Rename GALILEO_* env vars -> SPLUNK_AO_* throughout callback.py, decorator.py,
  observer.py, plugin.py
- Update __init__.py exports to SplunkAO* names
- Update pyproject.toml: galileo dependency -> splunk-ao

Core SDK (src/splunk_ao/config.py):
- Add ("SPLUNK_AO_API_URL", "GALILEO_API_URL") to _bridge_env_vars()
  so SPLUNK_AO_API_URL is correctly passed to galileo-core for self-hosted deployments

Documentation (galileo-adk/README.md):
- Replace GalileoADK* class names with SplunkAOADK* in all code examples
- Replace GALILEO_* env vars -> SPLUNK_AO_* in configuration tables
- Update brand mentions (Galileo -> Splunk AO)

Tests:
- Update all class names and env var references in test_callback.py, test_observer.py,
  test_plugin.py, test_retriever.py

Co-authored-by: Cursor <cursoragent@cursor.com>
- Rename PyPI package: galileo-adk -> splunk-ao-adk
- Reset version to 0.1.0 (__init__.py + pyproject.toml)
- Update description, authors (Splunk Inc.), repository URL
- Replace galileo dependency with splunk-ao>=2.0.0,<3.0.0
- Update tool.uv.sources key: galileo -> splunk-ao
- Update semantic_release tags: galileo-adk-v* -> splunk-ao-adk-v*
- Replace galileo-core[testing] with splunk-ao[otel] in dev deps
- Update ruff isort known-first-party to splunk_ao
- Update README: badges and pip install -> splunk-ao-adk

Co-authored-by: Cursor <cursoragent@cursor.com>
…nk_ao_adk

- Rename top-level directory: galileo-adk/ -> splunk-ao-adk/
- Rename source package: src/galileo_adk/ -> src/splunk_ao_adk/
- Update all internal imports: galileo_adk -> splunk_ao_adk in all .py files
- Update pyproject.toml: packages, coverage.source, semantic_release.version_variables,
  ruff.isort.known-first-party to reference splunk_ao_adk
- Update tests: all from/import/patch paths now use splunk_ao_adk

Co-authored-by: Cursor <cursoragent@cursor.com>
…esting] (PR #32 review)

- Lower splunk-ao runtime dep floor: >=2.0.0 -> >=0.1.0,<1.0.0 to match
  actual package version (was unsatisfiable from PyPI)
- Lower splunk-ao[otel] dev dep floor: >=2.0.0 -> >=0.1.0,<1.0.0
- Re-add galileo-core[testing]>=3.82.0 dev dep: provides the mock_request
  fixture (autouse in conftest.py and mocks.py) that the test suite requires;
  splunk-ao[otel] alone does not include the testing extras

Co-authored-by: Cursor <cursoragent@cursor.com>
Adds test-splunk-ao-adk.yaml to run unit tests on pull requests and pushes
to main that touch the splunk-ao-adk package.

Key differences from the galileo-python reference workflow:
- Removes galileo-version min/latest matrix; splunk-ao is always installed as
  a local editable from the monorepo root via [tool.uv] sources in pyproject.toml
- Python matrix: 3.10, 3.12, 3.13, 3.14 (drops 3.11, adds 3.14)
- pytest pythonpath ".." (repo root) makes test_support importable without extra steps
- Coverage upload pinned to Python 3.13 (replaces 3.11 + latest axis)

Co-authored-by: Cursor <cursoragent@cursor.com>
…rsions step

Co-authored-by: Cursor <cursoragent@cursor.com>
… step

Co-authored-by: Cursor <cursoragent@cursor.com>
…L_ENV pip routing

Co-authored-by: Cursor <cursoragent@cursor.com>
…n global uv config

Co-authored-by: Cursor <cursoragent@cursor.com>
…index

Project-level uv.toml with [[index]] replaces (not merges with) the list
in ~/.config/uv/uv.toml, so the Splunk Artifactory mirror that does not
carry all public PyPI packages is bypassed for this subpackage.

Also fix the ci-tests workflow path trigger to reference the new filename,
and revert the ineffective [[tool.uv.index]] approach from pyproject.toml.

Co-authored-by: Cursor <cursoragent@cursor.com>
list dependencies
Co-authored-by: Cursor <cursoragent@cursor.com>
@adityamehra

Copy link
Copy Markdown
Member Author

Superseded by a PR based off main.

@github-actions github-actions Bot locked and limited conversation to collaborators Jun 25, 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