Skip to content

Commit

Permalink
Moving from TravisCI to GitHub Actions
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Xonshiz committed Apr 10, 2022
1 parent 075bfcc commit 6dbc3bc
Show file tree
Hide file tree
Showing 5 changed files with 202 additions and 8 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -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
37 changes: 37 additions & 0 deletions .github/workflows/python-pr-check.yml
Original file line number Diff line number Diff line change
@@ -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
115 changes: 115 additions & 0 deletions .github/workflows/python-release.yml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion comic_dl/comic_dl.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,5 +309,5 @@ def __init__(self, argv):

@staticmethod
def version():
print("Current Version : %s" % __version__)
print(__version__)

13 changes: 6 additions & 7 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,13 @@

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',
Expand All @@ -22,13 +19,15 @@
'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'
],
Expand Down

0 comments on commit 6dbc3bc

Please sign in to comment.