From 283013b1768db7006e07a7e716004ad92643a634 Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 14 Oct 2026 19:28:03 -0500 Subject: [PATCH] chore: release-please and PyPI publishing, ready to go public - release-please (manifest mode) opens release PRs from conventional commits; the first release is 1.0.0 (initial-version). It updates version.py through the x-release-please-version marker. - release-build publishes to PyPI with the PYPI_TOKEN secret, the same workflows as kiwix-mcp. - "Private :: Do Not Upload" removed; status badge (Active) per the OscillateLabs standards. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KjZYoJmprjrVro214krcYK --- .github/workflows/release-build.yml | 25 +++++++++++++++++++++++++ .github/workflows/release-please.yml | 25 +++++++++++++++++++++++++ .release-please-manifest.json | 1 + README.md | 2 ++ ovos_switchboard/version.py | 2 +- pyproject.toml | 2 -- release-please-config.json | 14 ++++++++++++++ 7 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/release-build.yml create mode 100644 .github/workflows/release-please.yml create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml new file mode 100644 index 0000000..2a7bb6d --- /dev/null +++ b/.github/workflows/release-build.yml @@ -0,0 +1,25 @@ +name: Release Build + +on: + release: + types: [created] + workflow_call: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Install build tools + run: python -m pip install build wheel + - name: Build package + run: python -m build + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..8917392 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,25 @@ +name: release-please + +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +jobs: + release-please: + runs-on: ubuntu-latest + outputs: + release_created: ${{ steps.release.outputs.release_created }} + steps: + - uses: googleapis/release-please-action@v4 + id: release + + publish: + needs: release-please + if: needs.release-please.outputs.release_created == 'true' + uses: ./.github/workflows/release-build.yml + secrets: inherit diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1 @@ +{} diff --git a/README.md b/README.md index 511b62b..812694c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Switchboard +[![Status: Active](https://img.shields.io/badge/status-active-brightgreen)](https://github.com/OscillateLabsLLC/.github/blob/main/SUPPORT_STATUS.md) + Switchboard decides which OVOS skill should handle what someone says, and stays silent when the speech wasn't meant for the assistant. It replaces OVOS's intent matchers (Padatious, Adapt, Model2Vec) with a few steps that each had to prove themselves on real household traffic before they were kept. diff --git a/ovos_switchboard/version.py b/ovos_switchboard/version.py index dfb0921..d33f0fe 100644 --- a/ovos_switchboard/version.py +++ b/ovos_switchboard/version.py @@ -1,3 +1,3 @@ # START_VERSION_BLOCK -__version__ = "0.1.0" +__version__ = "0.1.0" # x-release-please-version # END_VERSION_BLOCK diff --git a/pyproject.toml b/pyproject.toml index 8e935a8..295d3d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,8 +13,6 @@ authors = [ ] keywords = ["ovos", "neon", "pipeline", "intent", "voice", "llm", "switchboard"] classifiers = [ - # Guards against an accidental `uv publish` reaching PyPI while the repo is private. - "Private :: Do Not Upload", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..c38d30e --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,14 @@ +{ + "packages": { + ".": { + "release-type": "python", + "initial-version": "1.0.0", + "extra-files": [ + { + "type": "generic", + "path": "ovos_switchboard/version.py" + } + ] + } + } +} \ No newline at end of file