Skip to content

Publish to PyPi

Publish to PyPi #21

Workflow file for this run

name: Publish to PyPi
on:
release:
types: [created]
jobs:
pypi-publish:
name: Publish release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/singbox2proxy
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools wheel pytest pytest-asyncio build
python -m pip install -r requirements.txt
- name: Build package
run: |
python -m build
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
pypi-publish-alias:
name: Publish sb2p alias to PyPI
needs: pypi-publish
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/sb2p
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools wheel build
- name: Build sb2p alias package
run: |
V=$(python -c "import re,pathlib;print(re.search(r\"VERSION\s*=\s*[\\\"']([^\\\"']+)\",pathlib.Path('singbox2proxy/__init__.py').read_text()).group(1))")
sed -i "s/^version = .*/version = \"$V\"/" sb2p/pyproject.toml
sed -i "s/^dependencies = .*/dependencies = [\"singbox2proxy==$V\"]/" sb2p/pyproject.toml
cd sb2p
python -m build
- name: Publish sb2p to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: sb2p/dist/