Moving from TravisCI to GitHub Actions
TravisCI has been buddy and slow for quite some time now. It's time to switch to GitHub Actions. This PR contains 3 configs: - Checks the code every time a PR is raised. - Builds & releases distributables. - Packages and uploads to PyPI. Removing "Current Version :" text when printing `version` info because it's easier to use it as a release tag that way.master
parent
075bfcc748
commit
6dbc3bcec4
|
@ -0,0 +1,43 @@
|
|||
name: Publish Python distributions to PyPI and TestPyPI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master, main ]
|
||||
|
||||
# Don't trigger if it's just a documentation update
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- '**.MD'
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- 'docs/**'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- '.gitattributes'
|
||||
- '.gitignore'
|
||||
- '.dockerignore'
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Initialize Python 3.9
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.9
|
||||
cache: 'pip'
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Build Dist
|
||||
run: |
|
||||
python setup.py sdist
|
||||
- name: Release On Main PyPI
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
with:
|
||||
user: __token__
|
||||
password: ${{ secrets.MAIN_PYPI }}
|
||||
skip_existing: true
|
||||
verbose: true
|
||||
print_hash: true
|
|
@ -0,0 +1,37 @@
|
|||
name: Checking Pull Request
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
# Don't trigger if it's just a documentation/docker update.
|
||||
# We have separate build for checking docker updates.
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- '**.MD'
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- 'docs/**'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- '.gitattributes'
|
||||
- '.gitignore'
|
||||
- '.dockerignore'
|
||||
jobs:
|
||||
linux_job:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Stup Python
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.9
|
||||
cache: 'pip'
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
pip install -r requirements.txt
|
||||
pip install pyinstaller
|
||||
- name: Run CLI App
|
||||
run: |
|
||||
python cli.py --version
|
||||
pyinstaller --onefile --hidden-import=queue "cli.py" -n "comic_dl_linux"
|
||||
chmod +x dist/comic_dl_linux
|
||||
dist/comic_dl_linux --version
|
|
@ -0,0 +1,115 @@
|
|||
name: Building & Creating Distributables
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master, main ]
|
||||
|
||||
# Don't trigger if it's just a documentation update
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- '**.MD'
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- 'docs/**'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- '.gitattributes'
|
||||
- '.gitignore'
|
||||
- '.dockerignore'
|
||||
|
||||
jobs:
|
||||
linux_job:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Initialize Python 3.9
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.9
|
||||
cache: 'pip'
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pyinstaller
|
||||
- name: Build Dist
|
||||
run: |
|
||||
python cli.py --version
|
||||
pyinstaller --onefile --hidden-import=queue "cli.py" -n "comic_dl_linux"
|
||||
chmod +x dist/comic_dl_linux
|
||||
dist/comic_dl_linux --version
|
||||
- name: Generate Release Tag
|
||||
id: tag
|
||||
run: |
|
||||
echo "::set-output name=release_tag::$(dist/comic_dl_linux --version)"
|
||||
echo Current Version ${{ steps.tag.outputs.release_tag }}.
|
||||
- name: GH Release
|
||||
uses: softprops/action-gh-release@v0.1.14
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ steps.tag.outputs.release_tag }}
|
||||
files: dist/comic_dl_linux
|
||||
windows_job:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Initialize Python 3.9
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.9
|
||||
cache: 'pip'
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pyinstaller
|
||||
- name: Build Dist
|
||||
run: |
|
||||
python cli.py --version
|
||||
pyinstaller --onefile --hidden-import=queue "cli.py" -n "comic_dl.exe"
|
||||
dist/comic_dl.exe --version
|
||||
- name: Generate Release Tag
|
||||
id: tag
|
||||
run: |
|
||||
echo "::set-output name=release_tag::$(dist/comic_dl.exe --version)"
|
||||
echo Current Version ${{ steps.tag.outputs.release_tag }}.
|
||||
- name: GH Release
|
||||
uses: softprops/action-gh-release@v0.1.14
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ steps.tag.outputs.release_tag }}
|
||||
files: dist/comic_dl.exe
|
||||
mac_os_job:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Initialize Python 3.9
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.9
|
||||
cache: 'pip'
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pyinstaller
|
||||
- name: Build Dist
|
||||
run: |
|
||||
python cli.py --version
|
||||
pyinstaller --onefile --hidden-import=queue "cli.py" -n "comic_dl_osx"
|
||||
chmod +x dist/comic_dl_osx
|
||||
dist/comic_dl_osx --version
|
||||
- name: Generate Release Tag
|
||||
id: tag
|
||||
run: |
|
||||
echo "::set-output name=release_tag::$(dist/comic_dl_osx --version)"
|
||||
echo Current Version ${{ steps.tag.outputs.release_tag }}.
|
||||
- name: GH Release
|
||||
uses: softprops/action-gh-release@v0.1.14
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ steps.tag.outputs.release_tag }}
|
||||
files: dist/comic_dl_osx
|
|
@ -309,5 +309,5 @@ class ComicDL(object):
|
|||
|
||||
@staticmethod
|
||||
def version():
|
||||
print("Current Version : %s" % __version__)
|
||||
print(__version__)
|
||||
|
||||
|
|
13
setup.py
13
setup.py
|
@ -2,16 +2,13 @@ import setuptools
|
|||
|
||||
from comic_dl import __version__
|
||||
|
||||
readme = open('ReadMe.md').read()
|
||||
history = open('Changelog.md').read()
|
||||
|
||||
setuptools.setup(
|
||||
name='comic_dl',
|
||||
version=__version__.__version__,
|
||||
description='Comic-dl is a command line tool to download Comics and Manga from various Manga and Comic sites easily.',
|
||||
long_description=readme + '\n\n' + history,
|
||||
long_description='Comic-dl is a command line tool to download Comics and Manga from various Manga and Comic sites easily.',
|
||||
author='Xonshiz',
|
||||
author_email='xonshiz@psychoticelites.com',
|
||||
author_email='xonshiz@gmail.com',
|
||||
url='https://github.com/Xonshiz/comic-dl',
|
||||
packages=setuptools.find_packages(),
|
||||
keywords=['comic-dl', 'cli', 'comic downloader', 'manga downloader', 'mangafox', 'batoto', 'kissmanga',
|
||||
|
@ -22,13 +19,15 @@ setuptools.setup(
|
|||
'Intended Audience :: End Users/Desktop',
|
||||
'License :: Public Domain',
|
||||
'Natural Language :: English',
|
||||
'Programming Language :: Python :: 2.6',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.2',
|
||||
'Programming Language :: Python :: 3.3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'Programming Language :: Python :: 3.7',
|
||||
'Programming Language :: Python :: 3.8',
|
||||
'Programming Language :: Python :: 3.9',
|
||||
'Operating System :: OS Independent',
|
||||
'Topic :: Multimedia :: Graphics'
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue