Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 70 additions & 20 deletions .github/workflows/pypi-release.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,82 @@
name: Release library as a PyPI wheel and sdist on tag
name: Create library release archives, create a GH release and publish PyPI wheel and sdist on tag in main branch


# This is executed automatically on a tag in the main branch

# Summary of the steps:
# - build wheels and sdist
# - upload wheels and sdist to PyPI
# - create gh-release and upload wheels and dists there

on:
release:
types: [created]
workflow_dispatch:
push:
tags:
- "v*.*.*"

jobs:
build-and-publish-to-pypi:
build-pypi-distribs:
name: Build and publish library to PyPI
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install pypa/build and twine
run: python -m pip install --user --upgrade build twine packaging pip setuptools

- name: Install pypa/build and twine
run: python -m pip install --user --upgrade build twine packaging pip setuptools
- name: Build a binary wheel and a source tarball
run: python -m build --sdist --wheel --outdir dist/

- name: Build a binary wheel and a source tarball
run: python -m build --sdist --wheel --outdir dist/ .
- name: Validate wheel and sdis for Pypi
run: python -m twine check dist/*

- name: Upload built archives
uses: actions/upload-artifact@v4
with:
name: pypi_archives
path: dist/*


create-gh-release:
name: Create GH release
needs:
- build-pypi-distribs
runs-on: ubuntu-24.04

- name: Check wheel and sdist with twine
run: python -m twine check dist/*
steps:
- name: Download built archives
uses: actions/download-artifact@v4
with:
name: pypi_archives
path: dist

- name: Create GH release
uses: softprops/action-gh-release@v2
with:
draft: true
files: dist/*


create-pypi-release:
name: Create PyPI release
needs:
- create-gh-release
runs-on: ubuntu-24.04

steps:
- name: Download built archives
uses: actions/download-artifact@v4
with:
name: pypi_archives
path: dist

- name: Publish distribution to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
11 changes: 11 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ Changelog
next
----

5.0 (2025-04-03)
----------------

* API changes

* Drop support for Python versions older than 3.9.
* Add support by testing on Python 3.11 to 3.14
* Fix absorption issues https://github.com/bastikr/boolean.py/issues/111 and
https://github.com/bastikr/boolean.py/issues/112



4.0 (2022-05-05)
----------------
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

setup(
name="boolean.py",
version="4.0",
version="5.0",
license="BSD-2-Clause",
description="Define boolean algebras, create and parse boolean "
"expressions and create custom boolean DSL.",
Expand Down