Skip to content
This repository was archived by the owner on Dec 22, 2024. It is now read-only.

Commit a545118

Browse files
committed
Bot Updating Templated Files
1 parent 9bfc574 commit a545118

File tree

1 file changed

+19
-42
lines changed

1 file changed

+19
-42
lines changed

Jenkinsfile

Lines changed: 19 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ pipeline {
4040
if [[ -n "${containers}" ]]; then
4141
docker stop ${containers}
4242
fi
43-
docker system prune -af --volumes || :
44-
'''
43+
docker system prune -af --volumes || : '''
4544
script{
4645
env.EXIT_STATUS = ''
4746
env.IG_RELEASE = sh(
@@ -93,7 +92,7 @@ pipeline {
9392
steps{
9493
script{
9594
env.PACKAGE_TAG = sh(
96-
script: '''#! /bin/bash
95+
script: '''#!/bin/bash
9796
if [ -e package_versions.txt ] ; then
9897
cat package_versions.txt | md5sum | cut -c1-8
9998
else
@@ -201,12 +200,12 @@ pipeline {
201200
script{
202201
env.GITHUBIMAGE = 'ghcr.io/' + env.IG_USER + '/igpipepr-' + env.CONTAINER_NAME
203202
if (env.MULTIARCH == 'true') {
204-
env.CI_TAGS = 'amd64-' + 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
203+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
205204
} else {
206-
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
205+
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
207206
}
208-
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
209-
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
207+
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
208+
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
210209
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
211210
env.CODE_URL = 'https://github.com/' + env.IG_USER + '/' + env.IG_REPO + '/pull/' + env.PULL_REQUEST
212211
}
@@ -262,7 +261,7 @@ pipeline {
262261
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
263262
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
264263
git clone --branch main --depth 1 https://ImageGeniusCI:${GITHUB_TOKEN}@github.com/${IG_USER}/${IG_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
265-
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true ghcr.io/imagegenius/jenkins-builder:latest
264+
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/imagegenius/jenkins-builder:latest
266265
echo "Starting Stage 1 - Jenkinsfile update"
267266
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
268267
mkdir -p ${TEMPDIR}/repo
@@ -282,7 +281,7 @@ pipeline {
282281
echo "Jenkinsfile is up to date."
283282
fi
284283
echo "Starting Stage 2 - Delete old templates"
285-
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
284+
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml"
286285
for i in ${OLD_TEMPLATES}; do
287286
if [[ -f "${i}" ]]; then
288287
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -347,7 +346,9 @@ pipeline {
347346
echo "Updating Unraid template"
348347
cd ${TEMPDIR}/unraid/templates/
349348
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
350-
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
349+
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then
350+
echo "Image is on the ignore list, and already in the deprecation folder."
351+
elif grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
351352
echo "Image is on the ignore list, marking Unraid template as deprecated"
352353
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
353354
git add -u unraid/${CONTAINER_NAME}.xml
@@ -437,6 +438,7 @@ pipeline {
437438
--label \"org.opencontainers.image.title=Maintenance\" \
438439
--label \"org.opencontainers.image.description=Maintenance is a minimal nginx docker image with a soul purpose to be a maintenance page for when your main webserver is down\" \
439440
--no-cache --pull -t ${GITHUBIMAGE}:${META_TAG} --platform=linux/amd64 \
441+
--provenance=false --sbom=false \
440442
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
441443
}
442444
}
@@ -466,6 +468,7 @@ pipeline {
466468
--label \"org.opencontainers.image.title=Maintenance\" \
467469
--label \"org.opencontainers.image.description=Maintenance is a minimal nginx docker image with a soul purpose to be a maintenance page for when your main webserver is down\" \
468470
--no-cache --pull -t ${GITHUBIMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
471+
--provenance=false --sbom=false \
469472
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
470473
}
471474
}
@@ -492,6 +495,7 @@ pipeline {
492495
--label \"org.opencontainers.image.title=Maintenance\" \
493496
--label \"org.opencontainers.image.description=Maintenance is a minimal nginx docker image with a soul purpose to be a maintenance page for when your main webserver is down\" \
494497
--no-cache --pull -f Dockerfile.aarch64 -t ${GITHUBIMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
498+
--provenance=false --sbom=false \
495499
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
496500
sh "docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ghcr.io/imagegenius/igdev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
497501
retry(5) {
@@ -518,7 +522,7 @@ pipeline {
518522
sh '''#! /bin/bash
519523
set -e
520524
TEMPDIR=$(mktemp -d)
521-
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
525+
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" != "true" ]; then
522526
LOCAL_CONTAINER=${GITHUBIMAGE}:amd64-${META_TAG}
523527
else
524528
LOCAL_CONTAINER=${GITHUBIMAGE}:${META_TAG}
@@ -616,7 +620,6 @@ pipeline {
616620
-v /var/run/docker.sock:/var/run/docker.sock \
617621
-e IMAGE=\"${GITHUBIMAGE}\" \
618622
-e CONTAINER=\"${CONTAINER_NAME}\" \
619-
-e DELAY_START=\"${CI_DELAY:-30}\" \
620623
-e TAGS=\"${CI_TAGS}\" \
621624
-e META_TAG=\"${META_TAG}\" \
622625
-e PORT=\"${CI_PORT}\" \
@@ -679,10 +682,8 @@ pipeline {
679682
docker pull ghcr.io/imagegenius/igdev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
680683
docker tag ghcr.io/imagegenius/igdev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${GITHUBIMAGE}:arm64v8-${META_TAG}
681684
fi
682-
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
683685
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-latest
684686
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG}
685-
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
686687
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-latest
687688
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
688689
if [ -n "${SEMVER}" ]; then
@@ -699,35 +700,11 @@ pipeline {
699700
docker push ${GITHUBIMAGE}:amd64-${SEMVER}
700701
docker push ${GITHUBIMAGE}:arm64v8-${SEMVER}
701702
fi
702-
docker manifest push --purge ${GITHUBIMAGE}:latest || :
703-
docker manifest create ${GITHUBIMAGE}:latest ${GITHUBIMAGE}:amd64-latest ${GITHUBIMAGE}:arm64v8-latest
704-
docker manifest annotate ${GITHUBIMAGE}:latest ${GITHUBIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
705-
docker manifest push --purge ${GITHUBIMAGE}:${META_TAG} || :
706-
docker manifest create ${GITHUBIMAGE}:${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
707-
docker manifest annotate ${GITHUBIMAGE}:${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
708-
docker manifest push --purge ${GITHUBIMAGE}:${EXT_RELEASE_TAG} || :
709-
docker manifest create ${GITHUBIMAGE}:${EXT_RELEASE_TAG} ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG} ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
710-
docker manifest annotate ${GITHUBIMAGE}:${EXT_RELEASE_TAG} ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
711-
if [ -n "${SEMVER}" ]; then
712-
docker manifest push --purge ${GITHUBIMAGE}:${SEMVER} || :
713-
docker manifest create ${GITHUBIMAGE}:${SEMVER} ${GITHUBIMAGE}:amd64-${SEMVER} ${GITHUBIMAGE}:arm64v8-${SEMVER}
714-
docker manifest annotate ${GITHUBIMAGE}:${SEMVER} ${GITHUBIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
715-
fi
716-
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Aimagegenius%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
717-
digest=$(curl -s \
718-
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
719-
--header "Authorization: Bearer ${token}" \
720-
"https://ghcr.io/v2/imagegenius/${CONTAINER_NAME}/manifests/arm32v7-latest")
721-
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
722-
docker manifest push --purge ${GITHUBIMAGE}:arm32v7-latest || :
723-
docker manifest create ${GITHUBIMAGE}:arm32v7-latest ${GITHUBIMAGE}:amd64-latest
724-
docker manifest push --purge ${GITHUBIMAGE}:arm32v7-latest
725-
fi
726-
docker manifest push --purge ${GITHUBIMAGE}:latest
727-
docker manifest push --purge ${GITHUBIMAGE}:${META_TAG}
728-
docker manifest push --purge ${GITHUBIMAGE}:${EXT_RELEASE_TAG}
703+
docker buildx imagetools create -t ${GITHUBIMAGE}:latest ${GITHUBIMAGE}:amd64-latest ${GITHUBIMAGE}:arm64v8-latest
704+
docker buildx imagetools create -t ${GITHUBIMAGE}:${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
705+
docker buildx imagetools create -t ${GITHUBIMAGE}:${EXT_RELEASE_TAG} ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG} ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
729706
if [ -n "${SEMVER}" ]; then
730-
docker manifest push --purge ${GITHUBIMAGE}:${SEMVER}
707+
docker buildx imagetools create -t ${GITHUBIMAGE}:${SEMVER} ${GITHUBIMAGE}:amd64-${SEMVER} ${GITHUBIMAGE}:arm64v8-${SEMVER}
731708
fi
732709
'''
733710
}

0 commit comments

Comments
 (0)