From a0d8b5b656348d31d5df2dc2338c4dec57831097 Mon Sep 17 00:00:00 2001 From: thelamer Date: Sun, 9 Sep 2018 22:11:16 -0700 Subject: [PATCH] adding nightly branch to pipeline builds --- Dockerfile | 13 +++++++------ Dockerfile.aarch64 | 13 +++++++------ Dockerfile.armhf | 13 +++++++------ Jenkinsfile | 30 +++++++++++------------------- 4 files changed, 32 insertions(+), 37 deletions(-) diff --git a/Dockerfile b/Dockerfile index be63e3b..3a9ed0c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,12 +3,13 @@ FROM lsiobase/mono:xenial # set version label ARG BUILD_DATE ARG VERSION -ARG RADARR_RELEASE +ARG RADARR_VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="sparklyballs" # environment settings ARG DEBIAN_FRONTEND="noninteractive" +ARG RADARR_BRANCH="nightly" ENV XDG_CONFIG_HOME="/config/xdg" RUN \ @@ -17,12 +18,12 @@ RUN \ apt-get install -y \ jq && \ echo "**** install radarr ****" && \ - if [ -z ${RADARR_RELEASE+x} ]; then \ - RADARR_RELEASE=$(curl -sX GET "https://api.github.com/repos/Radarr/Radarr/releases" \ - | jq -r '.[0] | .tag_name'); \ + if [ -z ${RADARR_VERSION+x} ]; then \ + RADARR_VERSION=$(curl "http://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \ + | jq -r '.[0].version'); \ fi && \ - radarr_url=$(curl -s https://api.github.com/repos/Radarr/Radarr/releases/tags/"${RADARR_RELEASE}" \ - |jq -r '.assets[].browser_download_url' |grep linux) && \ + radarr_url=$(curl -sX GET "http://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" |jq -r ".[] \ + | select(.version == \"${RADARR_VERSION}\") | .url") && \ mkdir -p \ /opt/radarr && \ curl -o \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index a7832f7..ca4de32 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -5,12 +5,13 @@ COPY qemu-aarch64-static /usr/bin # set version label ARG BUILD_DATE ARG VERSION -ARG RADARR_RELEASE +ARG RADARR_VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="sparklyballs" # environment settings ARG DEBIAN_FRONTEND="noninteractive" +ARG RADARR_BRANCH="nightly" ENV XDG_CONFIG_HOME="/config/xdg" RUN \ @@ -19,12 +20,12 @@ RUN \ apt-get install -y \ jq && \ echo "**** install radarr ****" && \ - if [ -z ${RADARR_RELEASE+x} ]; then \ - RADARR_RELEASE=$(curl -sX GET "https://api.github.com/repos/Radarr/Radarr/releases" \ - | jq -r '.[0] | .tag_name'); \ + if [ -z ${RADARR_VERSION+x} ]; then \ + RADARR_VERSION=$(curl "http://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \ + | jq -r '.[0].version'); \ fi && \ - radarr_url=$(curl -s https://api.github.com/repos/Radarr/Radarr/releases/tags/"${RADARR_RELEASE}" \ - |jq -r '.assets[].browser_download_url' |grep linux) && \ + radarr_url=$(curl -sX GET "http://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" |jq -r ".[] \ + | select(.version == \"${RADARR_VERSION}\") | .url") && \ mkdir -p \ /opt/radarr && \ curl -o \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 0dc4484..3127872 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -5,12 +5,13 @@ COPY qemu-arm-static /usr/bin # set version label ARG BUILD_DATE ARG VERSION -ARG RADARR_RELEASE +ARG RADARR_VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="sparklyballs" # environment settings ARG DEBIAN_FRONTEND="noninteractive" +ARG RADARR_BRANCH="nightly" ENV XDG_CONFIG_HOME="/config/xdg" RUN \ @@ -19,12 +20,12 @@ RUN \ apt-get install -y \ jq && \ echo "**** install radarr ****" && \ - if [ -z ${RADARR_RELEASE+x} ]; then \ - RADARR_RELEASE=$(curl -sX GET "https://api.github.com/repos/Radarr/Radarr/releases" \ - | jq -r '.[0] | .tag_name'); \ + if [ -z ${RADARR_VERSION+x} ]; then \ + RADARR_VERSION=$(curl "http://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \ + | jq -r '.[0].version'); \ fi && \ - radarr_url=$(curl -s https://api.github.com/repos/Radarr/Radarr/releases/tags/"${RADARR_RELEASE}" \ - |jq -r '.assets[].browser_download_url' |grep linux) && \ + radarr_url=$(curl -sX GET "http://radarr.aeonlucid.com/v1/update/${RADARR_BRANCH}/changes?os=linux" |jq -r ".[] \ + | select(.version == \"${RADARR_VERSION}\") | .url") && \ mkdir -p \ /opt/radarr && \ curl -o \ diff --git a/Jenkinsfile b/Jenkinsfile index 1ee5203..b018f98 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,17 +4,16 @@ pipeline { } // Configuraiton for the variables used for this specific repo environment { - EXT_GIT_BRANCH = 'master' - EXT_USER = 'Radarr' - EXT_REPO = 'Radarr' - BUILD_VERSION_ARG = 'RADARR_RELEASE' + JSON_URL = 'http://radarr.aeonlucid.com/v1/update/nightly/changes?os=linux' + JSON_PATH = '[0].version' + BUILD_VERSION_ARG = 'RADARR_VERSION' LS_USER = 'linuxserver' - LS_REPO = 'docker-radarr' + LS_REPO = 'radarr' DOCKERHUB_IMAGE = 'linuxserver/radarr' DEV_DOCKERHUB_IMAGE = 'lsiodev/radarr' PR_DOCKERHUB_IMAGE = 'lspipepr/radarr' BUILDS_DISCORD = credentials('build_webhook_url') - GITHUB_TOKEN = credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab') + GITHUB_TOKEN = credentials('github_token') DIST_IMAGE = 'ubuntu' DIST_TAG = 'xenial' DIST_PACKAGES = 'none' @@ -83,21 +82,14 @@ pipeline { /* ######################## External Release Tagging ######################## */ - // If this is a devel github release use the first in an array from github to determine the ext tag - stage("Set ENV github_devel"){ + // If this is a custom json endpoint parse the return to get external tag + stage("Set ENV custom_json"){ steps{ script{ env.EXT_RELEASE = sh( - script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases | jq -r '.[0] | .tag_name' ''', + script: '''curl -s ${JSON_URL} | jq -r ". | ${JSON_PATH}" ''', returnStdout: true).trim() - } - } - } - // If this is a stable or devel github release generate the link for the build message - stage("Set ENV github_link"){ - steps{ - script{ - env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE + env.RELEASE_LINK = env.JSON_URL } } } @@ -426,11 +418,11 @@ pipeline { "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' echo "Pushing New release for Tag" sh '''#! /bin/bash - curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases | jq ".[] | select(.tag_name == \"${EXT_RELEASE}\") | .body" | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json + echo "Data change at JSON endpoint ${JSON_URL}" > releasebody.json echo '{"tag_name":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ "target_commitish": "master",\ "name": "'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ - "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start + "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start printf '","draft": false,"prerelease": false}' >> releasebody.json paste -d'\\0' start releasebody.json > releasebody.json.done curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''