Skip to content

Commit 05d97fb

Browse files
authored
dan/per-12313-release-fastapi-ws-rpc-pubsub (#91)
* Update permit-broadcaster version constraints to <1 in requirements * Add CD workflow for building and publishing to PyPI
1 parent b5b3e40 commit 05d97fb

File tree

5 files changed

+55
-6
lines changed

5 files changed

+55
-6
lines changed

.github/workflows/release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Build and publish to Pypi
2+
on:
3+
release:
4+
# job will automatically run after a new "release" is create on github.
5+
types: [published]
6+
7+
jobs:
8+
publish_fastapi_websocket_rpc:
9+
runs-on: ubuntu-latest
10+
environment:
11+
name: pypi
12+
url: https://pypi.org/p/permit
13+
permissions:
14+
id-token: write
15+
contents: write # 'write' access to repository contents
16+
pull-requests: write # 'write' access to pull requests
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Python setup
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: '3.11.8'
25+
26+
- name: Bump version and build package
27+
run: |
28+
# Get version tag and remove 'v' prefix
29+
version_tag=${{ github.event.release.tag_name }}
30+
version_tag=${version_tag#v}
31+
32+
# Update version in setup.py
33+
sed -i "s/version=\"[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\"/version=\"$version_tag\"/" setup.py
34+
35+
# Print version for verification
36+
echo "Version being published: $version_tag"
37+
cat setup.py | grep version=
38+
39+
- name: Build Python package
40+
run: |
41+
pip install wheel
42+
python setup.py sdist bdist_wheel
43+
44+
# Publish package distributions to PyPI
45+
- name: Publish package distributions to PyPI
46+
uses: pypa/gh-action-pypi-publish@release/v1
47+
with:
48+
password: ${{ secrets.PYPI_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,4 @@ dmypy.json
130130

131131
# editors
132132
.vscode/
133+
.idea/

requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ wheel
66
loguru
77
uvicorn
88
pytest-timeout
9-
permit-broadcaster[redis,postgres,kafka]>=0.2.5,<3
9+
permit-broadcaster[redis,postgres,kafka]>=0.2.5,<1

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ fastapi-websocket-rpc>=0.1.25,<1
22
packaging>=20.4
33
pydantic>=1.9.1
44
websockets>=14.0
5-
permit-broadcaster>=0.2.5,<3
5+
permit-broadcaster>=0.2.5,<1

setup.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ def get_requirements(env=""):
3131
python_requires=">=3.9",
3232
install_requires=get_requirements(),
3333
extras_require = {
34-
"redis": ["permit-broadcaster[redis]>=0.2.5,<3"],
35-
"postgres": ["permit-broadcaster[postgres]>=0.2.5,<3"],
36-
"kafka": ["permit-broadcaster[kafka]>=0.2.5,<3"],
37-
"all": ["permit-broadcaster[redis,postgres,kafka]>=0.2.5,<3"],
34+
"redis": ["permit-broadcaster[redis]>=0.2.5,<1"],
35+
"postgres": ["permit-broadcaster[postgres]>=0.2.5,<1"],
36+
"kafka": ["permit-broadcaster[kafka]>=0.2.5,<1"],
37+
"all": ["permit-broadcaster[redis,postgres,kafka]>=0.2.5,<1"],
3838
}
3939
)

0 commit comments

Comments
 (0)