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
|
20
CHANGELOG.md
20
CHANGELOG.md
|
@ -1,7 +1,23 @@
|
|||
# Change Log
|
||||
|
||||
## [v1.7.2](https://github.com/Boerderij/Varken/tree/v1.7.2) (2019-06-23)
|
||||
[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.1...v1.7.2)
|
||||
## [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.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:**
|
||||
|
||||
|
|
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">
|
||||
</p>
|
||||
|
||||
[](https://jenkins.cajun.pro/job/Varken/job/master/)
|
||||
[](https://gitlab.com/boerderij/Varken/commits/master)
|
||||
[](https://discord.gg/VjZ6qSM)
|
||||
[](https://ko-fi.com/varken)
|
||||
[](https://microbadger.com/images/boerderij/varken)
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
VERSION = "1.7.2"
|
||||
VERSION = "1.7.3"
|
||||
BRANCH = 'master'
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from os import W_OK, access
|
||||
from shutil import copyfile
|
||||
from os import environ as env
|
||||
from logging import getLogger
|
||||
|
@ -77,6 +78,9 @@ class INIParser(object):
|
|||
file_path = join(self.data_folder, ini)
|
||||
if exists(file_path):
|
||||
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:
|
||||
self.config.write(config_ini)
|
||||
else:
|
||||
|
|
|
@ -37,7 +37,7 @@ class RadarrAPI(object):
|
|||
return
|
||||
|
||||
for movie in movies:
|
||||
if not movie.downloaded:
|
||||
if movie.monitored and not movie.downloaded:
|
||||
if movie.isAvailable:
|
||||
ma = 0
|
||||
else:
|
||||
|
|
|
@ -54,7 +54,7 @@ class SonarrAPI(object):
|
|||
else:
|
||||
downloaded = 0
|
||||
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))
|
||||
else:
|
||||
air_days.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
|
||||
|
|
Loading…
Reference in a new issue