|
|
@@ -44,7 +44,7 @@ pipeline {
|
|
|
script{
|
|
|
env.EXIT_STATUS = ''
|
|
|
env.LS_RELEASE = sh(
|
|
|
- script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':release-4.2 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
|
|
+ script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':release-4.2 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
|
|
returnStdout: true).trim()
|
|
|
env.LS_RELEASE_NOTES = sh(
|
|
|
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
|
|
@@ -58,7 +58,7 @@ pipeline {
|
|
|
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
|
|
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
|
|
|
env.PULL_REQUEST = env.CHANGE_ID
|
|
|
- env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md'
|
|
|
+ env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml'
|
|
|
}
|
|
|
script{
|
|
|
env.LS_RELEASE_NUMBER = sh(
|
|
|
@@ -138,7 +138,7 @@ pipeline {
|
|
|
steps {
|
|
|
script{
|
|
|
env.IMAGE = env.DOCKERHUB_IMAGE
|
|
|
- env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
|
|
+ env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
|
|
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
|
|
if (env.MULTIARCH == 'true') {
|
|
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
|
|
@@ -146,6 +146,7 @@ pipeline {
|
|
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
|
|
}
|
|
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
|
|
+ env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -158,7 +159,7 @@ pipeline {
|
|
|
steps {
|
|
|
script{
|
|
|
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
|
|
- env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
|
|
+ env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
|
|
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
|
|
if (env.MULTIARCH == 'true') {
|
|
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
|
|
@@ -166,6 +167,7 @@ pipeline {
|
|
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
|
|
}
|
|
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
|
|
+ env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
|
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
|
|
}
|
|
|
}
|
|
|
@@ -178,7 +180,7 @@ pipeline {
|
|
|
steps {
|
|
|
script{
|
|
|
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
|
|
- env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
|
|
+ env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
|
|
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
|
|
if (env.MULTIARCH == 'true') {
|
|
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
|
|
@@ -186,6 +188,7 @@ pipeline {
|
|
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
|
|
}
|
|
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
|
|
+ env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
|
|
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
|
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
|
|
}
|
|
|
@@ -198,24 +201,24 @@ pipeline {
|
|
|
}
|
|
|
steps {
|
|
|
withCredentials([
|
|
|
- string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
|
|
|
- string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
|
|
|
+ string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'),
|
|
|
+ string(credentialsId: 'ci-tests-s3-secret-access-key', variable: 'S3_SECRET')
|
|
|
]) {
|
|
|
script{
|
|
|
- env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
|
|
|
+ env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
|
|
|
}
|
|
|
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
|
|
sh '''#! /bin/bash
|
|
|
set -e
|
|
|
- docker pull lsiodev/spaces-file-upload:latest
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
|
|
|
docker run --rm \
|
|
|
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
|
|
|
-e FILE_NAME="shellcheck-result.xml" \
|
|
|
-e MIMETYPE="text/xml" \
|
|
|
-v ${WORKSPACE}:/mnt \
|
|
|
- -e SECRET_KEY=\"${DO_SECRET}\" \
|
|
|
- -e ACCESS_KEY=\"${DO_KEY}\" \
|
|
|
- -t lsiodev/spaces-file-upload:latest \
|
|
|
+ -e SECRET_KEY=\"${S3_SECRET}\" \
|
|
|
+ -e ACCESS_KEY=\"${S3_KEY}\" \
|
|
|
+ -t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \
|
|
|
python /upload.py'''
|
|
|
}
|
|
|
}
|
|
|
@@ -233,8 +236,8 @@ pipeline {
|
|
|
sh '''#! /bin/bash
|
|
|
set -e
|
|
|
TEMPDIR=$(mktemp -d)
|
|
|
- docker pull linuxserver/jenkins-builder:latest
|
|
|
- docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=release-4.2 -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
|
|
+ docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
|
|
+ docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=release-4.2 -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
|
|
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
|
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
|
|
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
|
|
@@ -244,7 +247,7 @@ pipeline {
|
|
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
|
|
git checkout -f release-4.2
|
|
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
|
|
- mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
|
|
|
+ mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
|
|
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
|
|
|
cd ${TEMPDIR}/repo/${LS_REPO}/
|
|
|
git add ${TEMPLATED_FILES}
|
|
|
@@ -339,28 +342,19 @@ pipeline {
|
|
|
label 'ARMHF'
|
|
|
}
|
|
|
steps {
|
|
|
- withCredentials([
|
|
|
- [
|
|
|
- $class: 'UsernamePasswordMultiBinding',
|
|
|
- credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
|
|
- usernameVariable: 'DOCKERUSER',
|
|
|
- passwordVariable: 'DOCKERPASS'
|
|
|
- ]
|
|
|
- ]) {
|
|
|
- echo 'Logging into DockerHub'
|
|
|
- sh '''#! /bin/bash
|
|
|
- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
|
|
- '''
|
|
|
- sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
|
|
|
- --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
|
|
- sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
- retry(5) {
|
|
|
- sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
- }
|
|
|
- sh '''docker rmi \
|
|
|
- ${IMAGE}:arm32v7-${META_TAG} \
|
|
|
- lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
|
|
+ echo 'Logging into Github'
|
|
|
+ sh '''#! /bin/bash
|
|
|
+ echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
|
|
+ '''
|
|
|
+ sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
|
|
|
+ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
|
|
+ sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
+ retry(5) {
|
|
|
+ sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
}
|
|
|
+ sh '''docker rmi \
|
|
|
+ ${IMAGE}:arm32v7-${META_TAG} \
|
|
|
+ ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
|
|
}
|
|
|
}
|
|
|
stage('Build ARM64') {
|
|
|
@@ -368,28 +362,19 @@ pipeline {
|
|
|
label 'ARM64'
|
|
|
}
|
|
|
steps {
|
|
|
- withCredentials([
|
|
|
- [
|
|
|
- $class: 'UsernamePasswordMultiBinding',
|
|
|
- credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
|
|
- usernameVariable: 'DOCKERUSER',
|
|
|
- passwordVariable: 'DOCKERPASS'
|
|
|
- ]
|
|
|
- ]) {
|
|
|
- echo 'Logging into DockerHub'
|
|
|
- sh '''#! /bin/bash
|
|
|
- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
|
|
- '''
|
|
|
- sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
|
|
- --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
|
|
- sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
- retry(5) {
|
|
|
- sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
- }
|
|
|
- sh '''docker rmi \
|
|
|
- ${IMAGE}:arm64v8-${META_TAG} \
|
|
|
- lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
|
|
+ echo 'Logging into Github'
|
|
|
+ sh '''#! /bin/bash
|
|
|
+ echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
|
|
+ '''
|
|
|
+ sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
|
|
+ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
|
|
+ sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
+ retry(5) {
|
|
|
+ sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
|
|
}
|
|
|
+ sh '''docker rmi \
|
|
|
+ ${IMAGE}:arm64v8-${META_TAG} \
|
|
|
+ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -488,20 +473,20 @@ pipeline {
|
|
|
}
|
|
|
steps {
|
|
|
withCredentials([
|
|
|
- string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
|
|
|
- string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
|
|
|
+ string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'),
|
|
|
+ string(credentialsId: 'ci-tests-s3-secret-access-key ', variable: 'S3_SECRET')
|
|
|
]) {
|
|
|
script{
|
|
|
- env.CI_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
|
|
|
+ env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
|
|
|
}
|
|
|
sh '''#! /bin/bash
|
|
|
set -e
|
|
|
- docker pull lsiodev/ci:latest
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-ci:latest
|
|
|
if [ "${MULTIARCH}" == "true" ]; then
|
|
|
- docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
- docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
- docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
|
|
- docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
+ docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
|
|
+ docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
|
|
fi
|
|
|
docker run --rm \
|
|
|
--shm-size=1gb \
|
|
|
@@ -513,15 +498,15 @@ pipeline {
|
|
|
-e PORT=\"${CI_PORT}\" \
|
|
|
-e SSL=\"${CI_SSL}\" \
|
|
|
-e BASE=\"${DIST_IMAGE}\" \
|
|
|
- -e SECRET_KEY=\"${DO_SECRET}\" \
|
|
|
- -e ACCESS_KEY=\"${DO_KEY}\" \
|
|
|
+ -e SECRET_KEY=\"${S3_SECRET}\" \
|
|
|
+ -e ACCESS_KEY=\"${S3_KEY}\" \
|
|
|
-e DOCKER_ENV=\"${CI_DOCKERENV}\" \
|
|
|
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
|
|
|
-e WEB_AUTH=\"${CI_AUTH}\" \
|
|
|
-e WEB_PATH=\"${CI_WEBPATH}\" \
|
|
|
-e DO_REGION="ams3" \
|
|
|
-e DO_BUCKET="lsio-ci" \
|
|
|
- -t lsiodev/ci:latest \
|
|
|
+ -t ghcr.io/linuxserver/lsiodev-ci:latest \
|
|
|
python /ci/ci.py'''
|
|
|
}
|
|
|
}
|
|
|
@@ -548,13 +533,15 @@ pipeline {
|
|
|
sh '''#! /bin/bash
|
|
|
set -e
|
|
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
|
|
- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
|
|
+ echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
|
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
|
|
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
|
|
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
|
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:release-4.2
|
|
|
+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
|
|
docker push ${PUSHIMAGE}:release-4.2
|
|
|
docker push ${PUSHIMAGE}:${META_TAG}
|
|
|
+ docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
|
|
done
|
|
|
'''
|
|
|
}
|
|
|
@@ -562,6 +549,7 @@ pipeline {
|
|
|
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
|
|
|
docker rmi \
|
|
|
${DELETEIMAGE}:${META_TAG} \
|
|
|
+ ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
|
|
${DELETEIMAGE}:release-4.2 || :
|
|
|
done
|
|
|
'''
|
|
|
@@ -587,27 +575,33 @@ pipeline {
|
|
|
sh '''#! /bin/bash
|
|
|
set -e
|
|
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
|
|
- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
|
|
+ echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
|
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
|
|
if [ "${CI}" == "false" ]; then
|
|
|
- docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
- docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
- docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
|
|
- docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
+ docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
|
|
+ docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
|
|
fi
|
|
|
- for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
|
|
|
+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}"; do
|
|
|
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
|
|
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
|
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
|
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-release-4.2
|
|
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-release-4.2
|
|
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-release-4.2
|
|
|
+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
|
|
+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
|
|
+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
|
|
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
|
|
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
|
|
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
|
|
docker push ${MANIFESTIMAGE}:amd64-release-4.2
|
|
|
docker push ${MANIFESTIMAGE}:arm32v7-release-4.2
|
|
|
docker push ${MANIFESTIMAGE}:arm64v8-release-4.2
|
|
|
+ docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
|
|
+ docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
|
|
+ docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
|
|
docker manifest push --purge ${MANIFESTIMAGE}:release-4.2 || :
|
|
|
docker manifest create ${MANIFESTIMAGE}:release-4.2 ${MANIFESTIMAGE}:amd64-release-4.2 ${MANIFESTIMAGE}:arm32v7-release-4.2 ${MANIFESTIMAGE}:arm64v8-release-4.2
|
|
|
docker manifest annotate ${MANIFESTIMAGE}:release-4.2 ${MANIFESTIMAGE}:arm32v7-release-4.2 --os linux --arch arm
|
|
|
@@ -616,23 +610,13 @@ pipeline {
|
|
|
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
|
|
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
|
|
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
|
|
|
+ docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
|
|
+ docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
|
|
+ docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
|
|
docker manifest push --purge ${MANIFESTIMAGE}:release-4.2
|
|
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
|
|
+ docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
|
|
done
|
|
|
- docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
|
|
|
- docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
|
|
|
- docker tag ${IMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
|
|
|
- docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:release-4.2
|
|
|
- docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
|
|
|
- docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-release-4.2
|
|
|
- docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-release-4.2
|
|
|
- docker push ${GITHUBIMAGE}:amd64-${META_TAG}
|
|
|
- docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
|
|
|
- docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
|
|
|
- docker push ${GITHUBIMAGE}:release-4.2
|
|
|
- docker push ${GITHUBIMAGE}:${META_TAG}
|
|
|
- docker push ${GITHUBIMAGE}:arm32v7-release-4.2
|
|
|
- docker push ${GITHUBIMAGE}:arm64v8-release-4.2
|
|
|
'''
|
|
|
}
|
|
|
sh '''#! /bin/bash
|
|
|
@@ -646,8 +630,8 @@ pipeline {
|
|
|
${DELETEIMAGE}:arm64v8-release-4.2 || :
|
|
|
done
|
|
|
docker rmi \
|
|
|
- lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
|
|
- lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
|
|
|
+ ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
|
|
+ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
|
|
|
'''
|
|
|
}
|
|
|
}
|
|
|
@@ -698,14 +682,20 @@ pipeline {
|
|
|
]
|
|
|
]) {
|
|
|
sh '''#! /bin/bash
|
|
|
- docker pull lsiodev/readme-sync
|
|
|
+ set -e
|
|
|
+ TEMPDIR=$(mktemp -d)
|
|
|
+ docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
|
|
+ docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
|
|
+ docker pull ghcr.io/linuxserver/lsiodev-readme-sync
|
|
|
docker run --rm=true \
|
|
|
-e DOCKERHUB_USERNAME=$DOCKERUSER \
|
|
|
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
|
|
|
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
|
|
|
-e DOCKER_REPOSITORY=${IMAGE} \
|
|
|
-e GIT_BRANCH=master \
|
|
|
- lsiodev/readme-sync bash -c 'node sync' '''
|
|
|
+ -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
|
|
|
+ ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
|
|
|
+ rm -Rf ${TEMPDIR} '''
|
|
|
}
|
|
|
}
|
|
|
}
|