Skip to content

Commit 10dbd4f

Browse files
Create check of built packages (#557)
--------- Co-authored-by: Ariel Schulz <ariel.schulz@exasol.com>
1 parent cca9bd2 commit 10dbd4f

File tree

14 files changed

+1349
-622
lines changed

14 files changed

+1349
-622
lines changed

.github/workflows/checks.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,25 @@ jobs:
160160
- name: Run format check
161161
run: poetry run -- nox -s project:format
162162

163+
Build-Packages:
164+
name: Build Package Check
165+
needs: [ Documentation, Lint, Type-Check, Security, Format ]
166+
runs-on: ubuntu-24.04
167+
permissions:
168+
contents: read
169+
steps:
170+
- name: SCM Checkout
171+
uses: actions/checkout@v4
172+
173+
- name: Setup Python & Poetry Environment
174+
uses: ./.github/actions/python-environment
175+
176+
- name: Run Distribution Check
177+
run: poetry run -- nox -s package:check
178+
163179
Tests:
164180
name: Unit-Tests (Python-${{ matrix.python-version }})
165-
needs: [ Documentation, Lint, Type-Check, Security, Format, build-matrix ]
181+
needs: [ Build-Packages, build-matrix ]
166182
runs-on: ubuntu-24.04
167183
permissions:
168184
contents: read

README.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

README.rst

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Exasol Toolbox
2+
==============
3+
4+
Your one-stop solution for managing all standard tasks and core workflows of your Python project.
5+
6+
.. image:: https://github.com/exasol/python-toolbox/actions/workflows/ci.yml/badge.svg?branch=main
7+
:target: https://github.com/exasol/python-toolbox/actions/workflows/ci.yml
8+
:alt: Checks Main
9+
10+
.. image:: https://img.shields.io/pypi/l/exasol-toolbox
11+
:target: https://opensource.org/licenses/MIT
12+
:alt: License
13+
14+
.. image:: https://img.shields.io/pypi/dm/exasol-toolbox
15+
:target: https://pypi.org/project/exasol-toolbox/
16+
:alt: Downloads
17+
18+
.. image:: https://img.shields.io/pypi/pyversions/exasol-toolbox
19+
:target: https://pypi.org/project/exasol-toolbox/
20+
:alt: Supported Python Versions
21+
22+
.. image:: https://img.shields.io/pypi/v/exasol-toolbox
23+
:target: https://pypi.org/project/exasol-toolbox/
24+
:alt: PyPi Package
25+
26+
🚀 Features
27+
-----------
28+
29+
- Centrally managed standard tasks:
30+
- code formatting & upgrading
31+
- linting
32+
- type-checking
33+
- unit-tests
34+
- integration-tests
35+
- coverage
36+
- documentation
37+
38+
- Centrally managed core workflows:
39+
- workspace/project verification
40+
- build and publish releases
41+
- build and publish documentation
42+
43+
- Configurable & Extensible:
44+
- Project configuration
45+
- Event hooks
46+
47+
🔌️ Prerequisites
48+
-----------------
49+
50+
- `Python <https://www.python.org/>`__ >= 3.9
51+
52+
💾 Installation
53+
---------------
54+
55+
.. code-block:: shell
56+
57+
pip install exasol-toolbox
58+
59+
📚 Documentation
60+
----------------
61+
62+
For further details, check out the latest `documentation <https://exasol.github.io/python-toolbox/>`_.

doc/changes/unreleased.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
# Unreleased
2+
3+
## Feature
4+
5+
* #494: Created check of built packages with nox session `package:check`

exasol/toolbox/nox/_package.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from __future__ import annotations
2+
3+
import nox
4+
from nox import Session
5+
6+
from noxconfig import PROJECT_CONFIG
7+
8+
9+
@nox.session(name="package:check", python=False)
10+
def package_check(session: Session) -> None:
11+
"""Checks whether your distribution’s long description will render correctly on PyPI
12+
13+
This has more robust checks for rst documentation than markdown.
14+
"""
15+
session.run("poetry", "build", "--project", PROJECT_CONFIG.root)
16+
session.run("twine", "check", PROJECT_CONFIG.root / "./dist/*")

exasol/toolbox/nox/tasks.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,7 @@ def check(session: Session) -> None:
8888

8989
from exasol.toolbox.nox._package_version import version_check
9090

91+
from exasol.toolbox.nox._package import package_check
92+
9193
# isort: on
9294
# fmt: on

exasol/toolbox/templates/github/workflows/checks.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,25 @@ jobs:
160160
- name: Run format check
161161
run: poetry run -- nox -s project:format
162162

163+
Build-Packages:
164+
name: Build Package Check
165+
needs: [ Documentation, Lint, Type-Check, Security, Format ]
166+
runs-on: ubuntu-24.04
167+
permissions:
168+
contents: read
169+
steps:
170+
- name: SCM Checkout
171+
uses: actions/checkout@v4
172+
173+
- name: Setup Python & Poetry Environment
174+
uses: exasol/python-toolbox/.github/actions/python-environment@v1
175+
176+
- name: Run Distribution Check
177+
run: poetry run -- nox -s package:check
178+
163179
Tests:
164180
name: Unit-Tests (Python-${{ matrix.python-version }})
165-
needs: [ Documentation, Lint, Type-Check, Security, Format, build-matrix ]
181+
needs: [ Build-Packages, build-matrix ]
166182
runs-on: ubuntu-24.04
167183
permissions:
168184
contents: read

0 commit comments

Comments
 (0)