Skip to content

Commit

Permalink
Switch to pyproject.toml from setup.py (#73)
Browse files Browse the repository at this point in the history
* Switch to pyproject.toml from setup.py

Fixes #66
  • Loading branch information
jcjones authored Feb 29, 2024
1 parent 57ef9fe commit 1f648f4
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 51 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Install Linting Tools
run: |
python -m pip install --upgrade pip
pip install --user pylint==3.1.0 pytest ruff
pip install --user pylint==3.1.0 pytest ruff validate-pyproject[all]
- name: Install Partition Manager
run: |
Expand All @@ -35,6 +35,10 @@ jobs:
run: |
python -m ruff --output-format=github
- name: Checking pyproject
run: |
validate-pyproject pyproject.toml
test:
runs-on: ubuntu-latest

Expand Down
29 changes: 7 additions & 22 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,14 @@ on:
push:
tags:
- "v*"
workflow_dispatch:

jobs:
release:
name: release
runs-on: ubuntu-latest

steps:
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: 1.17

- name: Setup python
uses: actions/setup-python@v2
with:
Expand All @@ -31,9 +27,8 @@ jobs:
- name: Install packages
run: |
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y build-essential python-setuptools python3-pip
pip3 install setuptools
sudo apt-get install -y build-essential python3-pip
pip3 install build
- name: Checkout
uses: actions/checkout@v2
Expand All @@ -44,26 +39,16 @@ jobs:
id: get_version
uses: battila7/get-version-action@v2

- name: Install nFPM
run: |
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v2.11.3
- name: Build partition-manager
run: |
mkdir install
python3 setup.py install --root "install/" --prefix "/usr/local" --install-lib "/usr/lib/python3/dist-packages"
- name: Build deb
run: |
SEMVER=${{ steps.get_version.outputs.version }}
mkdir nfpm-pkg
nfpm package -p deb --target "nfpm-pkg/"
python3 -m build
- name: "Publish release"
uses: "marvinpinto/action-automatic-releases@d68defdd11f9dcc7f52f35c1b7c236ee7513bcc1"
uses: "marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "${{ steps.get_version.outputs.version }}"
title: "partition-manager ${{ steps.get_version.outputs.version }}"
files: |
nfpm-pkg/*.deb
dist/*.whl
dist/*.tar.gz
5 changes: 4 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ repos:
- pyyaml
- pytest
- setuptools

- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.16
hooks:
- id: validate-pyproject
- repo: local
hooks:
- id: pytest
Expand Down
36 changes: 36 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "mariadb-sequential-partition-manager"
maintainers = [
{name = "J.C. Jones", email = "jc@letsencrypt.org"},
]
version = "0.4.0"
description = "Manage DB partitions based on sequential IDs"
license = {file = "LICENSE.txt"}
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Programming Language :: Python :: 3",
]
keywords = ["database", "mariadb"]
dependencies = [
"pyyaml"
]
requires-python = ">=3.8"
readme = "README.md"

[tool.hatch.build.targets.wheel]
packages = ["partitionmanager"]

[project.optional-dependencies]
pymysql = ["PyMySQL >= 1.0.2"]

[project.urls]
Repository = "http://github.com/letsencrypt/mariadb-sequential-partition-manager"

[project.scripts]
partition-manager = "partitionmanager.cli:main"

[tool.ruff]
line-length = 99 # default is 88
target-version = "py38"
Expand Down
27 changes: 0 additions & 27 deletions setup.py

This file was deleted.

4 changes: 4 additions & 0 deletions wheel2deb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
mariadb-sequential-partition-manager:
maintainer_name: "Let's Encrypt"
maintainer_email: "opensource@letsencrypt.org"
extended_desc: "Manage DB partitions based on sequential IDs"

0 comments on commit 1f648f4

Please sign in to comment.