This commit is contained in:
Melissa LeBlanc-Williams 2023-09-12 11:48:59 -07:00
commit c6bf44ccd9
6 changed files with 78 additions and 93 deletions

View file

@ -10,31 +10,27 @@ jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Translate Repo Name For Build Tools filename_prefix - name: Translate Repo Name For Build Tools filename_prefix
id: repo-name id: repo-name
run: | run: |
echo ::set-output name=repo-name::$( echo repo-name=$(
echo ${{ github.repository }} | echo ${{ github.repository }} |
awk -F '\/' '{ print tolower($2) }' | awk -F '\/' '{ print tolower($2) }' |
tr '_' '-' tr '_' '-'
) ) >> $GITHUB_OUTPUT
- name: Set up Python 3.7 - name: Set up Python 3.x
uses: actions/setup-python@v1 uses: actions/setup-python@v4
with: with:
python-version: 3.7 python-version: '3.x'
- name: Versions - name: Versions
run: | run: |
python3 --version python3 --version
- name: Checkout Current Repo - name: Checkout Current Repo
uses: actions/checkout@v1 uses: actions/checkout@v3
with: with:
submodules: true submodules: true
- name: Checkout tools repo - name: Checkout tools repo
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
repository: adafruit/actions-ci-circuitpython-libs repository: adafruit/actions-ci-circuitpython-libs
path: actions-ci path: actions-ci
@ -44,26 +40,23 @@ jobs:
source actions-ci/install.sh source actions-ci/install.sh
- name: Pip install pylint, Sphinx, pre-commit - name: Pip install pylint, Sphinx, pre-commit
run: | run: |
pip install --force-reinstall pylint Sphinx sphinx-rtd-theme pre-commit pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit
- name: Library version - name: Library version
run: git describe --dirty --always --tags run: git describe --dirty --always --tags
- name: Pre-commit hooks - name: Pre-commit hooks
run: | run: |
pre-commit run --all-files pre-commit run --all-files
- name: PyLint
run: |
pylint $( find . -path './adafruit*.py' )
- name: Build docs - name: Build docs
working-directory: docs working-directory: docs
run: sphinx-build -E -W -b html . _build/html run: sphinx-build -E -W -b html . _build/html
- name: Check For setup.py - name: Check For pyproject.toml
id: need-pypi id: need-pypi
run: | run: |
echo ::set-output name=setup-py::$( find . -wholename './setup.py' ) echo pyproject-toml=$( find . -wholename './pyproject.toml' ) >> $GITHUB_OUTPUT
- name: Build Python package - name: Build Python package
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py') if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
run: | run: |
pip install --upgrade setuptools wheel twine readme_renderer testresources pip install --upgrade build twine
python setup.py sdist find -type f -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) -exec sed -i -e "s/0.0.0+auto.0/1.2.3/" {} +
python setup.py bdist_wheel --universal python -m build
twine check dist/* twine check dist/*

View file

@ -12,26 +12,27 @@ jobs:
upload-pypi: upload-pypi:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v3
- name: Check For setup.py - name: Check For pyproject.toml
id: need-pypi id: need-pypi
run: | run: |
echo ::set-output name=setup-py::$( find . -wholename './setup.py' ) echo pyproject-toml=$( find . -wholename './pyproject.toml' ) >> $GITHUB_OUTPUT
- name: Set up Python - name: Set up Python
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py') if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
uses: actions/setup-python@v1 uses: actions/setup-python@v4
with: with:
python-version: '3.x' python-version: '3.x'
- name: Install dependencies - name: Install dependencies
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py') if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install setuptools wheel twine pip install --upgrade build twine
- name: Build and publish - name: Build and publish
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py') if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
env: env:
TWINE_USERNAME: ${{ secrets.pypi_username }} TWINE_USERNAME: ${{ secrets.pypi_username }}
TWINE_PASSWORD: ${{ secrets.pypi_password }} TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: | run: |
python setup.py sdist find -type f -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) -exec sed -i -e "s/0.0.0+auto.0/${{github.event.release.tag_name}}/" {} +
python -m build
twine upload dist/* twine upload dist/*

View file

@ -34,7 +34,7 @@ from datetime import datetime
from clint.textui import colored, prompt from clint.textui import colored, prompt
import adafruit_platformdetect import adafruit_platformdetect
__version__ = "0.0.0-auto.0" __version__ = "0.0.0+auto.0"
__repo__ = "https://github.com/adafruit/Adafruit_Python_Shell.git" __repo__ = "https://github.com/adafruit/Adafruit_Python_Shell.git"

View file

@ -0,0 +1,3 @@
# SPDX-FileCopyrightText: 2023 Alec Delaney, written for Adafruit Industries
#
# SPDX-License-Identifier: MIT

View file

@ -1,6 +1,54 @@
# SPDX-FileCopyrightText: 2020 Diego Elio Pettenò # SPDX-FileCopyrightText: 2020 Diego Elio Pettenò
# SPDX-FileCopyrightText: 2023 Alec Delaney for Adafruit Industries
# #
# SPDX-License-Identifier: Unlicense # SPDX-License-Identifier: Unlicense
[tool.black] [build-system]
target-version = ['py35'] requires = [
"setuptools",
"wheel",
"setuptools-scm",
]
[project]
name = "adafruit-python-shell"
description = "Python helper for running Shell scripts in Python"
version = "0.0.0+auto.0"
readme = "README.rst"
authors = [
{name = "Adafruit Industries", email = "circuitpython@adafruit.com"}
]
urls = {Homepage = "https://github.com/adafruit/Adafruit_Python_Shell"}
keywords = [
"adafruit",
"blinka",
"circuitpython",
"micropython",
"python",
"shell",
"installation",
"raspberry",
"pi",
"console",
"terminal",
"installer",
]
license = {text = "MIT"}
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries",
"Topic :: System :: Hardware",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
]
dynamic = ["dependencies", "optional-dependencies"]
[tool.setuptools]
py-modules = ["adafruit_shell"]
[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}
optional-dependencies = {optional = {file = ["optional_requirements.txt"]}}

View file

@ -1,60 +0,0 @@
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
# SPDX-FileCopyrightText: Copyright (c) 2020 Melissa LeBlanc-Williams for Adafruit Industries
#
# SPDX-License-Identifier: MIT
"""A setuptools based setup module.
See:
https://packaging.python.org/en/latest/distributing.html
https://github.com/pypa/sampleproject
"""
from setuptools import setup, find_packages
# To use a consistent encoding
from codecs import open
from os import path
here = path.abspath(path.dirname(__file__))
# Get the long description from the README file
with open(path.join(here, "README.rst"), encoding="utf-8") as f:
long_description = f.read()
setup(
name="adafruit-python-shell",
use_scm_version=True,
setup_requires=["setuptools_scm"],
description="Python helper for running Shell scripts in Python",
long_description=long_description,
long_description_content_type="text/x-rst",
# The project's main homepage.
url="https://github.com/adafruit/Adafruit_Python_Shell",
# Author details
author="Adafruit Industries",
author_email="circuitpython@adafruit.com",
install_requires=[
"clint",
"Adafruit-PlatformDetect",
],
# Choose your license
license="MIT",
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries",
"Topic :: System :: Hardware",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
],
# What does your project relate to?
keywords="adafruit blinka circuitpython micropython python shell installation raspberry pi "
"console terminal installer",
# You can just specify the packages manually here if your project is
# simple. Or you can use find_packages().
py_modules=["adafruit_shell"],
)