Skip to content

Commit 74f22ca

Browse files
MultiMailH179922
authored andcommitted
ci: tag-triggered PyPI publish via OIDC trusted publishing + bump 0.1.1 (GHST-860)
Adds .github/workflows/publish.yml — on a v* tag, builds and publishes to PyPI using Trusted Publishing (OIDC; no stored token; id-token: write scoped to the publish job; environment: pypi; actions SHA-pinned). Bumps version 0.1.0 -> 0.1.1 to prepare the first automated release. Unfreezes the SDK (frozen at 0.1.0 since 2026-03-08 with no publish automation). The actual publish is operator-gated on the one-time PyPI trusted-publisher config + pushing the v0.1.1 tag.
1 parent 93aa8d2 commit 74f22ca

2 files changed

Lines changed: 37 additions & 1 deletion

File tree

.github/workflows/publish.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Publish to PyPI
2+
3+
# Tag-triggered release via PyPI Trusted Publishing (OIDC) — no stored token.
4+
# One-time setup (maintainer, on PyPI): add a Trusted Publisher for this package
5+
# (owner: multimail-dev, repo: <this repo>, workflow: publish.yml, environment: pypi).
6+
# Cut a release: bump `version` in pyproject.toml, commit, then `git tag vX.Y.Z && git push origin vX.Y.Z`.
7+
8+
on:
9+
push:
10+
tags:
11+
- 'v*'
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
publish:
18+
runs-on: ubuntu-latest
19+
environment:
20+
name: pypi
21+
permissions:
22+
id-token: write # OIDC token for PyPI Trusted Publishing
23+
contents: read
24+
steps:
25+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
26+
with:
27+
persist-credentials: false
28+
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
29+
with:
30+
python-version: '3.x'
31+
- name: Build distributions
32+
run: |
33+
python -m pip install --upgrade build
34+
python -m build
35+
- name: Publish to PyPI (Trusted Publishing / OIDC)
36+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "multimail"
7-
version = "0.1.0"
7+
version = "0.1.1"
88
description = "Python SDK for the MultiMail API — email infrastructure for AI agents"
99
readme = "README.md"
1010
license = "MIT"

0 commit comments

Comments
 (0)