@@ -50,7 +50,7 @@ pipeline {
50
50
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /commit/' + env. GIT_COMMIT
51
51
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DOCKERHUB_IMAGE + ' /tags/'
52
52
env. PULL_REQUEST = env. CHANGE_ID
53
- env. TEMPLATED_FILES = ' Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
53
+ env. TEMPLATED_FILES = ' Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/call_invalid_helper.yml ./.github/workflows/permissions .yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
54
54
}
55
55
script{
56
56
env. LS_RELEASE_NUMBER = sh(
@@ -269,7 +269,7 @@ pipeline {
269
269
echo "Jenkinsfile is up to date."
270
270
fi
271
271
# Stage 2 - Delete old templates
272
- OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
272
+ OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n .github/ISSUE_TEMPLATE/issue.bug.md \n .github/ISSUE_TEMPLATE/issue.feature.md "
273
273
for i in ${OLD_TEMPLATES}; do
274
274
if [[ -f "${i}" ]]; then
275
275
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -413,7 +413,8 @@ pipeline {
413
413
}
414
414
steps {
415
415
echo " Running on node: ${ NODE_NAME} "
416
- sh " docker build \
416
+ sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
417
+ sh " docker buildx build \
417
418
--label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
418
419
--label \" org.opencontainers.image.authors=linuxserver.io\" \
419
420
--label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-readme-sync/packages\" \
@@ -426,7 +427,7 @@ pipeline {
426
427
--label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
427
428
--label \" org.opencontainers.image.title=Readme-sync\" \
428
429
--label \" org.opencontainers.image.description=readme-sync image by linuxserver.io\" \
429
- --no-cache --pull -t ${ IMAGE} :${ META_TAG} \
430
+ --no-cache --pull -t ${ IMAGE} :${ META_TAG} --platform=linux/amd64 \
430
431
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
431
432
}
432
433
}
@@ -443,7 +444,8 @@ pipeline {
443
444
stage(' Build X86' ) {
444
445
steps {
445
446
echo " Running on node: ${ NODE_NAME} "
446
- sh " docker build \
447
+ sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
448
+ sh " docker buildx build \
447
449
--label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
448
450
--label \" org.opencontainers.image.authors=linuxserver.io\" \
449
451
--label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-readme-sync/packages\" \
@@ -456,7 +458,7 @@ pipeline {
456
458
--label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
457
459
--label \" org.opencontainers.image.title=Readme-sync\" \
458
460
--label \" org.opencontainers.image.description=readme-sync image by linuxserver.io\" \
459
- --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} \
461
+ --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} --platform=linux/amd64 \
460
462
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
461
463
}
462
464
}
@@ -470,7 +472,8 @@ pipeline {
470
472
sh ''' #! /bin/bash
471
473
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
472
474
'''
473
- sh " docker build \
475
+ sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
476
+ sh " docker buildx build \
474
477
--label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
475
478
--label \" org.opencontainers.image.authors=linuxserver.io\" \
476
479
--label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-readme-sync/packages\" \
@@ -483,7 +486,7 @@ pipeline {
483
486
--label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
484
487
--label \" org.opencontainers.image.title=Readme-sync\" \
485
488
--label \" org.opencontainers.image.description=readme-sync image by linuxserver.io\" \
486
- --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
489
+ --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} --platform=linux/arm/v7 \
487
490
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
488
491
sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
489
492
retry(5 ) {
@@ -504,7 +507,8 @@ pipeline {
504
507
sh ''' #! /bin/bash
505
508
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
506
509
'''
507
- sh " docker build \
510
+ sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
511
+ sh " docker buildx build \
508
512
--label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
509
513
--label \" org.opencontainers.image.authors=linuxserver.io\" \
510
514
--label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-readme-sync/packages\" \
@@ -517,7 +521,7 @@ pipeline {
517
521
--label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
518
522
--label \" org.opencontainers.image.title=Readme-sync\" \
519
523
--label \" org.opencontainers.image.description=readme-sync image by linuxserver.io\" \
520
- --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
524
+ --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} --platform=linux/arm64 \
521
525
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
522
526
sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
523
527
retry(5 ) {
@@ -546,26 +550,12 @@ pipeline {
546
550
else
547
551
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
548
552
fi
549
- if [ "${DIST_IMAGE}" == "alpine" ]; then
550
- docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
551
- apk info -v > /tmp/package_versions.txt && \
552
- sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
553
- chmod 777 /tmp/package_versions.txt'
554
- elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
555
- docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
556
- apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
557
- sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
558
- chmod 777 /tmp/package_versions.txt'
559
- elif [ "${DIST_IMAGE}" == "fedora" ]; then
560
- docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
561
- rpm -qa > /tmp/package_versions.txt && \
562
- sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
563
- chmod 777 /tmp/package_versions.txt'
564
- elif [ "${DIST_IMAGE}" == "arch" ]; then
565
- docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
566
- pacman -Q > /tmp/package_versions.txt && \
567
- chmod 777 /tmp/package_versions.txt'
568
- fi
553
+ touch ${TEMPDIR}/package_versions.txt
554
+ docker run --rm \
555
+ -v /var/run/docker.sock:/var/run/docker.sock:ro \
556
+ -v ${TEMPDIR}:/tmp \
557
+ ghcr.io/anchore/syft:latest \
558
+ ${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
569
559
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
570
560
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
571
561
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
@@ -776,33 +766,33 @@ pipeline {
776
766
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
777
767
if [ "${CI}" == "false" ]; then
778
768
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
779
- docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
780
769
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
770
+ docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
781
771
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
782
772
fi
783
773
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
784
774
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
785
- docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
786
- docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
787
775
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
788
- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
789
- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
790
776
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
777
+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
778
+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
791
779
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
780
+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
781
+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
792
782
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
793
783
if [ -n "${SEMVER}" ]; then
794
784
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
795
785
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
796
786
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
797
787
fi
798
788
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
799
- docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
800
- docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
789
+ docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
801
790
docker push ${MANIFESTIMAGE}:amd64-latest
791
+ docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
802
792
docker push ${MANIFESTIMAGE}:arm32v7-latest
803
- docker push ${MANIFESTIMAGE}:arm64v8-latest
804
- docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
805
793
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
794
+ docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
795
+ docker push ${MANIFESTIMAGE}:arm64v8-latest
806
796
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
807
797
if [ -n "${SEMVER}" ]; then
808
798
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -948,12 +938,12 @@ pipeline {
948
938
sh ' echo "build aborted"'
949
939
}
950
940
else if (currentBuild. currentResult == " SUCCESS" ){
951
- sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot .png","embeds": [{"color": 1681177,\
941
+ sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar .png","embeds": [{"color": 1681177,\
952
942
"description": "**Build:** '${BUILD_NUMBER}'\\ n**CI Results:** '${CI_URL}'\\ n**ShellCheck Results:** '${SHELLCHECK_URL}'\\ n**Status:** Success\\ n**Job:** '${RUN_DISPLAY_URL}'\\ n**Change:** '${CODE_URL}'\\ n**External Release:**: '${RELEASE_LINK}'\\ n**DockerHub:** '${DOCKERHUB_LINK}'\\ n"}],\
953
943
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
954
944
}
955
945
else {
956
- sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot .png","embeds": [{"color": 16711680,\
946
+ sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar .png","embeds": [{"color": 16711680,\
957
947
"description": "**Build:** '${BUILD_NUMBER}'\\ n**CI Results:** '${CI_URL}'\\ n**ShellCheck Results:** '${SHELLCHECK_URL}'\\ n**Status:** failure\\ n**Job:** '${RUN_DISPLAY_URL}'\\ n**Change:** '${CODE_URL}'\\ n**External Release:**: '${RELEASE_LINK}'\\ n**DockerHub:** '${DOCKERHUB_LINK}'\\ n"}],\
958
948
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
959
949
}
0 commit comments