v1.7.3 Merge
v1.7.3 Merge
This commit is contained in:
commit
f3286ca8f3
8 changed files with 156 additions and 133 deletions
129
.gitlab-ci.yml
Normal file
129
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
stages:
|
||||||
|
- test
|
||||||
|
- build and push
|
||||||
|
- manifests
|
||||||
|
- release
|
||||||
|
|
||||||
|
.common_build: &common_build
|
||||||
|
image: docker:stable
|
||||||
|
stage: build and push
|
||||||
|
variables:
|
||||||
|
DOCKER_HOST: tcp://docker:2375/
|
||||||
|
DOCKER_DRIVER: overlay2
|
||||||
|
services:
|
||||||
|
- docker:dind
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
only:
|
||||||
|
changes:
|
||||||
|
- "Dockerfile*"
|
||||||
|
- Varken.py
|
||||||
|
- varken/*
|
||||||
|
- .gitlab-ci.yml
|
||||||
|
before_script:
|
||||||
|
- mkdir $HOME/.docker
|
||||||
|
- echo '{"experimental":"enabled"}' > $HOME/.docker/config.json
|
||||||
|
- if [[ $CI_COMMIT_REF_NAME == "master" ]]; then
|
||||||
|
export TAG=$(grep -i version varken/__init__.py | cut -d \ -f3 | tr -d \");
|
||||||
|
else
|
||||||
|
export TAG="develop";
|
||||||
|
fi
|
||||||
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USER" --password-stdin
|
||||||
|
- export CI_PROJECT_PATH=$(echo $CI_PROJECT_PATH | tr "[:upper:]" "[:lower:]")
|
||||||
|
|
||||||
|
.common_release: &common_release
|
||||||
|
<<: *common_build
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- shared
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- master
|
||||||
|
|
||||||
|
flake8:
|
||||||
|
image: python:3.7.3-alpine
|
||||||
|
stage: test
|
||||||
|
cache:
|
||||||
|
key: "varken-cache"
|
||||||
|
paths:
|
||||||
|
- .cache/pip
|
||||||
|
- venv/
|
||||||
|
variables:
|
||||||
|
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
before_script:
|
||||||
|
- python -m venv venv
|
||||||
|
- source venv/bin/activate
|
||||||
|
- pip install -U flake8
|
||||||
|
script:
|
||||||
|
- flake8 --max-line-length 120 Varken.py varken/*.py
|
||||||
|
|
||||||
|
amd64:
|
||||||
|
<<: *common_build
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- shared
|
||||||
|
script:
|
||||||
|
- docker build --pull
|
||||||
|
--cache-from "$CI_PROJECT_PATH":"$TAG-amd64"
|
||||||
|
-t "$CI_PROJECT_PATH":"$TAG-amd64" .
|
||||||
|
- docker push "$CI_PROJECT_PATH":"$TAG-amd64"
|
||||||
|
|
||||||
|
armv6:
|
||||||
|
<<: *common_build
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- arm
|
||||||
|
script:
|
||||||
|
- docker build --pull
|
||||||
|
--cache-from "$CI_PROJECT_PATH":"$TAG-arm"
|
||||||
|
-t "$CI_PROJECT_PATH":"$TAG-arm"
|
||||||
|
-f Dockerfile.arm .
|
||||||
|
- docker push "$CI_PROJECT_PATH":"$TAG-arm"
|
||||||
|
|
||||||
|
arm64v8:
|
||||||
|
<<: *common_build
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- arm64
|
||||||
|
script:
|
||||||
|
- docker build --pull
|
||||||
|
--cache-from "$CI_PROJECT_PATH":"$TAG-arm64"
|
||||||
|
-t "$CI_PROJECT_PATH":"$TAG-arm64"
|
||||||
|
-f Dockerfile.arm64 .
|
||||||
|
- docker push "$CI_PROJECT_PATH":"$TAG-arm64"
|
||||||
|
|
||||||
|
versioned:
|
||||||
|
<<: *common_build
|
||||||
|
stage: manifests
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- shared
|
||||||
|
script:
|
||||||
|
- docker manifest create "$CI_PROJECT_PATH":"$TAG"
|
||||||
|
"$CI_PROJECT_PATH":"$TAG-amd64"
|
||||||
|
"$CI_PROJECT_PATH":"$TAG-arm64"
|
||||||
|
"$CI_PROJECT_PATH":"$TAG-arm"
|
||||||
|
- docker manifest push -p "$CI_PROJECT_PATH":"$TAG"
|
||||||
|
|
||||||
|
latest:
|
||||||
|
<<: *common_release
|
||||||
|
stage: manifests
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
script:
|
||||||
|
- docker manifest create "$CI_PROJECT_PATH":latest
|
||||||
|
"$CI_PROJECT_PATH":"$TAG-amd64"
|
||||||
|
"$CI_PROJECT_PATH":"$TAG-arm64"
|
||||||
|
"$CI_PROJECT_PATH":"$TAG-arm"
|
||||||
|
- docker manifest push -p "$CI_PROJECT_PATH":latest
|
||||||
|
|
||||||
|
.github:
|
||||||
|
<<: *common_release
|
||||||
|
stage: release
|
||||||
|
script:
|
||||||
|
- apk add git
|
||||||
|
- git remote set-url origin "https://$GITHUB_USER:$GITHUB_TOKEN@github.com/$CI_PROJECT_PATH".git"
|
||||||
|
- git tag $TAG
|
||||||
|
- git push --tags
|
22
CHANGELOG.md
22
CHANGELOG.md
|
@ -1,7 +1,23 @@
|
||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
## [v1.7.2](https://github.com/Boerderij/Varken/tree/v1.7.2) (2019-06-23)
|
## [v1.7.3](https://github.com/Boerderij/Varken/tree/v1.7.3) (2019-08-09)
|
||||||
[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.1...v1.7.2)
|
[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.2...v1.7.3)
|
||||||
|
|
||||||
|
**Implemented enhancements:**
|
||||||
|
|
||||||
|
- \#141 Take monitored status into account for Missing Available Movies check [\#145](https://github.com/Boerderij/Varken/pull/145) ([mikeporterdev](https://github.com/mikeporterdev))
|
||||||
|
|
||||||
|
**Fixed bugs:**
|
||||||
|
|
||||||
|
- \[BUG\] Varken Crashes when ini is read only [\#146](https://github.com/Boerderij/Varken/issues/146)
|
||||||
|
- \[BUG\] Missing Available Movies/TV Shows does not take Monitored status into account [\#141](https://github.com/Boerderij/Varken/issues/141)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- v1.7.3 Merge [\#149](https://github.com/Boerderij/Varken/pull/149) ([DirtyCajunRice](https://github.com/DirtyCajunRice))
|
||||||
|
|
||||||
|
## [1.7.2](https://github.com/Boerderij/Varken/tree/1.7.2) (2019-06-24)
|
||||||
|
[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.1...1.7.2)
|
||||||
|
|
||||||
**Implemented enhancements:**
|
**Implemented enhancements:**
|
||||||
|
|
||||||
|
@ -295,4 +311,4 @@
|
||||||
- Create crontabs [\#6](https://github.com/Boerderij/Varken/pull/6) ([ghost](https://github.com/ghost))
|
- Create crontabs [\#6](https://github.com/Boerderij/Varken/pull/6) ([ghost](https://github.com/ghost))
|
||||||
- update plex\_dashboard.json [\#5](https://github.com/Boerderij/Varken/pull/5) ([ghost](https://github.com/ghost))
|
- update plex\_dashboard.json [\#5](https://github.com/Boerderij/Varken/pull/5) ([ghost](https://github.com/ghost))
|
||||||
- Update README.md [\#4](https://github.com/Boerderij/Varken/pull/4) ([ghost](https://github.com/ghost))
|
- Update README.md [\#4](https://github.com/Boerderij/Varken/pull/4) ([ghost](https://github.com/ghost))
|
||||||
- added sickrage portion [\#3](https://github.com/Boerderij/Varken/pull/3) ([ghost](https://github.com/ghost))
|
- added sickrage portion [\#3](https://github.com/Boerderij/Varken/pull/3) ([ghost](https://github.com/ghost))
|
126
Jenkinsfile
vendored
126
Jenkinsfile
vendored
|
@ -1,126 +0,0 @@
|
||||||
pipeline {
|
|
||||||
agent none
|
|
||||||
environment {
|
|
||||||
DOCKER_REPO = "boerderij/varken"
|
|
||||||
GIT_REPO = 'Boerderij/Varken'
|
|
||||||
VERSION_FILE = "varken/__init__.py"
|
|
||||||
FLAKE_FILES = "Varken.py varken/*.py"
|
|
||||||
TAG = ""
|
|
||||||
GIT_TOKEN = credentials('github-jenkins-token')
|
|
||||||
}
|
|
||||||
stages {
|
|
||||||
stage('Flake8') {
|
|
||||||
agent { label 'amd64'}
|
|
||||||
steps {
|
|
||||||
sh """
|
|
||||||
python3 -m venv venv && venv/bin/pip install flake8 && venv/bin/python -m flake8 --max-line-length 120 ${FLAKE_FILES}
|
|
||||||
rm -rf venv/
|
|
||||||
"""
|
|
||||||
script {
|
|
||||||
TAG = sh(returnStdout: true, script: 'grep -i version ${VERSION_FILE} | cut -d" " -f3 | tr -d \\"').trim()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Docker Builds') {
|
|
||||||
parallel {
|
|
||||||
stage('amd64') {
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'master'
|
|
||||||
branch 'develop'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
agent { label 'amd64'}
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
if (BRANCH_NAME == 'master') {
|
|
||||||
def image = docker.build("${DOCKER_REPO}:${TAG}-amd64")
|
|
||||||
image.push()
|
|
||||||
|
|
||||||
} else if (BRANCH_NAME == 'develop') {
|
|
||||||
def image = docker.build("${DOCKER_REPO}:develop-amd64")
|
|
||||||
image.push()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('ARMv6') {
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'master'
|
|
||||||
branch 'develop'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
agent { label 'arm64'}
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
if (BRANCH_NAME == 'master') {
|
|
||||||
def image = docker.build("${DOCKER_REPO}:${TAG}-arm", "-f Dockerfile.arm .")
|
|
||||||
image.push()
|
|
||||||
} else if (BRANCH_NAME == 'develop') {
|
|
||||||
def image = docker.build("${DOCKER_REPO}:develop-arm", "-f Dockerfile.arm .")
|
|
||||||
image.push()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('ARM64v8') {
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'master'
|
|
||||||
branch 'develop'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
agent { label 'arm64'}
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
if (BRANCH_NAME == 'master') {
|
|
||||||
def image = docker.build("${DOCKER_REPO}:${TAG}-arm64", "-f Dockerfile.arm64 .")
|
|
||||||
image.push()
|
|
||||||
} else if (BRANCH_NAME == 'develop') {
|
|
||||||
def image = docker.build("${DOCKER_REPO}:develop-arm64", "-f Dockerfile.arm64 .")
|
|
||||||
image.push()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Docker Manifest Build') {
|
|
||||||
when {
|
|
||||||
anyOf {
|
|
||||||
branch 'master'
|
|
||||||
branch 'develop'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
agent { label 'amd64'}
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
if (BRANCH_NAME == 'master') {
|
|
||||||
sh(script: "docker manifest create ${DOCKER_REPO}:${TAG} ${DOCKER_REPO}:${TAG}-amd64 ${DOCKER_REPO}:${TAG}-arm64 ${DOCKER_REPO}:${TAG}-arm")
|
|
||||||
sh(script: "docker manifest inspect ${DOCKER_REPO}:${TAG}")
|
|
||||||
sh(script: "docker manifest push -p ${DOCKER_REPO}:${TAG}")
|
|
||||||
sh(script: "docker manifest create ${DOCKER_REPO}:latest ${DOCKER_REPO}:${TAG}-amd64 ${DOCKER_REPO}:${TAG}-arm64 ${DOCKER_REPO}:${TAG}-arm")
|
|
||||||
sh(script: "docker manifest inspect ${DOCKER_REPO}:latest")
|
|
||||||
sh(script: "docker manifest push -p ${DOCKER_REPO}:latest")
|
|
||||||
} else if (BRANCH_NAME == 'develop') {
|
|
||||||
sh(script: "docker manifest create ${DOCKER_REPO}:develop ${DOCKER_REPO}:develop-amd64 ${DOCKER_REPO}:develop-arm64 ${DOCKER_REPO}:develop-arm")
|
|
||||||
sh(script: "docker manifest inspect ${DOCKER_REPO}:develop")
|
|
||||||
sh(script: "docker manifest push -p ${DOCKER_REPO}:develop")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('GitHub Release') {
|
|
||||||
when { branch 'master' }
|
|
||||||
agent { label 'amd64'}
|
|
||||||
steps {
|
|
||||||
sh """
|
|
||||||
git remote set-url origin "https://${GIT_TOKEN_USR}:${GIT_TOKEN_PSW}@github.com/${GIT_REPO}.git"
|
|
||||||
git tag ${TAG}
|
|
||||||
git push --tags
|
|
||||||
"""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,7 +2,7 @@
|
||||||
<img width="800" src="https://raw.githubusercontent.com/Boerderij/Varken/master/assets/varken_full_banner.jpg" alt="Logo Banner">
|
<img width="800" src="https://raw.githubusercontent.com/Boerderij/Varken/master/assets/varken_full_banner.jpg" alt="Logo Banner">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[](https://jenkins.cajun.pro/job/Varken/job/master/)
|
[](https://gitlab.com/boerderij/Varken/commits/master)
|
||||||
[](https://discord.gg/VjZ6qSM)
|
[](https://discord.gg/VjZ6qSM)
|
||||||
[](https://ko-fi.com/varken)
|
[](https://ko-fi.com/varken)
|
||||||
[](https://microbadger.com/images/boerderij/varken)
|
[](https://microbadger.com/images/boerderij/varken)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
VERSION = "1.7.2"
|
VERSION = "1.7.3"
|
||||||
BRANCH = 'master'
|
BRANCH = 'master'
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
from os import W_OK, access
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
from os import environ as env
|
from os import environ as env
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
@ -77,6 +78,9 @@ class INIParser(object):
|
||||||
file_path = join(self.data_folder, ini)
|
file_path = join(self.data_folder, ini)
|
||||||
if exists(file_path):
|
if exists(file_path):
|
||||||
self.logger.debug('Writing to %s', inifile)
|
self.logger.debug('Writing to %s', inifile)
|
||||||
|
if not access(file_path, W_OK):
|
||||||
|
self.logger.error("Config file is incomplete and read-only. Exiting.")
|
||||||
|
exit(1)
|
||||||
with open(file_path, 'w') as config_ini:
|
with open(file_path, 'w') as config_ini:
|
||||||
self.config.write(config_ini)
|
self.config.write(config_ini)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -37,7 +37,7 @@ class RadarrAPI(object):
|
||||||
return
|
return
|
||||||
|
|
||||||
for movie in movies:
|
for movie in movies:
|
||||||
if not movie.downloaded:
|
if movie.monitored and not movie.downloaded:
|
||||||
if movie.isAvailable:
|
if movie.isAvailable:
|
||||||
ma = 0
|
ma = 0
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -54,7 +54,7 @@ class SonarrAPI(object):
|
||||||
else:
|
else:
|
||||||
downloaded = 0
|
downloaded = 0
|
||||||
if query == "Missing":
|
if query == "Missing":
|
||||||
if not downloaded:
|
if show.monitored and not downloaded:
|
||||||
missing.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
|
missing.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
|
||||||
else:
|
else:
|
||||||
air_days.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
|
air_days.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
|
||||||
|
|
Loading…
Reference in a new issue