diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 831ab49..9d65330 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -3,7 +3,9 @@ on: schedule: - cron: '0 10 * * *' push: - branches: master + branches: + - master + - develop tags: - 'v*.*.*' paths: @@ -11,7 +13,9 @@ on: - 'Varken.py' - 'Dockerfile' pull_request: - branches: master + branches: + - master + - develop paths: - 'varken/**' - 'Varken.py' diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 464e358..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 94a90ad..7cf4b07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,11 @@ 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" \ org.opencontainers.image.created=$BUILD_DATE \ 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.licenses="MIT" -ENV DEBUG="True" - -ENV DATA_FOLDER="/config" - WORKDIR /app COPY /requirements.txt /Varken.py /app/ @@ -25,7 +27,9 @@ COPY /data /app/data COPY /utilities /app/data/utilities -RUN apk add --no-cache tzdata && \ - pip install --no-cache-dir -r /app/requirements.txt +RUN \ + 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 diff --git a/Varken.py b/Varken.py index f8c6270..3641cbc 100644 --- a/Varken.py +++ b/Varken.py @@ -15,7 +15,7 @@ from logging import getLogger, StreamHandler, Formatter, DEBUG from varken import structures # noqa from varken.ombi import OmbiAPI from varken.unifi import UniFiAPI -from varken import VERSION, BRANCH +from varken import VERSION, BRANCH, BUILD_DATE from varken.sonarr import SonarrAPI from varken.radarr import RadarrAPI from varken.lidarr import LidarrAPI @@ -87,7 +87,7 @@ if __name__ == "__main__": 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) DBMANAGER = DBManager(CONFIG.influx_server) diff --git a/varken/__init__.py b/varken/__init__.py index 863ebfa..2971205 100644 --- a/varken/__init__.py +++ b/varken/__init__.py @@ -1,2 +1,3 @@ -VERSION = "1.7.7" +VERSION = "0.0.0" BRANCH = 'develop' +BUILD_DATE = '1/1/1970'