make version/branch dynamic to build and add build-date
This commit is contained in:
parent
eeb0198e3d
commit
0906480270
5 changed files with 20 additions and 139 deletions
8
.github/workflows/docker.yaml
vendored
8
.github/workflows/docker.yaml
vendored
|
@ -3,7 +3,9 @@ on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 10 * * *'
|
- cron: '0 10 * * *'
|
||||||
push:
|
push:
|
||||||
branches: master
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
tags:
|
tags:
|
||||||
- 'v*.*.*'
|
- 'v*.*.*'
|
||||||
paths:
|
paths:
|
||||||
|
@ -11,7 +13,9 @@ on:
|
||||||
- 'Varken.py'
|
- 'Varken.py'
|
||||||
- 'Dockerfile'
|
- 'Dockerfile'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: master
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
paths:
|
paths:
|
||||||
- 'varken/**'
|
- 'varken/**'
|
||||||
- 'Varken.py'
|
- 'Varken.py'
|
||||||
|
|
128
.gitlab-ci.yml
128
.gitlab-ci.yml
|
@ -1,128 +0,0 @@
|
||||||
stages:
|
|
||||||
- test
|
|
||||||
- build and push
|
|
||||||
- manifests
|
|
||||||
- release
|
|
||||||
|
|
||||||
.common_build: &common_build
|
|
||||||
image: docker:stable
|
|
||||||
stage: build and push
|
|
||||||
variables:
|
|
||||||
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
|
|
16
Dockerfile
16
Dockerfile
|
@ -1,5 +1,11 @@
|
||||||
FROM python:3.9.1-alpine
|
FROM python:3.9.1-alpine
|
||||||
|
|
||||||
|
ENV DEBUG="True" \
|
||||||
|
DATA_FOLDER="/config" \
|
||||||
|
VERSION="0.0.0"
|
||||||
|
BRANCH="edge"
|
||||||
|
BUILD_DATE="1/1/1970"
|
||||||
|
|
||||||
LABEL maintainer="dirtycajunrice,samwiseg0" \
|
LABEL maintainer="dirtycajunrice,samwiseg0" \
|
||||||
org.opencontainers.image.created=$BUILD_DATE \
|
org.opencontainers.image.created=$BUILD_DATE \
|
||||||
org.opencontainers.image.url="https://github.com/Boerderij/Varken" \
|
org.opencontainers.image.url="https://github.com/Boerderij/Varken" \
|
||||||
|
@ -11,10 +17,6 @@ LABEL maintainer="dirtycajunrice,samwiseg0" \
|
||||||
org.opencontainers.image.description="Varken is a standalone application to aggregate data from the Plex ecosystem into InfluxDB using Grafana for a frontend" \
|
org.opencontainers.image.description="Varken is a standalone application to aggregate data from the Plex ecosystem into InfluxDB using Grafana for a frontend" \
|
||||||
org.opencontainers.image.licenses="MIT"
|
org.opencontainers.image.licenses="MIT"
|
||||||
|
|
||||||
ENV DEBUG="True"
|
|
||||||
|
|
||||||
ENV DATA_FOLDER="/config"
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY /requirements.txt /Varken.py /app/
|
COPY /requirements.txt /Varken.py /app/
|
||||||
|
@ -25,7 +27,9 @@ COPY /data /app/data
|
||||||
|
|
||||||
COPY /utilities /app/data/utilities
|
COPY /utilities /app/data/utilities
|
||||||
|
|
||||||
RUN apk add --no-cache tzdata && \
|
RUN \
|
||||||
pip install --no-cache-dir -r /app/requirements.txt
|
apk add --no-cache tzdata \
|
||||||
|
&& pip install --no-cache-dir -r /app/requirements.txt \
|
||||||
|
&& sed -i "s/0.0.0/${VERSION}/;s/develop/${BRANCH}/;s/1\/1\/1970/${BUILD_DATE//\//\\/}/" varken/__init__.py
|
||||||
|
|
||||||
CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py
|
CMD cp /app/data/varken.example.ini /config/varken.example.ini && python3 /app/Varken.py
|
||||||
|
|
|
@ -15,7 +15,7 @@ from logging import getLogger, StreamHandler, Formatter, DEBUG
|
||||||
from varken import structures # noqa
|
from varken import structures # noqa
|
||||||
from varken.ombi import OmbiAPI
|
from varken.ombi import OmbiAPI
|
||||||
from varken.unifi import UniFiAPI
|
from varken.unifi import UniFiAPI
|
||||||
from varken import VERSION, BRANCH
|
from varken import VERSION, BRANCH, BUILD_DATE
|
||||||
from varken.sonarr import SonarrAPI
|
from varken.sonarr import SonarrAPI
|
||||||
from varken.radarr import RadarrAPI
|
from varken.radarr import RadarrAPI
|
||||||
from varken.lidarr import LidarrAPI
|
from varken.lidarr import LidarrAPI
|
||||||
|
@ -87,7 +87,7 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
vl.logger.info(u"Python %s", version)
|
vl.logger.info(u"Python %s", version)
|
||||||
|
|
||||||
vl.logger.info("Varken v%s-%s", VERSION, BRANCH)
|
vl.logger.info("Varken v%s-%s %s", VERSION, BRANCH, BUILD_DATE)
|
||||||
|
|
||||||
CONFIG = INIParser(DATA_FOLDER)
|
CONFIG = INIParser(DATA_FOLDER)
|
||||||
DBMANAGER = DBManager(CONFIG.influx_server)
|
DBMANAGER = DBManager(CONFIG.influx_server)
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
VERSION = "1.7.7"
|
VERSION = "0.0.0"
|
||||||
BRANCH = 'develop'
|
BRANCH = 'develop'
|
||||||
|
BUILD_DATE = '1/1/1970'
|
||||||
|
|
Loading…
Reference in a new issue