Skip to content

Commit

Permalink
Merge pull request #2 from walkero-gr/ci-cd
Browse files Browse the repository at this point in the history
Added CI/CD releases using drone
  • Loading branch information
walkero-gr authored Jul 27, 2020
2 parents 1c85f61 + 36cfa49 commit df94efe
Show file tree
Hide file tree
Showing 6 changed files with 326 additions and 21 deletions.
108 changes: 91 additions & 17 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,120 @@
---
kind: pipeline
type: docker
name: test-release-aiostreams

steps:
- name: create-test-archive
image: walkero/docker4amigavbcc:latest-base
commands:
- cd /drone/src
- mkdir aiostreams
- chmod 755 dailymotion.py dlive.py lbrytv.py mixer.py peertube.py skaitv.py twitch.py vimeo.py wasd.py youtube.py
- mv ./docs ./aiostreams/
- mv ./simplejson ./aiostreams/
- mv ./*.py ./aiostreams/
- mv ./*.py.examples ./aiostreams/
- mv ./*.info ./aiostreams/
- mv ./*.md ./aiostreams/docs/
- mv LICENSE ./aiostreams/docs/
- mkdir release
- lha -aq2o6 aiostreams-${DRONE_TAG}.lha aiostreams/
- name: Prepare test release
image: walkero/docker4amigavbcc:latest-base
environment:
OS4DEPOT_PASSPHRASE:
from_secret: OS4DEPOT_PASSPHRASE
commands:
- mkdir test-release
- cp aiostreams-${DRONE_TAG}.lha ./test-release/aiostreams.lha
- cp os4depot.readme ./test-release/os4depot.readme
- cp aminet.readme ./test-release/aminet.readme
- name: Upload to TEST FTP
image: cschlosser/drone-ftps
environment:
FTP_USERNAME:
from_secret: FTP_USERNAME
FTP_PASSWORD:
from_secret: FTP_PASSWORD
PLUGIN_HOSTNAME: walkero.duckdns.org:21
PLUGIN_SRC_DIR: /test-release
PLUGIN_DEST_DIR: ./new
PLUGIN_SECURE: "false"
PLUGIN_VERIFY: "false"
PLUGIN_CLEAN_DIR: "true"

trigger:
event:
include:
- push

---
kind: pipeline
type: docker
name: release-aiostreams

steps:
- name: create-archive
- name: create-release-archive
image: walkero/docker4amigavbcc:latest-base
commands:
- cd /drone/src
- mkdir aiostreams
- chmod 755 dailymotion.py dlive.py lbrytv.py mixer.py peertube.py skaitv.py twitch.py vimeo.py wasd.py youtube.py
- mv ./docs ./aiostreams/
- mv ./simplejson ./aiostreams/
- mv ./*.py ./aiostreams/
- mv ./*.py.examples ./aiostreams/
- mv ./*.info ./aiostreams/
- mv ./*.md ./aiostreams/docs/
- mv LICENSE ./aiostreams/docs/
- mkdir release
- lha -aq2o6 aiostreams-${DRONE_TAG}.lha aiostreams/
- name: deploy-on-repo
image: plugins/github-release
settings:
api_key:
from_secret: GITHUB_RELEASE_API_KEY
files:
- "aiostreams-*.lha"
- "./aiostreams-*.lha"
title: "${DRONE_TAG} release"
# - name: upload-to-ftp
# image: cschlosser/drone-ftps
# environment:
# FTP_USERNAME:
# from_secret: FTP_USERNAME
# FTP_PASSWORD:
# from_secret: FTP_PASSWORD
# PLUGIN_HOSTNAME: walkero.duckdns.org:21
# PLUGIN_DEST_DIR: /raid1/data/webserv_ftp/new
# PLUGIN_SECURE: false
# PLUGIN_VERIFY: false
# PLUGIN_EXCLUDE: ^\[a-z,A-Z,0-9\]*\.\(pyc|py|info|yml|gitignore|git|md|vscode|examples|editorconfig\)$
# PLUGIN_EXCLUDE: ^([a-z,A-Z,0-9]*.(pyc|py|info|yml|gitignore|git|md|vscode|examples|editorconfig)|docs|.editorconfig|http|LICENSE|simplejson)$
# PLUGIN_INCLUDE: ^\[a-z,A-Z,0-9\]*\.lha/$
- name: Prepare Aminet release
image: walkero/docker4amigavbcc:latest-base
commands:
- mkdir aminet-release
- cp aiostreams-${DRONE_TAG}.lha ./aminet-release/aiostreams.lha
- cp aminet.readme ./aminet-release/aiostreams.readme
- name: Upload to Aminet
image: cschlosser/drone-ftps
environment:
FTP_USERNAME: "anonymous"
FTP_PASSWORD: "[email protected]"
PLUGIN_HOSTNAME: main.aminet.net:21
PLUGIN_SRC_DIR: /aminet-release
PLUGIN_DEST_DIR: ./new
PLUGIN_SECURE: "false"
PLUGIN_VERIFY: "false"
- name: Prepare OS4Depot release
image: walkero/docker4amigavbcc:latest-base
environment:
OS4DEPOT_PASSPHRASE:
from_secret: OS4DEPOT_PASSPHRASE
commands:
- mkdir os4depot-release
- cp aiostreams-${DRONE_TAG}.lha ./os4depot-release/aiostreams.lha
- cp os4depot.readme ./os4depot-release/aiostreams_lha.readme
- sed -i "s/OS4DEPOT_PASSPHRASE/$OS4DEPOT_PASSPHRASE/" ./os4depot-release/aiostreams_lha.readme
- name: Upload to OS4Depot
image: cschlosser/drone-ftps
environment:
FTP_USERNAME: "ftp"
FTP_PASSWORD: ""
PLUGIN_HOSTNAME: os4depot.net:21
PLUGIN_SRC_DIR: /os4depot-release
PLUGIN_DEST_DIR: ./upload
PLUGIN_SECURE: "false"
PLUGIN_VERIFY: "false"

trigger:
event:
include:
- tag
- tag
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
All notable changes to this project will be documented in this file.


## [1.6.2] - 2020-07-27
### Added
- Added automated release process to OS4Depot and Aminet


## [1.6.1] - 2020-07-15
### Fixed
- Fixed Lbry.tv under AmigaOS 4 to use ffplay and not mplayer on video playback
Expand Down
109 changes: 109 additions & 0 deletions aminet.readme
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
Short: Stream video from major online platforms
Uploader: [email protected] (George Sokianos)
Author: [email protected] (George Sokianos)
Type: util/batch
Version: 1.6.2
Architecture: ppc-amigaos; ppc-morphos
Distribution: Aminet
Requires: dev/lang/Python_2.lha
Replaces: util/batch/aiostreams.lha

All In One streams (aiostreams) is a pack of scripts, written in Python, that can be used to stream and watch videos from different online networks, like Twitch.tv and Mixer.com.

All the scripts should be used from the shell, as well as from any web browser that support execution of scripts. It is really easy to configure a link context menu and open the URL with the script. And if "Autoplay" is enabled, then the video will start automatically using the configured default players.

Some of these networks have a search API, and you can use them to find available streams and videos, without the need to visit the website. This is a fast way to find what you want, without waiting huge amount of Javascript to be executed on your machine. Especially useful when your computer doesn't have the necessary horse power to support those websites.

All the scripts are developed and fully tested under AmigaOS 4.1 FE and MorphOS 3.x. There will be support for other systems in the future, like AmigaOS 3 and AROS, as long as Python is supported. The scripts work just fine under Linux and MacOS X, but those systems are not the target of this project. There are other solutions that might do a better job.

Supported networks:
* Twitch.tv
* Mixer.com
* YouTube.com
* Vimeo.com
* Dailymotion.com
* Skaitv.gr
* Dlive.tv
* Wasd.tv
* Peertube
* Lbry.tv

Requirements:
* Python 2.5
* Pythonssl
* The Python modules: urllib, urllib2, sys, re, string, random. Usually they are part of the python Installation
* ffplay for the online live streaming videos, or something equivalent
* mplayer for the online recorded videos, or something equivalent
* internet access

The project is open source and you can find the code at:
https://github.com/walkero-gr/aiostreams

If you have any requests or you would like to report any problems you found, you can do that at:
https://github.com/walkero-gr/aiostreams/issues

You can find the todo list and the status of them at:
https://github.com/walkero-gr/aiostreams/projects/1


Changelog
-------------
v1.6.2
* Added automated release process to OS4Depot and Aminet

v1.6.1
* Fixed Lbry.tv under AmigaOS 4 to use ffplay and not mplayer on video playback

v1.6
* Added Lbry.tv script
* Cleared unused variables from scripts
* Fixed Vimeo script to support Videos with GUID

v1.5
* Added Wasd.tv script
* Added PeerTube script
* Fixed skaitv.py script to support the latest changes of the website
* Changed the place of the video qualities lists by separating them from the configuration file to a new file named vqw.py
* Added a full changelog file
* Changed the scripts' descriptions on help request

v1.4.1
* Changes on dlive script to support AmigaOS 4 and MorphOS. Now you can watch streams and videos on your beloved systems
* A change on twitch script to be usable with Emotion player under AmigaOS 4

v1.4
* Dlive.tv script added. Under AmigaOS 4 an SSL error show up. Working on a solution.
* MorphOS 3.x, MacOS X and Linux systems are now supported with autoplay
* Various fixes

v1.3
* YouTube.com script added
* If the running system is not AmigaOS 4, the returned texts show unicode characters. Otherwise they are stripped
* Skaitv.gr script updated to support some archived videos and live stream
* Fixed a config file bug
* Fixed a bug in Twitch script
File "twitch.py", line 192, in getPrefferedVideoURL
if (quality == playlists[idx]['video']):

v1.2
* Vimeo.com script added
* Dailymotion.com script added
* Skaitv.gr script added
* simplem3u8 parser updated to support URLs starting with "../"
* Added links in the AmigaGuide file, that use URLOpen
* Added the silence parameter, that prevents the script to output anything, except the errors or the results of a search
* Documentation updated
* Removed version per script
* Added Top Games list in twitch.py script. This returns the 50 Top Games based on the number of viewers.
* Added Top Streams list in twitch.py script. This returns the 50 Top Streams based on the number of viewers.
* Increased game search results list to 50 items in twitch.py script.

v1.1
* Mixer.com script added
* Cleared a lot of code in twitch.py script
* Documentation updated

v1.0
* Initial release
* Twitch.tv script added
* Simple m3u8 parser created
4 changes: 2 additions & 2 deletions cmn.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
except ImportError:
pass

aioVer = "1.6.1"
aioReleaseDate = "2020-07-15"
aioVer = "1.6.2"
aioReleaseDate = "2020-07-27"
userOS = sys.platform

class cmnHandler:
Expand Down
7 changes: 5 additions & 2 deletions docs/aiostreams.guide
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@database "aiostreams.guide"
@author "George (walkero) Sokianos"
@$VER: 1.6.1 (2020-07-15)
@$VER: 1.6.2 (2020-07-27)
@wordwrap
@node "MAIN" "aiostreams"
@next "Requirements"
Expand All @@ -12,7 +12,7 @@
/_/ \\_\\___\\___/|___/\\__|_| \\___|\\__,_|_| |_| |_|___/

@{b}All In One streams@{ub}
@{i}v1.6.1 (2020-07-15)@{ui}
@{i}v1.6.2 (2020-07-27)@{ui}
@{jleft}@{lindent 3}@{rindent 3}
All In One streams (aiostreams) is a pack of scripts, written in Python, that can be used to stream and watch videos from different online networks, like Twitch.tv and Mixer.com.

Expand Down Expand Up @@ -627,6 +627,9 @@ If you have any websites that you would like to be supported, please contact me
@{jleft}@{lindent 3}
@{b}Changelog@{ub}

v1.6.2
* Added automated release process to OS4Depot and Aminet

v1.6.1
* Fixed Lbry.tv under AmigaOS 4 to use ffplay and not mplayer on video playback

Expand Down
Loading

0 comments on commit df94efe

Please sign in to comment.