Compare commits

..

1 Commits

Author SHA1 Message Date
LinuxServer-CI
d7f12610c6 Bot Updating Package Versions 2018-11-06 15:23:50 +00:00
7 changed files with 41 additions and 55 deletions

View File

@@ -23,8 +23,8 @@ RUN \
mkdir -p \ mkdir -p \
/var/www/localhost/heimdall && \ /var/www/localhost/heimdall && \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \ if [ -z ${HEIMDALL_RELEASE+x} ]; then \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
| awk '/sha/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/tmp/heimdall.tar.gz -L \ /tmp/heimdall.tar.gz -L \

View File

@@ -26,8 +26,8 @@ RUN \
mkdir -p \ mkdir -p \
/var/www/localhost/heimdall && \ /var/www/localhost/heimdall && \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \ if [ -z ${HEIMDALL_RELEASE+x} ]; then \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
| awk '/sha/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/tmp/heimdall.tar.gz -L \ /tmp/heimdall.tar.gz -L \

View File

@@ -26,8 +26,8 @@ RUN \
mkdir -p \ mkdir -p \
/var/www/localhost/heimdall && \ /var/www/localhost/heimdall && \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \ if [ -z ${HEIMDALL_RELEASE+x} ]; then \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
| awk '/sha/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/tmp/heimdall.tar.gz -L \ /tmp/heimdall.tar.gz -L \

65
Jenkinsfile vendored
View File

@@ -6,7 +6,7 @@ pipeline {
parameters { parameters {
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK') string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
} }
// Configuration for the variables used for this specific repo // Configuraiton for the variables used for this specific repo
environment { environment {
EXT_GIT_BRANCH = 'master' EXT_GIT_BRANCH = 'master'
EXT_USER = 'linuxserver' EXT_USER = 'linuxserver'
@@ -14,7 +14,6 @@ pipeline {
BUILD_VERSION_ARG = 'HEIMDALL_RELEASE' BUILD_VERSION_ARG = 'HEIMDALL_RELEASE'
LS_USER = 'linuxserver' LS_USER = 'linuxserver'
LS_REPO = 'docker-heimdall' LS_REPO = 'docker-heimdall'
CONTAINER_NAME = 'heimdall'
DOCKERHUB_IMAGE = 'linuxserver/heimdall' DOCKERHUB_IMAGE = 'linuxserver/heimdall'
DEV_DOCKERHUB_IMAGE = 'lsiodev/heimdall' DEV_DOCKERHUB_IMAGE = 'lsiodev/heimdall'
PR_DOCKERHUB_IMAGE = 'lspipepr/heimdall' PR_DOCKERHUB_IMAGE = 'lspipepr/heimdall'
@@ -38,7 +37,7 @@ pipeline {
script{ script{
env.EXIT_STATUS = '' env.EXIT_STATUS = ''
env.LS_RELEASE = sh( env.LS_RELEASE = sh(
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases | jq -r 'first(.[] | select(.prerelease == true)) | .tag_name' ''', script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/latest | jq -r '. | .tag_name' ''',
returnStdout: true).trim() returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh( env.LS_RELEASE_NOTES = sh(
script: '''git log -1 --pretty=%B | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''', script: '''git log -1 --pretty=%B | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -98,28 +97,28 @@ pipeline {
/* ######################## /* ########################
External Release Tagging External Release Tagging
######################## */ ######################## */
// If this is a github commit trigger determine the current commit at head // If this is a stable github release use the latest endpoint from github to determine the ext tag
stage("Set ENV github_commit"){ stage("Set ENV github_stable"){
steps{ steps{
script{ script{
env.EXT_RELEASE = sh( env.EXT_RELEASE = sh(
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq -r '. | .sha' | cut -c1-8 ''', script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
returnStdout: true).trim() returnStdout: true).trim()
} }
} }
} }
// If this is a github commit trigger Set the external release link // If this is a stable or devel github release generate the link for the build message
stage("Set ENV commit_link"){ stage("Set ENV github_link"){
steps{ steps{
script{ script{
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/commit/' + env.EXT_RELEASE env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE
} }
} }
} }
// If this is a master build use live docker endpoints // If this is a master build use live docker endpoints
stage("Set ENV live build"){ stage("Set ENV live build"){
when { when {
branch "development" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
} }
steps { steps {
@@ -137,7 +136,7 @@ pipeline {
// If this is a dev build use dev docker endpoints // If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){ stage("Set ENV dev build"){
when { when {
not {branch "development"} not {branch "master"}
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
} }
steps { steps {
@@ -445,8 +444,8 @@ pipeline {
sh '''#! /bin/bash sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
''' '''
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:development" sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
sh "docker push ${IMAGE}:development" sh "docker push ${IMAGE}:latest"
sh "docker push ${IMAGE}:${META_TAG}" sh "docker push ${IMAGE}:${META_TAG}"
} }
} }
@@ -476,24 +475,24 @@ pipeline {
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG} docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi''' fi'''
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-development" sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-development" sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-latest"
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-development" sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
sh "docker push ${IMAGE}:amd64-${META_TAG}" sh "docker push ${IMAGE}:amd64-${META_TAG}"
sh "docker push ${IMAGE}:arm32v6-${META_TAG}" sh "docker push ${IMAGE}:arm32v6-${META_TAG}"
sh "docker push ${IMAGE}:arm64v8-${META_TAG}" sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
sh "docker push ${IMAGE}:amd64-development" sh "docker push ${IMAGE}:amd64-latest"
sh "docker push ${IMAGE}:arm32v6-development" sh "docker push ${IMAGE}:arm32v6-latest"
sh "docker push ${IMAGE}:arm64v8-development" sh "docker push ${IMAGE}:arm64v8-latest"
sh "docker manifest push --purge ${IMAGE}:development || :" sh "docker manifest push --purge ${IMAGE}:latest || :"
sh "docker manifest create ${IMAGE}:development ${IMAGE}:amd64-development ${IMAGE}:arm32v6-development ${IMAGE}:arm64v8-development" sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v6-latest ${IMAGE}:arm64v8-latest"
sh "docker manifest annotate ${IMAGE}:development ${IMAGE}:arm32v6-development --os linux --arch arm" sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v6-latest --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:development ${IMAGE}:arm64v8-development --os linux --arch arm64 --variant v8" sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} || :" sh "docker manifest push --purge ${IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} || :"
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}" sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm" sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8" sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:development" sh "docker manifest push --purge ${IMAGE}:latest"
sh "docker manifest push --purge ${IMAGE}:${META_TAG}" sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
} }
} }
@@ -501,7 +500,7 @@ pipeline {
// If this is a public release tag it in the LS Github and push a changelog from external repo and our internal one // If this is a public release tag it in the LS Github and push a changelog from external repo and our internal one
stage('Github-Tag-Push-Release') { stage('Github-Tag-Push-Release') {
when { when {
branch "development" branch "master"
expression { expression {
env.LS_RELEASE != env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER env.LS_RELEASE != env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER
} }
@@ -513,17 +512,17 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ -d '{"tag":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
"object": "'${COMMIT_SHA}'",\ "object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to development",\ "message": "Tagging Release '${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\ "type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag" echo "Pushing New release for Tag"
sh '''#! /bin/bash sh '''#! /bin/bash
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq '. | .commit.message' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ echo '{"tag_name":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "development",\ "target_commitish": "master",\
"name": "'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ "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**'${EXT_REPO}' Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json printf '","draft": false,"prerelease": false}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done 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''' curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
} }

View File

@@ -21,7 +21,6 @@ From August 2018 onwards, Linuxserver are in the midst of switching to a new CI
TLDR: Multi-arch support is changing from multiple repos to one repo per container image. TLDR: Multi-arch support is changing from multiple repos to one repo per container image.
# [linuxserver/heimdall](https://github.com/linuxserver/docker-heimdall) # [linuxserver/heimdall](https://github.com/linuxserver/docker-heimdall)
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
[![](https://images.microbadger.com/badges/version/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/version/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
[![](https://images.microbadger.com/badges/image/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/image/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/heimdall.svg) ![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/heimdall.svg)
@@ -60,15 +59,9 @@ docker create \
-p 80:80 \ -p 80:80 \
-p 443:443 \ -p 443:443 \
-v </path/to/appdata/config>:/config \ -v </path/to/appdata/config>:/config \
--restart unless-stopped
linuxserver/heimdall linuxserver/heimdall
``` ```
Using tags, you can switch between the stable releases of Heimdall and the master branch. No tag is required for the latest stable release.
Add the development tag, if required, to the linuxserver/heimdall line of the run/create command in the following format, linuxserver/heimdall:development
The development tag will be the latest commit in the master branch of Heimdall.
HOWEVER , USE THE DEVELOPMENT TAG AT YOUR OWN PERIL !!!!!!!!!
### docker-compose ### docker-compose
@@ -143,7 +136,6 @@ This image now supports password protection through htpasswd. Run the following
## Versions ## Versions
* **04.11.18:** - Add php7-zip.
* **31.10.18:** - Add queue service. * **31.10.18:** - Add queue service.
* **17.10.18:** - Symlink avatars folder. * **17.10.18:** - Symlink avatars folder.
* **16.10.18:** - Updated fastcgi_params for user login support. * **16.10.18:** - Updated fastcgi_params for user login support.

View File

@@ -57,7 +57,7 @@ php7-session php7-session-7.2.10-r0
php7-simplexml php7-simplexml-7.2.10-r0 php7-simplexml php7-simplexml-7.2.10-r0
php7-xml php7-xml-7.2.10-r0 php7-xml php7-xml-7.2.10-r0
php7-xmlwriter php7-xmlwriter-7.2.10-r0 php7-xmlwriter php7-xmlwriter-7.2.10-r0
curl curl-7.61.1-r0 curl curl-7.61.1-r1
php7-ctype php7-ctype-7.2.10-r0 php7-ctype php7-ctype-7.2.10-r0
php7-pdo php7-pdo-7.2.10-r0 php7-pdo php7-pdo-7.2.10-r0
sqlite-libs sqlite-libs-3.24.0-r0 sqlite-libs sqlite-libs-3.24.0-r0

View File

@@ -32,13 +32,8 @@ param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
# optional parameters # optional parameters
optional_block_1: true optional_block_1: false
optional_block_1_items: optional_block_1_items: ""
- |
Using tags, you can switch between the stable releases of Heimdall and the master branch. No tag is required for the latest stable release.
Add the development tag, if required, to the linuxserver/heimdall line of the run/create command in the following format, linuxserver/heimdall:development
The development tag will be the latest commit in the master branch of Heimdall.
HOWEVER , USE THE DEVELOPMENT TAG AT YOUR OWN PERIL !!!!!!!!!
# application setup block # application setup block
app_setup_block_enabled: true app_setup_block_enabled: true