diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9907ded7..c38c32de 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -71,11 +71,30 @@ jobs: parallel-finished: true format: cobertura + test-distribution: + name: Check built package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install wheel twine setuptools + - name: Build distribution files + run: python setup.py bdist_wheel sdist + - name: Check distribution files + run: twine check dist/* + deploy-tag-to-pypi: # only deploy on tags, see https://stackoverflow.com/a/58478262/1320237 if: startsWith(github.ref, 'refs/tags/v') needs: - run-tests + - test-distribution runs-on: ubuntu-latest # This environment stores the TWINE_USERNAME and TWINE_PASSWORD # see https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment @@ -92,11 +111,11 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.12" - name: Install dependencies run: | python -m pip install --upgrade pip - pip install wheel twine + pip install wheel twine setuptools - name: Check the tag run: | PACKAGE_VERSION=`python setup.py --version` @@ -133,7 +152,8 @@ jobs: # only deploy on tags, see https://stackoverflow.com/a/58478262/1320237 if: startsWith(github.ref, 'refs/tags/v') needs: - - run-tests + - run-tests + - test-distribution runs-on: ubuntu-latest environment: name: github-release diff --git a/CHANGES.rst b/CHANGES.rst index f9af3794..cec2b269 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -19,6 +19,7 @@ Minor changes: - Remove 4.x badge - Update list of ``tox`` environments - Use Coveralls' GitHub Action +- Check distribution in CI Breaking changes: diff --git a/README.rst b/README.rst index 931f3246..3c7b2900 100644 --- a/README.rst +++ b/README.rst @@ -47,7 +47,7 @@ files. .. _`BSD`: https://github.com/collective/icalendar/issues/2 Quick start guide ------------------ +================= ``icalendar`` enables you to **create**, **inspect** and **modify** calendaring information with Python. @@ -58,7 +58,7 @@ To **install** the package, run:: Inspect Files -~~~~~~~~~~~~~ +------------- You can open an ``.ics`` file and see all the events:: @@ -74,7 +74,7 @@ You can open an ``.ics`` file and see all the events:: International Women's Day Modify Content -~~~~~~~~~~~~~~ +-------------- Such a calendar can then be edited and saved again. @@ -91,7 +91,7 @@ Such a calendar can then be edited and saved again. Create Events, TODOs, Journals, Alarms, ... -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------- ``icalendar`` supports the creation and parsing of all kinds of objects in the iCalendar (RFC 5545) standard. @@ -114,7 +114,7 @@ Have a look at `more examples `_. Use timezones of your choice -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------- With ``icalendar``, you can localize your events to take place in different timezones. @@ -141,7 +141,7 @@ with the same result: END:VEVENT Version 6 with zoneinfo -~~~~~~~~~~~~~~~~~~~~~~~ +----------------------- Version 6 of ``icalendar`` switches the timezone implementation to ``zoneinfo``. This only affects you if you parse ``icalendar`` objects with ``from_ical()``. diff --git a/setup.py b/setup.py index 420690e3..016ce0d9 100644 --- a/setup.py +++ b/setup.py @@ -32,6 +32,7 @@ version=version, description=shortdesc, long_description=longdesc, + long_description_content_type="text/x-rst", classifiers=[ # https://pypi.python.org/pypi?%3Aaction=list_classifiers 'Development Status :: 3 - Alpha', 'Intended Audience :: Developers',