PyPi package build fixes (#2084)

pull/2085/head
dgtlmoon 12 months ago committed by GitHub
parent 436a66d465
commit b6d8db4c67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -26,15 +26,38 @@ jobs:
name: python-package-distributions name: python-package-distributions
path: dist/ path: dist/
test-pypi-package:
name: Test the built 📦 package works basically.
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Download all the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Test that the basic pip built package runs without error
run: |
set -e
pip3 install dist/changedetection.io*.whl
changedetection.io -d /tmp -p 10000 &
sleep 3
curl http://127.0.0.1:10000/static/styles/pure-min.css >/dev/null
curl http://127.0.0.1:10000/ >/dev/null
killall changedetection.io
publish-to-pypi: publish-to-pypi:
name: >- name: >-
Publish Python 🐍 distribution 📦 to PyPI Publish Python 🐍 distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs: needs:
- build - test-pypi-package
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: environment:
name: pypi name: release
url: https://pypi.org/p/changedetection.io url: https://pypi.org/p/changedetection.io
permissions: permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing id-token: write # IMPORTANT: mandatory for trusted publishing

@ -1,36 +0,0 @@
name: ChangeDetection.io PIP package test
# Triggers the workflow on push or pull request events
# This line doesnt work, even tho it is the documented one
on: [push, pull_request]
# Changes to requirements.txt packages and Dockerfile may or may not always be compatible with arm etc, so worth testing
# @todo: some kind of path filter for requirements.txt and Dockerfile
jobs:
test-pip-build-basics:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Test that the basic pip built package runs without error
run: |
set -e
mkdir dist
pip3 install wheel
python3 setup.py bdist_wheel
pip3 install -r requirements.txt
rm ./changedetection.py
rm -rf changedetectio
pip3 install dist/changedetection.io*.whl
changedetection.io -d /tmp -p 10000 &
sleep 3
curl http://127.0.0.1:10000/static/styles/pure-min.css >/dev/null
killall -9 changedetection.io

@ -10,6 +10,8 @@ prune changedetectionio/static/package-lock.json
prune changedetectionio/static/styles/node_modules prune changedetectionio/static/styles/node_modules
prune changedetectionio/static/styles/package-lock.json prune changedetectionio/static/styles/package-lock.json
include changedetection.py include changedetection.py
include requirements.txt
include README-pip.md
global-exclude *.pyc global-exclude *.pyc
global-exclude node_modules global-exclude node_modules
global-exclude venv global-exclude venv

@ -27,7 +27,7 @@ install_requires = open('requirements.txt').readlines()
setup( setup(
name='changedetection.io', name='changedetection.io',
version=find_version("changedetectionio", "__init__.py"), version=find_version("changedetectionio", "__init__.py"),
description='Website change detection and monitoring service', description='Website change detection and monitoring service, detect changes to web pages and send alerts/notifications.',
long_description=open('README-pip.md').read(), long_description=open('README-pip.md').read(),
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
keywords='website change monitor for changes notification change detection ' keywords='website change monitor for changes notification change detection '
@ -41,7 +41,7 @@ setup(
include_package_data=True, include_package_data=True,
install_requires=install_requires, install_requires=install_requires,
license="Apache License 2.0", license="Apache License 2.0",
python_requires=">= 3.7", python_requires=">= 3.10",
classifiers=['Intended Audience :: Customer Service', classifiers=['Intended Audience :: Customer Service',
'Intended Audience :: Developers', 'Intended Audience :: Developers',
'Intended Audience :: Education', 'Intended Audience :: Education',

Loading…
Cancel
Save