Skip to content

Commit

Permalink
Update to use pyproject.toml and trusted deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
amykyta3 committed Oct 30, 2023
1 parent 384bc41 commit a29b089
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 71 deletions.
28 changes: 19 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ on:
types:
- published

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:


jobs:
test:
Expand All @@ -24,6 +27,7 @@ jobs:
- 3.9
- "3.10"
- "3.11"
- "3.12"
include:
- os: ubuntu-latest

Expand Down Expand Up @@ -125,12 +129,12 @@ jobs:
mypy --config-file tests/mypy.ini src/peakrdl_ipxact
#-------------------------------------------------------------------------------
build_sdist:
build:
needs:
- test
- lint
- mypy
name: Build source distribution
name: Build distributions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -140,19 +144,28 @@ jobs:
with:
python-version: "3.10"

- name: Build sdist
run: python setup.py sdist
- name: Install dependencies
run: |
python -m pip install -U build
- name: Build
run: python -m build

- uses: actions/upload-artifact@v3
with:
path: dist/*.tar.gz
path: |
dist/*.tar.gz
dist/*.whl
#-------------------------------------------------------------------------------
deploy:
needs:
- build_sdist
- build

runs-on: ubuntu-latest
environment: release
permissions:
id-token: write

# Only publish when a GitHub Release is created.
if: github.event_name == 'release'
Expand All @@ -163,6 +176,3 @@ jobs:
path: dist

- uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.pypi_password }}
17 changes: 17 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

version: 2

build:
os: ubuntu-22.04
tools:
python: "3.11"

sphinx:
configuration: docs/conf.py

python:
install:
- requirements: docs/requirements.txt
- method: pip
path: .
54 changes: 54 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "peakrdl-ipxact"
dynamic = ["version"]
requires-python = ">=3.5.2"
dependencies = [
"systemrdl-compiler >= 1.24.0, < 2",
]

authors = [
{name="Alex Mykyta"},
]
description = "Import and export IP-XACT XML to/from the systemrdl-compiler register model"
readme = "README.md"
license = {file = "LICENSE"}
keywords = [
"SystmRDL", "PeakRDL", "CSR", "compiler", "tool", "registers", "generator",
"IP-XACT",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
]

[project.urls]
Documentation = "https://peakrdl-ipxact.readthedocs.io"
Source = "https://github.com/SystemRDL/PeakRDL-ipxact"
Tracker = "https://github.com/SystemRDL/PeakRDL-ipxact/issues"
Changelog = "https://github.com/SystemRDL/PeakRDL-ipxact/releases"

[tool.setuptools.dynamic]
version = {attr = "peakrdl_ipxact.__about__.__version__"}

[project.entry-points."peakrdl.exporters"]
ip-xact = "peakrdl_ipxact.__peakrdl__:Exporter"

[project.entry-points."peakrdl.importers"]
ip-xact = "peakrdl_ipxact.__peakrdl__:Importer"
62 changes: 0 additions & 62 deletions setup.py

This file was deleted.

0 comments on commit a29b089

Please sign in to comment.