From 100947882701164b829337cce9a6ae14f367bb82 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Wed, 23 Nov 2022 22:00:25 +0000 Subject: [PATCH 01/61] Initial 3.17 release --- Dockerfile | 4 ++-- Dockerfile.aarch64 | 4 ++-- Dockerfile.armhf | 4 ++-- Jenkinsfile | 58 +++++++++++++++++++++++----------------------- jenkins-vars.yml | 2 +- 5 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Dockerfile b/Dockerfile index 24a9701b..0b893b86 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,9 @@ # syntax=docker/dockerfile:1 -FROM alpine:3.15 as rootfs-stage +FROM alpine:3.16 as rootfs-stage # environment -ENV REL=v3.16 +ENV REL=v3.17 ENV ARCH=x86_64 ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine ENV PACKAGES=alpine-baselayout,\ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index e3c2f8c3..4e22a226 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,9 +1,9 @@ # syntax=docker/dockerfile:1 -FROM alpine:3.15 as rootfs-stage +FROM alpine:3.16 as rootfs-stage # environment -ENV REL=v3.16 +ENV REL=v3.17 ENV ARCH=aarch64 ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine ENV PACKAGES=alpine-baselayout,\ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 343a6222..ad2f80c4 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,9 +1,9 @@ # syntax=docker/dockerfile:1 -FROM alpine:3.15 as rootfs-stage +FROM alpine:3.16 as rootfs-stage # environment -ENV REL=v3.16 +ENV REL=v3.17 ENV ARCH=armv7 ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine ENV PACKAGES=alpine-baselayout,\ diff --git a/Jenkinsfile b/Jenkinsfile index e8e37437..9324ebca 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -42,7 +42,7 @@ pipeline { script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( - script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':3.16 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}':3.17 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' ''', @@ -155,13 +155,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.16-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-3.16-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-3.16-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { - env.CI_TAGS = '3.16-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = '3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.META_TAG = '3.16-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.EXT_RELEASE_TAG = '3.16-version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = '3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.EXT_RELEASE_TAG = '3.17-version-' + env.EXT_RELEASE_CLEAN } } } @@ -178,13 +178,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { - env.CI_TAGS = '3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.META_TAG = '3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.EXT_RELEASE_TAG = '3.16-version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.EXT_RELEASE_TAG = '3.17-version-' + env.EXT_RELEASE_CLEAN env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' } } @@ -201,13 +201,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } else { - env.CI_TAGS = '3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.META_TAG = '3.16-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.EXT_RELEASE_TAG = '3.16-version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.EXT_RELEASE_TAG = '3.17-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/' } @@ -710,12 +710,12 @@ pipeline { echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG} - docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:3.16 + docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:3.17 docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER} fi - docker push ${PUSHIMAGE}:3.16 + docker push ${PUSHIMAGE}:3.17 docker push ${PUSHIMAGE}:${META_TAG} docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then @@ -729,7 +729,7 @@ pipeline { docker rmi \ ${DELETEIMAGE}:${META_TAG} \ ${DELETEIMAGE}:${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:3.16 || : + ${DELETEIMAGE}:3.17 || : if [ -n "${SEMVER}" ]; then docker rmi ${DELETEIMAGE}:${SEMVER} || : fi @@ -776,9 +776,9 @@ pipeline { 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-3.16 - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-3.16 - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-3.16 + docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-3.17 + docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-3.17 + docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-3.17 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} @@ -790,9 +790,9 @@ pipeline { docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker push ${MANIFESTIMAGE}:amd64-3.16 - docker push ${MANIFESTIMAGE}:arm32v7-3.16 - docker push ${MANIFESTIMAGE}:arm64v8-3.16 + docker push ${MANIFESTIMAGE}:amd64-3.17 + docker push ${MANIFESTIMAGE}:arm32v7-3.17 + docker push ${MANIFESTIMAGE}:arm64v8-3.17 docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} @@ -801,10 +801,10 @@ pipeline { docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi - docker manifest push --purge ${MANIFESTIMAGE}:3.16 || : - docker manifest create ${MANIFESTIMAGE}:3.16 ${MANIFESTIMAGE}:amd64-3.16 ${MANIFESTIMAGE}:arm32v7-3.16 ${MANIFESTIMAGE}:arm64v8-3.16 - docker manifest annotate ${MANIFESTIMAGE}:3.16 ${MANIFESTIMAGE}:arm32v7-3.16 --os linux --arch arm - docker manifest annotate ${MANIFESTIMAGE}:3.16 ${MANIFESTIMAGE}:arm64v8-3.16 --os linux --arch arm64 --variant v8 + docker manifest push --purge ${MANIFESTIMAGE}:3.17 || : + docker manifest create ${MANIFESTIMAGE}:3.17 ${MANIFESTIMAGE}:amd64-3.17 ${MANIFESTIMAGE}:arm32v7-3.17 ${MANIFESTIMAGE}:arm64v8-3.17 + docker manifest annotate ${MANIFESTIMAGE}:3.17 ${MANIFESTIMAGE}:arm32v7-3.17 --os linux --arch arm + docker manifest annotate ${MANIFESTIMAGE}:3.17 ${MANIFESTIMAGE}:arm64v8-3.17 --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : 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 @@ -819,7 +819,7 @@ pipeline { docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi - docker manifest push --purge ${MANIFESTIMAGE}:3.16 + docker manifest push --purge ${MANIFESTIMAGE}:3.17 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then @@ -832,10 +832,10 @@ pipeline { for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker rmi \ ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-3.16 \ + ${DELETEIMAGE}:arm32v7-3.17 \ ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:arm64v8-${META_TAG} \ - ${DELETEIMAGE}:arm64v8-3.16 \ + ${DELETEIMAGE}:arm64v8-3.17 \ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : if [ -n "${SEMVER}" ]; then docker rmi \ diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 71289ca7..d56f413d 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -4,7 +4,7 @@ project_name: docker-baseimage-alpine external_type: os release_type: stable -release_tag: "3.16" +release_tag: "3.17" ls_branch: master repo_vars: - BUILD_VERSION_ARG = 'OS' From 305e9a2c7ec9cb91c073bdb17bd615ca67268d07 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 23 Nov 2022 16:29:34 -0600 Subject: [PATCH 02/61] Bot Updating Package Versions --- package_versions.txt | 66 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index f8c04c52..863ecb4d 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,39 +1,39 @@ -alpine-baselayout-3.2.0-r23 -alpine-baselayout-data-3.2.0-r23 +alpine-baselayout-3.4.0-r0 +alpine-baselayout-data-3.4.0-r0 alpine-keys-2.4-r1 -apk-tools-2.12.9-r3 -bash-5.1.16-r2 -brotli-libs-1.0.9-r6 -busybox-1.35.0-r17 -ca-certificates-20220614-r0 -ca-certificates-bundle-20220614-r0 +apk-tools-2.12.10-r1 +bash-5.2.9-r0 +brotli-libs-1.0.9-r9 +busybox-1.35.0-r29 +busybox-binsh-1.35.0-r29 +ca-certificates-20220614-r2 +ca-certificates-bundle-20220614-r2 coreutils-9.1-r0 -curl-7.83.1-r4 -gmp-6.2.1-r2 -jq-1.6-r1 -libacl-2.3.1-r0 +curl-7.86.0-r1 +jq-1.6-r2 +libacl-2.3.1-r1 libattr-2.5.1-r1 libc-utils-0.7.2-r3 -libcrypto1.1-1.1.1s-r0 -libcurl-7.83.1-r4 -libintl-0.21-r2 -libproc-3.3.17-r1 -libssl1.1-1.1.1s-r0 -linux-pam-1.5.2-r0 -musl-1.2.3-r2 -musl-utils-1.2.3-r2 -ncurses-libs-6.3_p20220521-r0 -ncurses-terminfo-base-6.3_p20220521-r0 -nghttp2-libs-1.47.0-r0 +libcrypto3-3.0.7-r0 +libcurl-7.86.0-r1 +libintl-0.21.1-r1 +libproc-3.3.17-r2 +libssl3-3.0.7-r0 +linux-pam-1.5.2-r1 +musl-1.2.3-r4 +musl-utils-1.2.3-r4 +ncurses-libs-6.3_p20221119-r0 +ncurses-terminfo-base-6.3_p20221119-r0 +nghttp2-libs-1.51.0-r0 oniguruma-6.9.8-r0 -procps-3.3.17-r1 -readline-8.1.2-r0 -scanelf-1.3.4-r0 -shadow-4.10-r3 -skalibs-2.11.2.0-r0 -ssl_client-1.35.0-r17 +procps-3.3.17-r2 +readline-8.2.0-r0 +scanelf-1.3.5-r1 +shadow-4.13-r0 +skalibs-2.12.0.1-r0 +ssl_client-1.35.0-r29 tzdata-2022f-r1 -utmps-libs-0.1.2.0-r0 -xz-5.2.5-r1 -xz-libs-5.2.5-r1 -zlib-1.2.12-r3 +utmps-libs-0.1.2.0-r1 +xz-5.2.8-r0 +xz-libs-5.2.8-r0 +zlib-1.2.13-r0 From 078343fa8c3a0a5168f23af097134d2d71c19f5f Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 25 Nov 2022 15:27:22 +0000 Subject: [PATCH 03/61] Add alpine-release package --- Dockerfile | 1 + Dockerfile.aarch64 | 1 + Dockerfile.armhf | 1 + 3 files changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 0b893b86..d928e986 100644 --- a/Dockerfile +++ b/Dockerfile @@ -75,6 +75,7 @@ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ + alpine-release\ bash \ ca-certificates \ coreutils \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 4e22a226..b332da63 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -75,6 +75,7 @@ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ + alpine-release\ bash \ ca-certificates \ coreutils \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index ad2f80c4..88f9d70d 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -75,6 +75,7 @@ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ + alpine-release\ bash \ ca-certificates \ coreutils \ From 7596410d7f1f575949875c7faea050575732f9dc Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 25 Nov 2022 15:37:19 +0000 Subject: [PATCH 04/61] Spaces --- Dockerfile | 2 +- Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index d928e986..94170a11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -75,7 +75,7 @@ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ - alpine-release\ + alpine-release \ bash \ ca-certificates \ coreutils \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index b332da63..d2d64732 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -75,7 +75,7 @@ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ - alpine-release\ + alpine-release \ bash \ ca-certificates \ coreutils \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 88f9d70d..7d6c671c 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -75,7 +75,7 @@ S6_STAGE2_HOOK=/docker-mods RUN \ echo "**** install runtime packages ****" && \ apk add --no-cache \ - alpine-release\ + alpine-release \ bash \ ca-certificates \ coreutils \ From df09f6d68c0406bd8256ff8d0817b1a9be691175 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Fri, 25 Nov 2022 11:12:36 -0600 Subject: [PATCH 05/61] Bot Updating Package Versions --- package_versions.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/package_versions.txt b/package_versions.txt index 863ecb4d..e0c353a7 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,6 +1,7 @@ alpine-baselayout-3.4.0-r0 alpine-baselayout-data-3.4.0-r0 alpine-keys-2.4-r1 +alpine-release-3.17.0-r0 apk-tools-2.12.10-r1 bash-5.2.9-r0 brotli-libs-1.0.9-r9 From 5d595802796144386839b1087d64d87bc38925fa Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Tue, 29 Nov 2022 07:33:41 +0100 Subject: [PATCH 06/61] Bot Updating Templated Files --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9324ebca..da2e6df3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,7 +56,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 .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' + 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/external_trigger.yml ./.github/workflows/package_trigger.yml' } script{ env.LS_RELEASE_NUMBER = sh( @@ -275,7 +275,7 @@ pipeline { echo "Jenkinsfile is up to date." fi # Stage 2 - Delete old templates - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md" + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" From 87dfb438320e987d081dd1d176faea634bfd6ba8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Tue, 29 Nov 2022 07:35:58 +0100 Subject: [PATCH 07/61] Bot Updating Templated Files --- .github/ISSUE_TEMPLATE/issue.bug.md | 40 ------------------------- .github/ISSUE_TEMPLATE/issue.feature.md | 25 ---------------- 2 files changed, 65 deletions(-) delete mode 100755 .github/ISSUE_TEMPLATE/issue.bug.md delete mode 100755 .github/ISSUE_TEMPLATE/issue.feature.md diff --git a/.github/ISSUE_TEMPLATE/issue.bug.md b/.github/ISSUE_TEMPLATE/issue.bug.md deleted file mode 100755 index d240cc4b..00000000 --- a/.github/ISSUE_TEMPLATE/issue.bug.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve - ---- -[linuxserverurl]: https://linuxserver.io -[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] - - - - - ------------------------------- - -## Expected Behavior - - -## Current Behavior - - -## Steps to Reproduce - - -1. -2. -3. -4. - -## Environment -**OS:** -**CPU architecture:** x86_64/arm32/arm64 -**How docker service was installed:** - - - -## Command used to create docker container (run/create/compose/screenshot) - - -## Docker logs - diff --git a/.github/ISSUE_TEMPLATE/issue.feature.md b/.github/ISSUE_TEMPLATE/issue.feature.md deleted file mode 100755 index 20a91fdb..00000000 --- a/.github/ISSUE_TEMPLATE/issue.feature.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- -[linuxserverurl]: https://linuxserver.io -[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] - - - - - - - - ------------------------------- - -## Desired Behavior - - -## Current Behavior - - -## Alternatives Considered - From 7b446f095d2a2a8568e611391cb4268a6dcdd10a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Tue, 29 Nov 2022 06:39:20 +0000 Subject: [PATCH 08/61] Bot Updating Templated Files --- .github/ISSUE_TEMPLATE/issue.bug.yml | 68 +++++++++++++++++++ .github/ISSUE_TEMPLATE/issue.feature.yml | 31 +++++++++ .github/workflows/external_trigger.yml | 2 +- .../workflows/external_trigger_scheduler.yml | 2 +- .github/workflows/greetings.yml | 2 +- .github/workflows/package_trigger.yml | 2 +- .../workflows/package_trigger_scheduler.yml | 2 +- .github/workflows/stale.yml | 2 +- 8 files changed, 105 insertions(+), 6 deletions(-) create mode 100755 .github/ISSUE_TEMPLATE/issue.bug.yml create mode 100755 .github/ISSUE_TEMPLATE/issue.feature.yml diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml new file mode 100755 index 00000000..6503ed09 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -0,0 +1,68 @@ +# Based on the issue template +name: Bug report +description: Create a report to help us improve +title: "[BUG] " +labels: [Bug] +body: + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true + - type: textarea + attributes: + label: Current Behavior + description: Tell us what happens instead of the expected behavior. + validations: + required: true + - type: textarea + attributes: + label: Expected Behavior + description: Tell us what should happen. + validations: + required: false + - type: textarea + attributes: + label: Steps To Reproduce + description: Steps to reproduce the behavior. + placeholder: | + 1. In this environment... + 2. With this config... + 3. Run '...' + 4. See error... + validations: + required: true + - type: textarea + attributes: + label: Environment + description: | + examples: + - **OS**: Ubuntu 20.04 + - **How docker service was installed**: distro's packagemanager + value: | + - OS: + - How docker service was installed: + render: markdown + validations: + required: false + - type: textarea + attributes: + label: Docker creation + description: | + Command used to create docker container + Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container + render: bash + validations: + required: true + - type: textarea + attributes: + description: | + Provide a full docker log, output of "docker logs linuxserver.io" + label: Container logs + placeholder: | + Output of `docker logs linuxserver.io` + render: bash + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/issue.feature.yml b/.github/ISSUE_TEMPLATE/issue.feature.yml new file mode 100755 index 00000000..099dcdb5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue.feature.yml @@ -0,0 +1,31 @@ +# Based on the issue template +name: Feature request +description: Suggest an idea for this project +title: "[FEAT] <title>" +labels: [enhancement] +body: + - type: checkboxes + attributes: + label: Is this a new feature request? + description: Please search to see if a feature request already exists. + options: + - label: I have searched the existing issues + required: true + - type: textarea + attributes: + label: Wanted change + description: Tell us what you want to happen. + validations: + required: true + - type: textarea + attributes: + label: Reason for change + description: Justify your request, why do you want it, what is the benefit. + validations: + required: true + - type: textarea + attributes: + label: Proposed code change + description: Do you have a potential code change in mind? + validations: + required: false diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 451a0fd2..5b2fc0bf 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -7,7 +7,7 @@ jobs: external-trigger-master: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.3 + - uses: actions/checkout@v3.1.0 - name: External Trigger if: github.ref == 'refs/heads/master' diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml index fe04bcf6..05233786 100644 --- a/.github/workflows/external_trigger_scheduler.yml +++ b/.github/workflows/external_trigger_scheduler.yml @@ -9,7 +9,7 @@ jobs: external-trigger-scheduler: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.3 + - uses: actions/checkout@v3.1.0 with: fetch-depth: '0' diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 425471b0..22d97417 100755 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -8,6 +8,6 @@ jobs: steps: - uses: actions/first-interaction@v1 with: - issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!' + issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.bug.yml) or [feature](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.feature.yml) issue templates!' pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml index 6bdc29bf..f23a48ec 100644 --- a/.github/workflows/package_trigger.yml +++ b/.github/workflows/package_trigger.yml @@ -7,7 +7,7 @@ jobs: package-trigger-master: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.3 + - uses: actions/checkout@v3.1.0 - name: Package Trigger if: github.ref == 'refs/heads/master' diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index ae846fd3..8a79ef2b 100644 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -9,7 +9,7 @@ jobs: package-trigger-scheduler: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.3 + - uses: actions/checkout@v3.1.0 with: fetch-depth: '0' diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 3b3846ee..73dfe45a 100755 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/stale@v3 + - uses: actions/stale@v6.0.1 with: stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions." stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions." From a7991dea60281c12b3bb85394e2776c25d90c87f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 6 Dec 2022 07:31:28 +0100 Subject: [PATCH 09/61] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index e0c353a7..a33d404f 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -3,7 +3,7 @@ alpine-baselayout-data-3.4.0-r0 alpine-keys-2.4-r1 alpine-release-3.17.0-r0 apk-tools-2.12.10-r1 -bash-5.2.9-r0 +bash-5.2.12-r0 brotli-libs-1.0.9-r9 busybox-1.35.0-r29 busybox-binsh-1.35.0-r29 @@ -35,6 +35,6 @@ skalibs-2.12.0.1-r0 ssl_client-1.35.0-r29 tzdata-2022f-r1 utmps-libs-0.1.2.0-r1 -xz-5.2.8-r0 -xz-libs-5.2.8-r0 +xz-5.2.9-r0 +xz-libs-5.2.9-r0 zlib-1.2.13-r0 From 9fcf5d8681f1d5b287173ad22cba3b73e462d616 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Sat, 10 Dec 2022 17:05:05 +0000 Subject: [PATCH 10/61] Minor Dockerfile optimisations --- Dockerfile | 2 -- Dockerfile.aarch64 | 2 -- Dockerfile.armhf | 2 -- 3 files changed, 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 94170a11..3f299070 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,8 +18,6 @@ RUN \ apk add --no-cache \ bash \ curl \ - patch \ - tar \ tzdata \ xz diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index d2d64732..a74e825f 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -18,8 +18,6 @@ RUN \ apk add --no-cache \ bash \ curl \ - patch \ - tar \ tzdata \ xz diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 7d6c671c..7560561e 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -18,8 +18,6 @@ RUN \ apk add --no-cache \ bash \ curl \ - patch \ - tar \ tzdata \ xz From f72ffa6ad917e65f844e058cbd1d7eb9feb657cb Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Sat, 10 Dec 2022 17:05:15 +0000 Subject: [PATCH 11/61] Remove legacy scripts check --- .../dependencies.d/init-script-check | 0 .../dependencies.d/init-script-check | 0 .../dependencies.d/00-legacy | 0 .../s6-overlay/s6-rc.d/init-script-check/run | 23 ------------------- .../s6-overlay/s6-rc.d/init-script-check/type | 1 - .../s6-overlay/s6-rc.d/init-script-check/up | 1 - .../s6-rc.d/user/contents.d/init-script-check | 0 7 files changed, 25 deletions(-) delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-adduser/dependencies.d/init-script-check delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-os-end/dependencies.d/init-script-check delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-script-check/dependencies.d/00-legacy delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-script-check/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-script-check/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-script-check/up delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-script-check diff --git a/root/etc/s6-overlay/s6-rc.d/init-adduser/dependencies.d/init-script-check b/root/etc/s6-overlay/s6-rc.d/init-adduser/dependencies.d/init-script-check deleted file mode 100644 index e69de29b..00000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-os-end/dependencies.d/init-script-check b/root/etc/s6-overlay/s6-rc.d/init-os-end/dependencies.d/init-script-check deleted file mode 100644 index e69de29b..00000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-script-check/dependencies.d/00-legacy b/root/etc/s6-overlay/s6-rc.d/init-script-check/dependencies.d/00-legacy deleted file mode 100644 index e69de29b..00000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-script-check/run b/root/etc/s6-overlay/s6-rc.d/init-script-check/run deleted file mode 100755 index 20c2c43b..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-script-check/run +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -if [[ -n "$(/bin/ls -A "/config/custom-cont-init.d" 2>/dev/null)" ]] || - [[ -n "$(/bin/ls -A "/config/custom-services.d" 2>/dev/null)" ]]; then - cat << EOF | tee /config/custom-cont-init.d/README.txt 2>/dev/null -******************************************************** -******************************************************** -* * -* !!!! * -* Custom scripts or services found in legacy locations * -* !!!! * -* Please move your custom scripts and services * -* to /custom-cont-init.d and /custom-services.d * -* respectively to ensure they continue working. * -* * -* Visit https://linuxserver.io/custom for more info. * -* * -******************************************************** -******************************************************** -EOF -fi -exit 0 diff --git a/root/etc/s6-overlay/s6-rc.d/init-script-check/type b/root/etc/s6-overlay/s6-rc.d/init-script-check/type deleted file mode 100644 index bdd22a18..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-script-check/type +++ /dev/null @@ -1 +0,0 @@ -oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-script-check/up b/root/etc/s6-overlay/s6-rc.d/init-script-check/up deleted file mode 100644 index a7c155ab..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-script-check/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-script-check/run diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-script-check b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-script-check deleted file mode 100644 index e69de29b..00000000 From 8736a368e5869ac5dd1820ac3ee8b27833dbaa4f Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Sat, 10 Dec 2022 18:24:54 +0000 Subject: [PATCH 12/61] Remove legacy custom file handlers --- .../s6-overlay/s6-rc.d/init-custom-files/run | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-custom-files/run b/root/etc/s6-overlay/s6-rc.d/init-custom-files/run index 86ca3032..3d8a17e5 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-custom-files/run +++ b/root/etc/s6-overlay/s6-rc.d/init-custom-files/run @@ -2,21 +2,8 @@ # shellcheck shell=bash # Directories -SCRIPTS_DIR_OLD="/config/custom-cont-init.d" SCRIPTS_DIR="/custom-cont-init.d" -SERVICES_DIR_OLD="/config/custom-services.d" - -# chown legacy folders if they exist -if [[ -e "${SCRIPTS_DIR_OLD}" ]]; then - chown -R 0:0 "${SCRIPTS_DIR_OLD}" -fi - -# chown legacy folders if they exist -if [[ -e "${SERVICES_DIR_OLD}" ]]; then - chown -R 0:0 "${SERVICES_DIR_OLD}" -fi - # Make sure custom init directory exists and has files in it if [[ -e "${SCRIPTS_DIR}" ]] && [[ -n "$(/bin/ls -A ${SCRIPTS_DIR} 2>/dev/null)" ]]; then echo "[custom-init] Files found, executing" @@ -30,27 +17,6 @@ if [[ -e "${SCRIPTS_DIR}" ]] && [[ -n "$(/bin/ls -A ${SCRIPTS_DIR} 2>/dev/null)" echo "[custom-init] ${NAME}: is not a file" fi done - - # Remove legacy folder if it's empty - if [[ -e "${SCRIPTS_DIR_OLD}" ]] && [[ -z "$(/bin/ls -A ${SCRIPTS_DIR_OLD} 2>/dev/null)" ]]; then - echo "[custom-init] Legacy files folder ${SCRIPTS_DIR_OLD} is empty, deleting..." - rm -rf "${SCRIPTS_DIR_OLD}" - fi -elif [[ -e "${SCRIPTS_DIR_OLD}" ]] && [[ -n "$(/bin/ls -A ${SCRIPTS_DIR_OLD} 2>/dev/null)" ]]; then - echo "[custom-init] Files found, executing" - for SCRIPT in "${SCRIPTS_DIR_OLD}"/*; do - NAME="$(basename "${SCRIPT}")" - if [[ -f "${SCRIPT}" ]]; then - echo "[custom-init] ${NAME}: executing..." - /bin/bash "${SCRIPT}" - echo "[custom-init] ${NAME}: exited $?" - elif [[ ! -f "${SCRIPT}" ]]; then - echo "[custom-init] ${NAME}: is not a file" - fi - done -elif [[ -e "${SCRIPTS_DIR_OLD}" ]] && [[ -z "$(/bin/ls -A ${SCRIPTS_DIR_OLD} 2>/dev/null)" ]]; then - echo "[custom-init] Legacy files folder ${SCRIPTS_DIR_OLD} is empty, deleting..." - rm -rf "${SCRIPTS_DIR_OLD}" else echo "[custom-init] No custom files found, skipping..." fi From 2180f0d64d88f5b44152f52786c675bad9e0cc27 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 20 Dec 2022 07:31:47 +0100 Subject: [PATCH 13/61] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index a33d404f..b5030100 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -3,17 +3,17 @@ alpine-baselayout-data-3.4.0-r0 alpine-keys-2.4-r1 alpine-release-3.17.0-r0 apk-tools-2.12.10-r1 -bash-5.2.12-r0 +bash-5.2.15-r0 brotli-libs-1.0.9-r9 busybox-1.35.0-r29 busybox-binsh-1.35.0-r29 -ca-certificates-20220614-r2 -ca-certificates-bundle-20220614-r2 +ca-certificates-20220614-r3 +ca-certificates-bundle-20220614-r3 coreutils-9.1-r0 curl-7.86.0-r1 jq-1.6-r2 libacl-2.3.1-r1 -libattr-2.5.1-r1 +libattr-2.5.1-r2 libc-utils-0.7.2-r3 libcrypto3-3.0.7-r0 libcurl-7.86.0-r1 From 82bb8aa307c5485f35ad19cf116a11ca854d1fef Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 27 Dec 2022 00:30:35 -0600 Subject: [PATCH 14/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index b5030100..033b6b58 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -10,13 +10,13 @@ busybox-binsh-1.35.0-r29 ca-certificates-20220614-r3 ca-certificates-bundle-20220614-r3 coreutils-9.1-r0 -curl-7.86.0-r1 +curl-7.87.0-r0 jq-1.6-r2 libacl-2.3.1-r1 libattr-2.5.1-r2 libc-utils-0.7.2-r3 libcrypto3-3.0.7-r0 -libcurl-7.86.0-r1 +libcurl-7.87.0-r0 libintl-0.21.1-r1 libproc-3.3.17-r2 libssl3-3.0.7-r0 From 659bf29597a046d928f3a4e4bb1139434452017a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 10 Jan 2023 00:32:04 -0600 Subject: [PATCH 15/61] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 033b6b58..1770efb6 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,25 +1,25 @@ alpine-baselayout-3.4.0-r0 alpine-baselayout-data-3.4.0-r0 alpine-keys-2.4-r1 -alpine-release-3.17.0-r0 +alpine-release-3.17.1-r0 apk-tools-2.12.10-r1 bash-5.2.15-r0 brotli-libs-1.0.9-r9 busybox-1.35.0-r29 busybox-binsh-1.35.0-r29 -ca-certificates-20220614-r3 -ca-certificates-bundle-20220614-r3 +ca-certificates-20220614-r4 +ca-certificates-bundle-20220614-r4 coreutils-9.1-r0 curl-7.87.0-r0 jq-1.6-r2 libacl-2.3.1-r1 libattr-2.5.1-r2 libc-utils-0.7.2-r3 -libcrypto3-3.0.7-r0 +libcrypto3-3.0.7-r2 libcurl-7.87.0-r0 libintl-0.21.1-r1 libproc-3.3.17-r2 -libssl3-3.0.7-r0 +libssl3-3.0.7-r2 linux-pam-1.5.2-r1 musl-1.2.3-r4 musl-utils-1.2.3-r4 From 1a6f120c44ac1925fb14f74cd77686baaa4dfd8b Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 17 Jan 2023 07:30:20 +0100 Subject: [PATCH 16/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 1770efb6..1035fe20 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -10,13 +10,13 @@ busybox-binsh-1.35.0-r29 ca-certificates-20220614-r4 ca-certificates-bundle-20220614-r4 coreutils-9.1-r0 -curl-7.87.0-r0 +curl-7.87.0-r1 jq-1.6-r2 libacl-2.3.1-r1 libattr-2.5.1-r2 libc-utils-0.7.2-r3 libcrypto3-3.0.7-r2 -libcurl-7.87.0-r0 +libcurl-7.87.0-r1 libintl-0.21.1-r1 libproc-3.3.17-r2 libssl3-3.0.7-r2 From 67cd47254af4bcfc1dfdd27b93dfab7c68d4a344 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 14 Feb 2023 07:35:22 +0100 Subject: [PATCH 17/61] Bot Updating Templated Files --- Jenkinsfile | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index da2e6df3..729a819b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,7 +56,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 .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/external_trigger.yml ./.github/workflows/package_trigger.yml' + 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' } script{ env.LS_RELEASE_NUMBER = sh( @@ -66,7 +66,7 @@ pipeline { script{ env.LS_TAG_NUMBER = sh( script: '''#! /bin/bash - tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null) + tagsha=$(git rev-list -n 1 3.17-${LS_RELEASE} 2>/dev/null) if [ "${tagsha}" == "${COMMIT_SHA}" ]; then echo ${LS_RELEASE_NUMBER} elif [ -z "${GIT_COMMIT}" ]; then @@ -768,19 +768,19 @@ pipeline { echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then 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 pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; 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-3.17 - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-3.17 - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-3.17 docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} + docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} + docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-3.17 docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} + docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} + docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-3.17 docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} @@ -788,13 +788,13 @@ pipeline { docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} + docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-3.17 + docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} docker push ${MANIFESTIMAGE}:arm32v7-3.17 - docker push ${MANIFESTIMAGE}:arm64v8-3.17 - docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} + docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} + docker push ${MANIFESTIMAGE}:arm64v8-3.17 docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} @@ -936,12 +936,12 @@ pipeline { sh 'echo "build aborted"' } else if (currentBuild.currentResult == "SUCCESS"){ - 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,\ + 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,\ "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"}],\ "username": "Jenkins"}' ${BUILDS_DISCORD} ''' } else { - 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,\ + 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,\ "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"}],\ "username": "Jenkins"}' ${BUILDS_DISCORD} ''' } From 00f7a6794efa6ab6440170e100f5c10e0eeee29b Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 14 Feb 2023 00:37:47 -0600 Subject: [PATCH 18/61] Bot Updating Templated Files --- .editorconfig | 2 +- .github/workflows/call_invalid_helper.yml | 12 ++++++++++++ .github/workflows/greetings.yml | 2 +- .github/workflows/permissions.yml | 9 +++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100755 .github/workflows/call_invalid_helper.yml create mode 100755 .github/workflows/permissions.yml diff --git a/.editorconfig b/.editorconfig index a92f7dfd..5f150f35 100755 --- a/.editorconfig +++ b/.editorconfig @@ -15,6 +15,6 @@ trim_trailing_whitespace = false indent_style = space indent_size = 2 -[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}] +[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}] indent_style = space indent_size = 4 diff --git a/.github/workflows/call_invalid_helper.yml b/.github/workflows/call_invalid_helper.yml new file mode 100755 index 00000000..773767c2 --- /dev/null +++ b/.github/workflows/call_invalid_helper.yml @@ -0,0 +1,12 @@ +name: Comment on invalid interaction +on: + issues: + types: + - labeled +jobs: + add-comment-on-invalid: + if: github.event.label.name == 'invalid' + permissions: + issues: write + uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1 + secrets: inherit diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 22d97417..4da95c26 100755 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -8,6 +8,6 @@ jobs: steps: - uses: actions/first-interaction@v1 with: - issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.bug.yml) or [feature](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/ISSUE_TEMPLATE/issue.feature.yml) issue templates!' + issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.' pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-alpine/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml new file mode 100755 index 00000000..2df6b61b --- /dev/null +++ b/.github/workflows/permissions.yml @@ -0,0 +1,9 @@ +name: Permission check +on: + pull_request: + paths: + - '**/run' + - '**/finish' +jobs: + permission_check: + uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1 From c675e2f54577ea0cca3611b6169b83dcab7712a8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 14 Feb 2023 06:40:34 +0000 Subject: [PATCH 19/61] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 1035fe20..5fdcb943 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,7 +1,7 @@ alpine-baselayout-3.4.0-r0 alpine-baselayout-data-3.4.0-r0 alpine-keys-2.4-r1 -alpine-release-3.17.1-r0 +alpine-release-3.17.2-r0 apk-tools-2.12.10-r1 bash-5.2.15-r0 brotli-libs-1.0.9-r9 @@ -15,11 +15,11 @@ jq-1.6-r2 libacl-2.3.1-r1 libattr-2.5.1-r2 libc-utils-0.7.2-r3 -libcrypto3-3.0.7-r2 +libcrypto3-3.0.8-r0 libcurl-7.87.0-r1 libintl-0.21.1-r1 libproc-3.3.17-r2 -libssl3-3.0.7-r2 +libssl3-3.0.8-r0 linux-pam-1.5.2-r1 musl-1.2.3-r4 musl-utils-1.2.3-r4 From b11a5ca28365c40b4bb64f21c97f76d55cb9f218 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 21 Feb 2023 07:32:15 +0100 Subject: [PATCH 20/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 5fdcb943..46c2f0a1 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -10,13 +10,13 @@ busybox-binsh-1.35.0-r29 ca-certificates-20220614-r4 ca-certificates-bundle-20220614-r4 coreutils-9.1-r0 -curl-7.87.0-r1 +curl-7.87.0-r2 jq-1.6-r2 libacl-2.3.1-r1 libattr-2.5.1-r2 libc-utils-0.7.2-r3 libcrypto3-3.0.8-r0 -libcurl-7.87.0-r1 +libcurl-7.87.0-r2 libintl-0.21.1-r1 libproc-3.3.17-r2 libssl3-3.0.8-r0 From 62ae1165ed41a9a7ea80c84bd1bd0e7666ababaf Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 11:13:07 +0000 Subject: [PATCH 21/61] Remove legacy /run symlink hack --- root/etc/s6-overlay/s6-rc.d/00-legacy/type | 1 - root/etc/s6-overlay/s6-rc.d/00-legacy/up | 1 - .../etc/s6-overlay/s6-rc.d/init-envfile/dependencies.d/00-legacy | 0 .../s6-overlay/s6-rc.d/init-migrations/dependencies.d/00-legacy | 0 root/etc/s6-overlay/s6-rc.d/user/contents.d/00-legacy | 0 5 files changed, 2 deletions(-) delete mode 100644 root/etc/s6-overlay/s6-rc.d/00-legacy/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/00-legacy/up delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-envfile/dependencies.d/00-legacy delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-migrations/dependencies.d/00-legacy delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/00-legacy diff --git a/root/etc/s6-overlay/s6-rc.d/00-legacy/type b/root/etc/s6-overlay/s6-rc.d/00-legacy/type deleted file mode 100644 index bdd22a18..00000000 --- a/root/etc/s6-overlay/s6-rc.d/00-legacy/type +++ /dev/null @@ -1 +0,0 @@ -oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/00-legacy/up b/root/etc/s6-overlay/s6-rc.d/00-legacy/up deleted file mode 100644 index 4aa1c27b..00000000 --- a/root/etc/s6-overlay/s6-rc.d/00-legacy/up +++ /dev/null @@ -1 +0,0 @@ -ln -s /run/s6/legacy-services /run/s6/services diff --git a/root/etc/s6-overlay/s6-rc.d/init-envfile/dependencies.d/00-legacy b/root/etc/s6-overlay/s6-rc.d/init-envfile/dependencies.d/00-legacy deleted file mode 100644 index e69de29b..00000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-migrations/dependencies.d/00-legacy b/root/etc/s6-overlay/s6-rc.d/init-migrations/dependencies.d/00-legacy deleted file mode 100644 index e69de29b..00000000 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/00-legacy b/root/etc/s6-overlay/s6-rc.d/user/contents.d/00-legacy deleted file mode 100644 index e69de29b..00000000 From 062b99c30f70bd372c8b88efd0cdc13c44df0275 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 11:13:27 +0000 Subject: [PATCH 22/61] Rename CI check --- .../dependencies.d/legacy-services | 0 .../s6-rc.d/{99-ci-service-check => ci-service-check}/type | 0 .../s6-rc.d/{99-ci-service-check => ci-service-check}/up | 0 .../user2/contents.d/{99-ci-service-check => ci-service-check} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename root/etc/s6-overlay/s6-rc.d/{99-ci-service-check => ci-service-check}/dependencies.d/legacy-services (100%) rename root/etc/s6-overlay/s6-rc.d/{99-ci-service-check => ci-service-check}/type (100%) rename root/etc/s6-overlay/s6-rc.d/{99-ci-service-check => ci-service-check}/up (100%) rename root/etc/s6-overlay/s6-rc.d/user2/contents.d/{99-ci-service-check => ci-service-check} (100%) diff --git a/root/etc/s6-overlay/s6-rc.d/99-ci-service-check/dependencies.d/legacy-services b/root/etc/s6-overlay/s6-rc.d/ci-service-check/dependencies.d/legacy-services similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/99-ci-service-check/dependencies.d/legacy-services rename to root/etc/s6-overlay/s6-rc.d/ci-service-check/dependencies.d/legacy-services diff --git a/root/etc/s6-overlay/s6-rc.d/99-ci-service-check/type b/root/etc/s6-overlay/s6-rc.d/ci-service-check/type similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/99-ci-service-check/type rename to root/etc/s6-overlay/s6-rc.d/ci-service-check/type diff --git a/root/etc/s6-overlay/s6-rc.d/99-ci-service-check/up b/root/etc/s6-overlay/s6-rc.d/ci-service-check/up similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/99-ci-service-check/up rename to root/etc/s6-overlay/s6-rc.d/ci-service-check/up diff --git a/root/etc/s6-overlay/s6-rc.d/user2/contents.d/99-ci-service-check b/root/etc/s6-overlay/s6-rc.d/user2/contents.d/ci-service-check similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/user2/contents.d/99-ci-service-check rename to root/etc/s6-overlay/s6-rc.d/user2/contents.d/ci-service-check From 292e1ef85f61c9bd02f1197a7b88c72bc44d9f31 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 11:13:43 +0000 Subject: [PATCH 23/61] Remove copied contenv, source from mods now --- root/usr/bin/with-contenv | 9 --------- 1 file changed, 9 deletions(-) delete mode 100755 root/usr/bin/with-contenv diff --git a/root/usr/bin/with-contenv b/root/usr/bin/with-contenv deleted file mode 100755 index e9e1bc88..00000000 --- a/root/usr/bin/with-contenv +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -if [[ -f /run/s6/container_environment/UMASK ]] && - { [[ "$(pwdx $$)" =~ "/run/s6/legacy-services/" ]] || - [[ "$(pwdx $$)" =~ "/run/s6/services/" ]] || - [[ "$(pwdx $$)" =~ "/servicedirs/svc-" ]]; }; then - umask "$(cat /run/s6/container_environment/UMASK)" -fi -exec /command/with-contenv "$@" From bb923d4917621ab7fc528497859a3d24f0e8cdb9 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 11:16:10 +0000 Subject: [PATCH 24/61] Custom branding --- Jenkinsfile | 2 +- jenkins-vars.yml | 2 +- .../s6-overlay/s6-rc.d/init-adduser/branding | 12 +++++ root/etc/s6-overlay/s6-rc.d/init-adduser/run | 46 ++++++++----------- 4 files changed, 33 insertions(+), 29 deletions(-) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-adduser/branding mode change 100755 => 100644 root/etc/s6-overlay/s6-rc.d/init-adduser/run diff --git a/Jenkinsfile b/Jenkinsfile index 729a819b..436fd7e2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,7 @@ pipeline { CI_PORT='80' CI_SSL='true' CI_DELAY='30' - CI_DOCKERENV='TZ=US/Pacific' + CI_DOCKERENV='TZ=US/Pacific|LSIO_FIRST_PARTY=true' CI_AUTH='user:password' CI_WEBPATH='' } diff --git a/jenkins-vars.yml b/jenkins-vars.yml index d56f413d..2140c58b 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -21,6 +21,6 @@ repo_vars: - CI_PORT='80' - CI_SSL='true' - CI_DELAY='30' - - CI_DOCKERENV='TZ=US/Pacific' + - CI_DOCKERENV='TZ=US/Pacific|LSIO_FIRST_PARTY=true' - CI_AUTH='user:password' - CI_WEBPATH='' diff --git a/root/etc/s6-overlay/s6-rc.d/init-adduser/branding b/root/etc/s6-overlay/s6-rc.d/init-adduser/branding new file mode 100644 index 00000000..99077a5e --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-adduser/branding @@ -0,0 +1,12 @@ +─────────────────────────────────────── + _____ __ __ _____ _____ _____ _____ + | | | | __|_ _| | | + | --| | |__ | | | | | | | | | + |_____|_____|_____| |_| |_____|_|_|_| + _____ __ __ _ __ ____ + | __ | | | | | | \ + | __ -| | | | |__| | | + |_____|_____|_|_____|____/ + + Based on images from linuxserver.io +─────────────────────────────────────── diff --git a/root/etc/s6-overlay/s6-rc.d/init-adduser/run b/root/etc/s6-overlay/s6-rc.d/init-adduser/run old mode 100755 new mode 100644 index a619c4fb..b98beff1 --- a/root/etc/s6-overlay/s6-rc.d/init-adduser/run +++ b/root/etc/s6-overlay/s6-rc.d/init-adduser/run @@ -7,17 +7,8 @@ PGID=${PGID:-911} groupmod -o -g "$PGID" abc usermod -o -u "$PUID" abc -echo ' -------------------------------------- - _ () - | | ___ _ __ - | | / __| | | / \ - | | \__ \ | | | () | - |_| |___/ |_| \__/ - +cat /etc/s6-overlay/s6-rc.d/init-adduser/branding -Brought to you by linuxserver.io --------------------------------------' if [[ -f /donate.txt ]]; then echo ' To support the app dev(s) visit:' @@ -26,32 +17,33 @@ fi echo ' To support LSIO projects visit: https://www.linuxserver.io/donate/ -------------------------------------- + +─────────────────────────────────────── GID/UID --------------------------------------' +───────────────────────────────────────' echo " -User uid: $(id -u abc) -User gid: $(id -g abc) -------------------------------------- +User UID: $(id -u abc) +User GID: $(id -g abc) +─────────────────────────────────────── " time32="$(date +%Y)" if [[ "${time32}" == "1970" || "${time32}" == "1969" ]] && [ "$(uname -m)" == "armv7l" ]; then echo ' -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -Your DockerHost is running an outdated version of libseccomp - -To fix this, please visit https://docs.linuxserver.io/faq#libseccomp - -Apps will not behave correctly without this - -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +╔═════════════════════════════════════════════════════════════════════════════╗ +║ ║ +║ Your Docker Host is running an outdated version of libseccomp ║ +║ ║ +║ To fix this, please visit https://docs.linuxserver.io/faq#libseccomp ║ +║ ║ +║ Apps will not behave correctly without this ║ +║ ║ +╚═════════════════════════════════════════════════════════════════════════════╝ ' sleep infinity fi -chown abc:abc /app -chown abc:abc /config -chown abc:abc /defaults +lsiown abc:abc /app +lsiown abc:abc /config +lsiown abc:abc /defaults From e128cf0cdad8fcaa402c2d2cfde870c30e6bdaf7 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 11:20:37 +0000 Subject: [PATCH 25/61] Add netcat-openbsd --- Dockerfile | 2 +- Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3f299070..e701e9fd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -79,7 +79,7 @@ RUN \ coreutils \ curl \ jq \ - procps \ + netcat-openbsd \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index a74e825f..c1516cf6 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -79,7 +79,7 @@ RUN \ coreutils \ curl \ jq \ - procps \ + netcat-openbsd \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 7560561e..d513a8f1 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -79,7 +79,7 @@ RUN \ coreutils \ curl \ jq \ - procps \ + netcat-openbsd \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ From 8f6304defed068b67d7c516fa2110562d0b6135a Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 11:22:26 +0000 Subject: [PATCH 26/61] Fix permissions --- root/etc/s6-overlay/s6-rc.d/init-adduser/run | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 root/etc/s6-overlay/s6-rc.d/init-adduser/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-adduser/run b/root/etc/s6-overlay/s6-rc.d/init-adduser/run old mode 100644 new mode 100755 From d2c30740b31135182a508784e2035fd9ceb94271 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 1 Mar 2023 19:53:11 +0000 Subject: [PATCH 27/61] Restore procps --- Dockerfile | 1 + Dockerfile.aarch64 | 1 + Dockerfile.armhf | 1 + 3 files changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index e701e9fd..09c97b3b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -80,6 +80,7 @@ RUN \ curl \ jq \ netcat-openbsd \ + procps \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index c1516cf6..7bfd122d 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -80,6 +80,7 @@ RUN \ curl \ jq \ netcat-openbsd \ + procps \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index d513a8f1..570173cc 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -80,6 +80,7 @@ RUN \ curl \ jq \ netcat-openbsd \ + procps \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ From fbb9785cd605f66ae007b0b055fce10931721ba6 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Wed, 1 Mar 2023 14:13:11 -0600 Subject: [PATCH 28/61] Bot Updating Templated Files --- Jenkinsfile | 42 ++++++++++++++---------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 436fd7e2..a5dbcb3e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -419,7 +419,7 @@ pipeline { } steps { echo "Running on node: ${NODE_NAME}" - sh "docker build \ + sh "docker buildx build \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-alpine/packages\" \ @@ -432,7 +432,7 @@ pipeline { --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ --label \"org.opencontainers.image.title=Baseimage-alpine\" \ --label \"org.opencontainers.image.description=baseimage-alpine image by linuxserver.io\" \ - --no-cache --pull -t ${IMAGE}:${META_TAG} \ + --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } @@ -449,7 +449,7 @@ pipeline { stage('Build X86') { steps { echo "Running on node: ${NODE_NAME}" - sh "docker build \ + sh "docker buildx build \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-alpine/packages\" \ @@ -462,7 +462,7 @@ pipeline { --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ --label \"org.opencontainers.image.title=Baseimage-alpine\" \ --label \"org.opencontainers.image.description=baseimage-alpine image by linuxserver.io\" \ - --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \ + --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } @@ -476,7 +476,7 @@ pipeline { sh '''#! /bin/bash echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin ''' - sh "docker build \ + sh "docker buildx build \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-alpine/packages\" \ @@ -489,7 +489,7 @@ pipeline { --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ --label \"org.opencontainers.image.title=Baseimage-alpine\" \ --label \"org.opencontainers.image.description=baseimage-alpine image by linuxserver.io\" \ - --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \ + --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_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) { @@ -510,7 +510,7 @@ pipeline { sh '''#! /bin/bash echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin ''' - sh "docker build \ + sh "docker buildx build \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-alpine/packages\" \ @@ -523,7 +523,7 @@ pipeline { --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ --label \"org.opencontainers.image.title=Baseimage-alpine\" \ --label \"org.opencontainers.image.description=baseimage-alpine image by linuxserver.io\" \ - --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \ + --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_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) { @@ -552,26 +552,12 @@ pipeline { else LOCAL_CONTAINER=${IMAGE}:${META_TAG} fi - if [ "${DIST_IMAGE}" == "alpine" ]; then - docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ - apk info -v > /tmp/package_versions.txt && \ - sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \ - chmod 777 /tmp/package_versions.txt' - elif [ "${DIST_IMAGE}" == "ubuntu" ]; then - docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ - apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \ - sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \ - chmod 777 /tmp/package_versions.txt' - elif [ "${DIST_IMAGE}" == "fedora" ]; then - docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ - rpm -qa > /tmp/package_versions.txt && \ - sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \ - chmod 777 /tmp/package_versions.txt' - elif [ "${DIST_IMAGE}" == "arch" ]; then - docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ - pacman -Q > /tmp/package_versions.txt && \ - chmod 777 /tmp/package_versions.txt' - fi + touch ${TEMPDIR}/package_versions.txt + docker run --rm \ + -v /var/run/docker.sock:/var/run/docker.sock:ro \ + -v ${TEMPDIR}:/tmp \ + ghcr.io/anchore/syft:latest \ + ${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 ) echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github" if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then From 527b37252f381559d373f3218be85ba2e6d73493 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Wed, 1 Mar 2023 14:15:19 -0600 Subject: [PATCH 29/61] Bot Updating Package Versions --- package_versions.txt | 85 +++++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 40 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 46c2f0a1..640e735d 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,40 +1,45 @@ -alpine-baselayout-3.4.0-r0 -alpine-baselayout-data-3.4.0-r0 -alpine-keys-2.4-r1 -alpine-release-3.17.2-r0 -apk-tools-2.12.10-r1 -bash-5.2.15-r0 -brotli-libs-1.0.9-r9 -busybox-1.35.0-r29 -busybox-binsh-1.35.0-r29 -ca-certificates-20220614-r4 -ca-certificates-bundle-20220614-r4 -coreutils-9.1-r0 -curl-7.87.0-r2 -jq-1.6-r2 -libacl-2.3.1-r1 -libattr-2.5.1-r2 -libc-utils-0.7.2-r3 -libcrypto3-3.0.8-r0 -libcurl-7.87.0-r2 -libintl-0.21.1-r1 -libproc-3.3.17-r2 -libssl3-3.0.8-r0 -linux-pam-1.5.2-r1 -musl-1.2.3-r4 -musl-utils-1.2.3-r4 -ncurses-libs-6.3_p20221119-r0 -ncurses-terminfo-base-6.3_p20221119-r0 -nghttp2-libs-1.51.0-r0 -oniguruma-6.9.8-r0 -procps-3.3.17-r2 -readline-8.2.0-r0 -scanelf-1.3.5-r1 -shadow-4.13-r0 -skalibs-2.12.0.1-r0 -ssl_client-1.35.0-r29 -tzdata-2022f-r1 -utmps-libs-0.1.2.0-r1 -xz-5.2.9-r0 -xz-libs-5.2.9-r0 -zlib-1.2.13-r0 +NAME VERSION TYPE +alpine-baselayout 3.4.0-r0 apk +alpine-baselayout-data 3.4.0-r0 apk +alpine-keys 2.4-r1 apk +alpine-release 3.17.2-r0 apk +apk-tools 2.12.10-r1 apk +bash 5.2.15-r0 apk +brotli-libs 1.0.9-r9 apk +busybox 1.35.0 binary +busybox 1.35.0-r29 apk +busybox-binsh 1.35.0-r29 apk +ca-certificates 20220614-r4 apk +ca-certificates-bundle 20220614-r4 apk +coreutils 9.1-r0 apk +curl 7.88.1-r0 apk +jq 1.6-r2 apk +libacl 2.3.1-r1 apk +libattr 2.5.1-r2 apk +libbsd 0.11.7-r0 apk +libc-utils 0.7.2-r3 apk +libcrypto3 3.0.8-r0 apk +libcurl 7.88.1-r0 apk +libintl 0.21.1-r1 apk +libmd 1.0.4-r0 apk +libproc 3.3.17-r2 apk +libssl3 3.0.8-r0 apk +linux-pam 1.5.2-r1 apk +musl 1.2.3-r4 apk +musl-utils 1.2.3-r4 apk +ncurses-libs 6.3_p20221119-r0 apk +ncurses-terminfo-base 6.3_p20221119-r0 apk +netcat-openbsd 1.130-r4 apk +nghttp2-libs 1.51.0-r0 apk +oniguruma 6.9.8-r0 apk +procps 3.3.17-r2 apk +readline 8.2.0-r0 apk +scanelf 1.3.5-r1 apk +shadow 4.13-r0 apk +skalibs 2.12.0.1-r0 apk +ssl_client 1.35.0-r29 apk +tzdata 2022f-r1 apk +utmps-libs 0.1.2.0-r1 apk +xz 5.2.9-r0 apk +xz-libs 5.2.9-r0 apk +zlib 1.2.13-r0 apk From 31ef1b0d0a34030d480dcecb17b8ce567b69faa2 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 21 Mar 2023 01:28:57 -0500 Subject: [PATCH 30/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 640e735d..81f16100 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -12,14 +12,14 @@ busybox-binsh 1.35.0-r29 apk ca-certificates 20220614-r4 apk ca-certificates-bundle 20220614-r4 apk coreutils 9.1-r0 apk -curl 7.88.1-r0 apk +curl 7.88.1-r1 apk jq 1.6-r2 apk libacl 2.3.1-r1 apk libattr 2.5.1-r2 apk libbsd 0.11.7-r0 apk libc-utils 0.7.2-r3 apk libcrypto3 3.0.8-r0 apk -libcurl 7.88.1-r0 apk +libcurl 7.88.1-r1 apk libintl 0.21.1-r1 apk libmd 1.0.4-r0 apk libproc 3.3.17-r2 apk From a7ed4de8d4ab671bbdf47d991fdc25d5cfd88eb5 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 28 Mar 2023 08:29:05 +0200 Subject: [PATCH 31/61] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 81f16100..6832e956 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -18,12 +18,12 @@ libacl 2.3.1-r1 apk libattr 2.5.1-r2 apk libbsd 0.11.7-r0 apk libc-utils 0.7.2-r3 apk -libcrypto3 3.0.8-r0 apk +libcrypto3 3.0.8-r1 apk libcurl 7.88.1-r1 apk libintl 0.21.1-r1 apk libmd 1.0.4-r0 apk libproc 3.3.17-r2 apk -libssl3 3.0.8-r0 apk +libssl3 3.0.8-r1 apk linux-pam 1.5.2-r1 apk musl 1.2.3-r4 apk musl-utils 1.2.3-r4 apk @@ -38,7 +38,7 @@ scanelf 1.3.5-r1 apk shadow 4.13-r0 apk skalibs 2.12.0.1-r0 apk ssl_client 1.35.0-r29 apk -tzdata 2022f-r1 apk +tzdata 2023b-r1 apk utmps-libs 0.1.2.0-r1 apk xz 5.2.9-r0 apk xz-libs 5.2.9-r0 apk From 64afadbaced4f26bf04ed6391331ae67b1e5dbd3 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 4 Apr 2023 08:27:26 +0200 Subject: [PATCH 32/61] Bot Updating Templated Files --- Jenkinsfile | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a5dbcb3e..62383efb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,7 +56,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 .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' + 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/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml' } script{ env.LS_RELEASE_NUMBER = sh( @@ -228,17 +228,14 @@ pipeline { } sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash''' sh '''#! /bin/bash - set -e - 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=\"${S3_SECRET}\" \ - -e ACCESS_KEY=\"${S3_KEY}\" \ - -t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \ - python /upload.py''' + -v ${WORKSPACE}:/mnt \ + -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ + -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ + ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ + apk add --no-cache py3-pip && \ + pip install s3cmd && \ + s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :''' } } } @@ -275,7 +272,7 @@ pipeline { echo "Jenkinsfile is up to date." fi # Stage 2 - Delete old templates - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md" + 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" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -292,7 +289,7 @@ pipeline { git commit -m 'Bot Updating Templated Files' git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Deleting old templates" + echo "Deleting old and deprecated templates" rm -Rf ${TEMPDIR} exit 0 else @@ -652,7 +649,7 @@ pipeline { -e BASE=\"${DIST_IMAGE}\" \ -e SECRET_KEY=\"${S3_SECRET}\" \ -e ACCESS_KEY=\"${S3_KEY}\" \ - -e DOCKER_ENV=\"${CI_DOCKERENV}\" \ + -e DOCKER_ENV=\"LSIO_FIRST_PARTY=true|${CI_DOCKERENV}\" \ -e WEB_SCREENSHOT=\"${CI_WEB}\" \ -e WEB_AUTH=\"${CI_AUTH}\" \ -e WEB_PATH=\"${CI_WEBPATH}\" \ From c54869a7bd1e00c79cad34c6a5902d8efc3815a0 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 4 Apr 2023 06:30:48 +0000 Subject: [PATCH 33/61] Bot Updating Templated Files --- .github/workflows/call_invalid_helper.yml | 12 ------------ .github/workflows/stale.yml | 23 ----------------------- 2 files changed, 35 deletions(-) delete mode 100755 .github/workflows/call_invalid_helper.yml delete mode 100755 .github/workflows/stale.yml diff --git a/.github/workflows/call_invalid_helper.yml b/.github/workflows/call_invalid_helper.yml deleted file mode 100755 index 773767c2..00000000 --- a/.github/workflows/call_invalid_helper.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Comment on invalid interaction -on: - issues: - types: - - labeled -jobs: - add-comment-on-invalid: - if: github.event.label.name == 'invalid' - permissions: - issues: write - uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1 - secrets: inherit diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100755 index 73dfe45a..00000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Mark stale issues and pull requests - -on: - schedule: - - cron: "30 1 * * *" - -jobs: - stale: - - runs-on: ubuntu-latest - - steps: - - uses: actions/stale@v6.0.1 - with: - stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions." - stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions." - stale-issue-label: 'no-issue-activity' - stale-pr-label: 'no-pr-activity' - days-before-stale: 30 - days-before-close: 365 - exempt-issue-labels: 'awaiting-approval,work-in-progress' - exempt-pr-labels: 'awaiting-approval,work-in-progress' - repo-token: ${{ secrets.GITHUB_TOKEN }} From 72281a0cf8d187302dd3ef7506f39d827db8b9f2 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 4 Apr 2023 06:33:10 +0000 Subject: [PATCH 34/61] Bot Updating Templated Files --- .github/workflows/call_issue_pr_tracker.yml | 14 ++++++++++++++ .github/workflows/call_issues_cron.yml | 13 +++++++++++++ .github/workflows/package_trigger_scheduler.yml | 2 +- .github/workflows/permissions.yml | 3 ++- 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100755 .github/workflows/call_issue_pr_tracker.yml create mode 100755 .github/workflows/call_issues_cron.yml diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml new file mode 100755 index 00000000..87243e2c --- /dev/null +++ b/.github/workflows/call_issue_pr_tracker.yml @@ -0,0 +1,14 @@ +name: Issue & PR Tracker + +on: + issues: + types: [opened,reopened,labeled,unlabeled] + pull_request_target: + types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled] + +jobs: + manage-project: + permissions: + issues: write + uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1 + secrets: inherit diff --git a/.github/workflows/call_issues_cron.yml b/.github/workflows/call_issues_cron.yml new file mode 100755 index 00000000..44c422e1 --- /dev/null +++ b/.github/workflows/call_issues_cron.yml @@ -0,0 +1,13 @@ +name: Mark stale issues and pull requests +on: + schedule: + - cron: '9 11 * * *' + workflow_dispatch: + +jobs: + stale: + permissions: + issues: write + pull-requests: write + uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1 + secrets: inherit diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index 8a79ef2b..2c76e9a4 100644 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -2,7 +2,7 @@ name: Package Trigger Scheduler on: schedule: - - cron: '01 6 * * 2' + - cron: '15 13 * * 6' workflow_dispatch: jobs: diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml index 2df6b61b..1447bc55 100755 --- a/.github/workflows/permissions.yml +++ b/.github/workflows/permissions.yml @@ -1,9 +1,10 @@ name: Permission check on: - pull_request: + pull_request_target: paths: - '**/run' - '**/finish' + - '**/check' jobs: permission_check: uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1 From 370967709c382707e0049bc4fca38f65af9056f4 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Tue, 4 Apr 2023 06:35:22 +0000 Subject: [PATCH 35/61] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 6832e956..c2f61d72 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -2,7 +2,7 @@ NAME VERSION TYPE alpine-baselayout 3.4.0-r0 apk alpine-baselayout-data 3.4.0-r0 apk alpine-keys 2.4-r1 apk -alpine-release 3.17.2-r0 apk +alpine-release 3.17.3-r0 apk apk-tools 2.12.10-r1 apk bash 5.2.15-r0 apk brotli-libs 1.0.9-r9 apk @@ -18,12 +18,12 @@ libacl 2.3.1-r1 apk libattr 2.5.1-r2 apk libbsd 0.11.7-r0 apk libc-utils 0.7.2-r3 apk -libcrypto3 3.0.8-r1 apk +libcrypto3 3.0.8-r3 apk libcurl 7.88.1-r1 apk libintl 0.21.1-r1 apk libmd 1.0.4-r0 apk libproc 3.3.17-r2 apk -libssl3 3.0.8-r1 apk +libssl3 3.0.8-r3 apk linux-pam 1.5.2-r1 apk musl 1.2.3-r4 apk musl-utils 1.2.3-r4 apk @@ -38,7 +38,7 @@ scanelf 1.3.5-r1 apk shadow 4.13-r0 apk skalibs 2.12.0.1-r0 apk ssl_client 1.35.0-r29 apk -tzdata 2023b-r1 apk +tzdata 2023c-r0 apk utmps-libs 0.1.2.0-r1 apk xz 5.2.9-r0 apk xz-libs 5.2.9-r0 apk From eb6d5d5c121db23da56cebe72906366edb5a5471 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 12 Apr 2023 21:20:26 +0100 Subject: [PATCH 36/61] Add armhf deprecation notice --- root/etc/s6-overlay/s6-rc.d/init-adduser/run | 23 +++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-adduser/run b/root/etc/s6-overlay/s6-rc.d/init-adduser/run index b98beff1..55aeebfa 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-adduser/run +++ b/root/etc/s6-overlay/s6-rc.d/init-adduser/run @@ -27,21 +27,18 @@ User GID: $(id -g abc) ─────────────────────────────────────── " -time32="$(date +%Y)" - -if [[ "${time32}" == "1970" || "${time32}" == "1969" ]] && [ "$(uname -m)" == "armv7l" ]; then +if [[ "$(uname -m)" == "armv7l" ]] || [[ "$(uname -m)" == "armhf" ]]; then echo ' -╔═════════════════════════════════════════════════════════════════════════════╗ -║ ║ -║ Your Docker Host is running an outdated version of libseccomp ║ -║ ║ -║ To fix this, please visit https://docs.linuxserver.io/faq#libseccomp ║ -║ ║ -║ Apps will not behave correctly without this ║ -║ ║ -╚═════════════════════════════════════════════════════════════════════════════╝ +╔═════════════════════════════════════════════════════╗ +║ ║ +║ The 32-bit Arm version of this image will ║ +║ no longer be supported after 2023-07-01 ║ +║ ║ +║ See: https://linuxserver.io/armhf ║ +║ for more details ║ +║ ║ +╚═════════════════════════════════════════════════════╝ ' - sleep infinity fi lsiown abc:abc /app From 08e780a773a421cba6d50ad9beb14d0166fdc3a8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 15 Apr 2023 15:29:36 +0200 Subject: [PATCH 37/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index c2f61d72..847931d2 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -12,14 +12,14 @@ busybox-binsh 1.35.0-r29 apk ca-certificates 20220614-r4 apk ca-certificates-bundle 20220614-r4 apk coreutils 9.1-r0 apk -curl 7.88.1-r1 apk +curl 8.0.1-r0 apk jq 1.6-r2 apk libacl 2.3.1-r1 apk libattr 2.5.1-r2 apk libbsd 0.11.7-r0 apk libc-utils 0.7.2-r3 apk libcrypto3 3.0.8-r3 apk -libcurl 7.88.1-r1 apk +libcurl 8.0.1-r0 apk libintl 0.21.1-r1 apk libmd 1.0.4-r0 apk libproc 3.3.17-r2 apk From 5d733ee57133c19d8c4bef29335272627c273e89 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 22 Apr 2023 08:29:54 -0500 Subject: [PATCH 38/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 847931d2..52edce93 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -18,12 +18,12 @@ libacl 2.3.1-r1 apk libattr 2.5.1-r2 apk libbsd 0.11.7-r0 apk libc-utils 0.7.2-r3 apk -libcrypto3 3.0.8-r3 apk +libcrypto3 3.0.8-r4 apk libcurl 8.0.1-r0 apk libintl 0.21.1-r1 apk libmd 1.0.4-r0 apk libproc 3.3.17-r2 apk -libssl3 3.0.8-r3 apk +libssl3 3.0.8-r4 apk linux-pam 1.5.2-r1 apk musl 1.2.3-r4 apk musl-utils 1.2.3-r4 apk From a8465643b1894278f0824a6a7bccfd02eb927ef9 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 29 Apr 2023 13:27:36 +0000 Subject: [PATCH 39/61] Bot Updating Templated Files --- Jenkinsfile | 91 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 85 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 62383efb..3139c3ef 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,10 +39,11 @@ pipeline { // Setup all the basic environment variables needed for the build stage("Set ENV Variables base"){ steps{ + sh '''docker pull quay.io/skopeo/stable:v1 || : ''' script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( - script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':3.17 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', + script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:3.17 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' ''', @@ -226,7 +227,7 @@ pipeline { script{ 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 '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-jenkins-builder/master/checkrun.sh | /bin/bash''' sh '''#! /bin/bash docker run --rm \ -v ${WORKSPACE}:/mnt \ @@ -353,6 +354,26 @@ pipeline { } } } + // If this is a master build check the S6 service file perms + stage("Check S6 Service file Permissions"){ + when { + branch "master" + environment name: 'CHANGE_ID', value: '' + environment name: 'EXIT_STATUS', value: '' + } + steps { + script{ + sh '''#! /bin/bash + WRONG_PERM=$(find ./ -path "./.git" -prune -o \\( -name "run" -o -name "finish" -o -name "check" \\) -not -perm -u=x,g=x,o=x -print) + if [[ -n "${WRONG_PERM}" ]]; then + echo "The following S6 service files are missing the executable bit; canceling the faulty build: ${WRONG_PERM}" + exit 1 + else + echo "S6 service file perms look good." + fi ''' + } + } + } /* ####################### GitLab Mirroring ####################### */ @@ -627,6 +648,7 @@ pipeline { ]) { script{ env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html' + env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json' } sh '''#! /bin/bash set -e @@ -653,8 +675,6 @@ pipeline { -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 ghcr.io/linuxserver/ci:latest \ python3 test_build.py''' } @@ -904,8 +924,67 @@ pipeline { environment name: 'EXIT_STATUS', value: '' } steps { - sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \ - -d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' ''' + sh '''#! /bin/bash + # Function to retrieve JSON data from URL + get_json() { + local url="$1" + local response=$(curl -s "$url") + if [ $? -ne 0 ]; then + echo "Failed to retrieve JSON data from $url" + return 1 + fi + local json=$(echo "$response" | jq .) + if [ $? -ne 0 ]; then + echo "Failed to parse JSON data from $url" + return 1 + fi + echo "$json" + } + + build_table() { + local data="$1" + + # Get the keys in the JSON data + local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]') + + # Check if keys are empty + if [ -z "$keys" ]; then + echo "JSON report data does not contain any keys or the report does not exist." + return 1 + fi + + # Build table header + local header="| Tag | Passed |\\n| --- | --- |\\n" + + # Loop through the JSON data to build the table rows + local rows="" + for build in $keys; do + local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success") + if [ "$status" = "true" ]; then + status="✅" + else + status="❌" + fi + local row="| "$build" | "$status" |\\n" + rows="${rows}${row}" + done + + local table="${header}${rows}" + local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g') + echo "$escaped_table" + } + + # Retrieve JSON data from URL + data=$(get_json "$CI_JSON_URL") + # Create table from JSON data + table=$(build_table "$data") + echo -e "$table" + + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"''' + } } } From a7ba2053f001f074be7a3508dbe4f52651a78c99 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 29 Apr 2023 13:29:16 +0000 Subject: [PATCH 40/61] Bot Updating Templated Files --- .github/workflows/call_issue_pr_tracker.yml | 6 ++++-- .github/workflows/external_trigger.yml | 1 + .../workflows/external_trigger_scheduler.yml | 18 ++++++++++-------- .github/workflows/package_trigger.yml | 4 ++++ .../workflows/package_trigger_scheduler.yml | 8 ++++---- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml index 87243e2c..2c307843 100755 --- a/.github/workflows/call_issue_pr_tracker.yml +++ b/.github/workflows/call_issue_pr_tracker.yml @@ -2,9 +2,11 @@ name: Issue & PR Tracker on: issues: - types: [opened,reopened,labeled,unlabeled] + types: [opened,reopened,labeled,unlabeled,closed] pull_request_target: - types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled] + types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed] + pull_request_review: + types: [submitted,edited,dismissed] jobs: manage-project: diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 5b2fc0bf..df29304d 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -13,4 +13,5 @@ jobs: if: github.ref == 'refs/heads/master' run: | echo "**** No external release, exiting ****" + echo "No external release, exiting" >> $GITHUB_STEP_SUMMARY exit 0 diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml index 05233786..e07d5e74 100644 --- a/.github/workflows/external_trigger_scheduler.yml +++ b/.github/workflows/external_trigger_scheduler.yml @@ -2,7 +2,7 @@ name: External Trigger Scheduler on: schedule: - - cron: '52 * * * *' + - cron: '20 * * * *' workflow_dispatch: jobs: @@ -17,18 +17,18 @@ jobs: run: | echo "**** Branches found: ****" git for-each-ref --format='%(refname:short)' refs/remotes - echo "**** Pulling the yq docker image ****" - docker pull ghcr.io/linuxserver/yq for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) do br=$(echo "$br" | sed 's|origin/||g') echo "**** Evaluating branch ${br} ****" - ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/jenkins-vars.yml \ - | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch) - if [ "$br" == "$ls_branch" ]; then - echo "**** Branch ${br} appears to be live; checking workflow. ****" + ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/jenkins-vars.yml) + ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch') + ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type') + if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then + echo "**** Branch ${br} appears to be live and trigger is not os; checking workflow. ****" if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****." + echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY curl -iX POST \ -H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Accept: application/vnd.github.v3+json" \ @@ -36,8 +36,10 @@ jobs: https://api.github.com/repos/linuxserver/docker-baseimage-alpine/actions/workflows/external_trigger.yml/dispatches else echo "**** Workflow doesn't exist; skipping trigger. ****" + echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY fi else - echo "**** ${br} appears to be a dev branch; skipping trigger. ****" + echo "**** ${br} is either a dev branch, or has no external version; skipping trigger. ****" + echo "Skipping branch ${br} due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY fi done diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml index f23a48ec..a419afc0 100644 --- a/.github/workflows/package_trigger.yml +++ b/.github/workflows/package_trigger.yml @@ -14,13 +14,16 @@ jobs: run: | if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER }}" ]; then echo "**** Github secret PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER is set; skipping trigger. ****" + echo "Github secret \`PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 fi if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****" + echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY exit 0 fi echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER\". ****" + echo "Package trigger running off of master branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_BASEIMAGE_ALPINE_MASTER\`" >> $GITHUB_STEP_SUMMARY response=$(curl -iX POST \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine/job/master/buildWithParameters?PACKAGE_CHECK=true \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") @@ -30,6 +33,7 @@ jobs: buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl="${buildurl%$'\r'}" echo "**** Jenkins job build url: ${buildurl} ****" + echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY echo "**** Attempting to change the Jenkins job description ****" curl -iX POST \ "${buildurl}submitDescription" \ diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index 2c76e9a4..217dc643 100644 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -17,18 +17,16 @@ jobs: run: | echo "**** Branches found: ****" git for-each-ref --format='%(refname:short)' refs/remotes - echo "**** Pulling the yq docker image ****" - docker pull ghcr.io/linuxserver/yq for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) do br=$(echo "$br" | sed 's|origin/||g') echo "**** Evaluating branch ${br} ****" - ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/jenkins-vars.yml \ - | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch) + ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/jenkins-vars.yml | yq -r '.ls_branch') if [ "${br}" == "${ls_branch}" ]; then echo "**** Branch ${br} appears to be live; checking workflow. ****" if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****" + echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY triggered_branches="${triggered_branches}${br} " curl -iX POST \ -H "Authorization: token ${{ secrets.CR_PAT }}" \ @@ -38,9 +36,11 @@ jobs: sleep 30 else echo "**** Workflow doesn't exist; skipping trigger. ****" + echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY fi else echo "**** ${br} appears to be a dev branch; skipping trigger. ****" + echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY fi done echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" From eb4b14ce3c33f5b59a3e1a6ec971f40b517b78c2 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 6 May 2023 13:28:10 +0000 Subject: [PATCH 41/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 52edce93..22de891f 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -9,8 +9,8 @@ brotli-libs 1.0.9-r9 apk busybox 1.35.0 binary busybox 1.35.0-r29 apk busybox-binsh 1.35.0-r29 apk -ca-certificates 20220614-r4 apk -ca-certificates-bundle 20220614-r4 apk +ca-certificates 20230506-r0 apk +ca-certificates-bundle 20230506-r0 apk coreutils 9.1-r0 apk curl 8.0.1-r0 apk jq 1.6-r2 apk From 91044234a780cf65b377c844d48cacd41b7fbdd0 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Wed, 10 May 2023 15:24:43 +0100 Subject: [PATCH 42/61] Initial release --- Dockerfile | 32 +++++-------- Dockerfile.aarch64 | 37 +++++---------- Dockerfile.armhf | 106 ----------------------------------------- Jenkinsfile | 116 +++++++++++++-------------------------------- jenkins-vars.yml | 3 +- 5 files changed, 60 insertions(+), 234 deletions(-) delete mode 100644 Dockerfile.armhf diff --git a/Dockerfile b/Dockerfile index 09c97b3b..354a6fa3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,42 +1,36 @@ # syntax=docker/dockerfile:1 -FROM alpine:3.16 as rootfs-stage +FROM alpine:3.17 as rootfs-stage # environment -ENV REL=v3.17 +ENV ROOTFS=/root-out +ENV REL=v3.18 ENV ARCH=x86_64 ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine ENV PACKAGES=alpine-baselayout,\ alpine-keys,\ apk-tools,\ busybox,\ -libc-utils,\ -xz +libc-utils # install packages RUN \ apk add --no-cache \ bash \ - curl \ - tzdata \ xz -# fetch builder script from gliderlabs +# build rootfs RUN \ - curl -o \ - /mkimage-alpine.bash -L \ - https://raw.githubusercontent.com/gliderlabs/docker-alpine/master/builder/scripts/mkimage-alpine.bash && \ - chmod +x \ - /mkimage-alpine.bash && \ - ./mkimage-alpine.bash && \ - mkdir /root-out && \ - tar xf \ - /rootfs.tar.xz -C \ - /root-out && \ + mkdir -p "$ROOTFS/etc/apk" && \ + { \ + echo "$MIRROR/$REL/main"; \ + echo "$MIRROR/$REL/community"; \ + } > "$ROOTFS/etc/apk/repositories" && \ + apk --root "$ROOTFS" --no-cache --keys-dir /etc/apk/keys add --arch $ARCH --initdb ${PACKAGES//,/ } && \ sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow # set version for s6 overlay -ARG S6_OVERLAY_VERSION="3.1.2.1" +ARG S6_OVERLAY_VERSION="3.1.5.0" ARG S6_OVERLAY_ARCH="x86_64" # add s6 overlay @@ -80,7 +74,7 @@ RUN \ curl \ jq \ netcat-openbsd \ - procps \ + procps-ng \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 7bfd122d..f6bb1ddd 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,42 +1,36 @@ # syntax=docker/dockerfile:1 -FROM alpine:3.16 as rootfs-stage +FROM alpine:3.17 as rootfs-stage # environment -ENV REL=v3.17 +ENV ROOTFS=/root-out +ENV REL=v3.18 ENV ARCH=aarch64 ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine ENV PACKAGES=alpine-baselayout,\ alpine-keys,\ apk-tools,\ busybox,\ -libc-utils,\ -xz +libc-utils # install packages RUN \ apk add --no-cache \ bash \ - curl \ - tzdata \ xz -# fetch builder script from gliderlabs +# build rootfs RUN \ - curl -o \ - /mkimage-alpine.bash -L \ - https://raw.githubusercontent.com/gliderlabs/docker-alpine/master/builder/scripts/mkimage-alpine.bash && \ - chmod +x \ - /mkimage-alpine.bash && \ - ./mkimage-alpine.bash && \ - mkdir /root-out && \ - tar xf \ - /rootfs.tar.xz -C \ - /root-out && \ + mkdir -p "$ROOTFS/etc/apk" && \ + { \ + echo "$MIRROR/$REL/main"; \ + echo "$MIRROR/$REL/community"; \ + } > "$ROOTFS/etc/apk/repositories" && \ + apk --root "$ROOTFS" --no-cache --keys-dir /etc/apk/keys add --arch $ARCH --initdb ${PACKAGES//,/ } && \ sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow # set version for s6 overlay -ARG S6_OVERLAY_VERSION="3.1.2.1" +ARG S6_OVERLAY_VERSION="3.1.5.0" ARG S6_OVERLAY_ARCH="aarch64" # add s6 overlay @@ -80,7 +74,7 @@ RUN \ curl \ jq \ netcat-openbsd \ - procps \ + procps-ng \ shadow \ tzdata && \ echo "**** create abc user and make our folders ****" && \ @@ -91,11 +85,6 @@ RUN \ /app \ /config \ /defaults && \ - echo "**** add qemu ****" && \ - curl -o \ - /usr/bin/qemu-aarch64-static -L \ - "https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static" && \ - chmod +x /usr/bin/qemu-aarch64-static && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* diff --git a/Dockerfile.armhf b/Dockerfile.armhf deleted file mode 100644 index 570173cc..00000000 --- a/Dockerfile.armhf +++ /dev/null @@ -1,106 +0,0 @@ -# syntax=docker/dockerfile:1 - -FROM alpine:3.16 as rootfs-stage - -# environment -ENV REL=v3.17 -ENV ARCH=armv7 -ENV MIRROR=http://dl-cdn.alpinelinux.org/alpine -ENV PACKAGES=alpine-baselayout,\ -alpine-keys,\ -apk-tools,\ -busybox,\ -libc-utils,\ -xz - -# install packages -RUN \ - apk add --no-cache \ - bash \ - curl \ - tzdata \ - xz - -# fetch builder script from gliderlabs -RUN \ - curl -o \ - /mkimage-alpine.bash -L \ - https://raw.githubusercontent.com/gliderlabs/docker-alpine/master/builder/scripts/mkimage-alpine.bash && \ - chmod +x \ - /mkimage-alpine.bash && \ - ./mkimage-alpine.bash && \ - mkdir /root-out && \ - tar xf \ - /rootfs.tar.xz -C \ - /root-out && \ - sed -i -e 's/^root::/root:!:/' /root-out/etc/shadow - -# set version for s6 overlay -ARG S6_OVERLAY_VERSION="3.1.2.1" -ARG S6_OVERLAY_ARCH="armhf" - -# add s6 overlay -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp -RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp -RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz - -# add s6 optional symlinks -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp -RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp -RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz - -# Runtime stage -FROM scratch -COPY --from=rootfs-stage /root-out/ / -ARG BUILD_DATE -ARG VERSION -ARG MODS_VERSION="v3" -LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="TheLamer" - -ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods" - -# environment variables -ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \ -HOME="/root" \ -TERM="xterm" \ -S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \ -S6_VERBOSITY=1 \ -S6_STAGE2_HOOK=/docker-mods - -RUN \ - echo "**** install runtime packages ****" && \ - apk add --no-cache \ - alpine-release \ - bash \ - ca-certificates \ - coreutils \ - curl \ - jq \ - netcat-openbsd \ - procps \ - shadow \ - tzdata && \ - echo "**** create abc user and make our folders ****" && \ - groupmod -g 1000 users && \ - useradd -u 911 -U -d /config -s /bin/false abc && \ - usermod -G users abc && \ - mkdir -p \ - /app \ - /config \ - /defaults && \ - echo "**** add qemu ****" && \ - curl -o \ - /usr/bin/qemu-arm-static -L \ - "https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static" && \ - chmod +x /usr/bin/qemu-arm-static && \ - echo "**** cleanup ****" && \ - rm -rf \ - /tmp/* - -# add local files -COPY root/ / - -ENTRYPOINT ["/init"] diff --git a/Jenkinsfile b/Jenkinsfile index 3139c3ef..961ac618 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -43,7 +43,7 @@ pipeline { script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( - script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:3.17 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', + script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:3.18 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' ''', @@ -67,7 +67,7 @@ pipeline { script{ env.LS_TAG_NUMBER = sh( script: '''#! /bin/bash - tagsha=$(git rev-list -n 1 3.17-${LS_RELEASE} 2>/dev/null) + tagsha=$(git rev-list -n 1 3.18-${LS_RELEASE} 2>/dev/null) if [ "${tagsha}" == "${COMMIT_SHA}" ]; then echo ${LS_RELEASE_NUMBER} elif [ -z "${GIT_COMMIT}" ]; then @@ -156,13 +156,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-3.18-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-3.18-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { - env.CI_TAGS = '3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = '3.18-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.META_TAG = '3.17-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.EXT_RELEASE_TAG = '3.17-version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = '3.18-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.EXT_RELEASE_TAG = '3.18-version-' + env.EXT_RELEASE_CLEAN } } } @@ -179,13 +179,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { - env.CI_TAGS = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.META_TAG = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.EXT_RELEASE_TAG = '3.17-version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.EXT_RELEASE_TAG = '3.18-version-' + env.EXT_RELEASE_CLEAN env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' } } @@ -202,13 +202,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } else { - env.CI_TAGS = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.META_TAG = '3.17-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.EXT_RELEASE_TAG = '3.17-version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.EXT_RELEASE_TAG = '3.18-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/' } @@ -484,40 +484,6 @@ pipeline { --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } - stage('Build ARMHF') { - agent { - label 'ARMHF' - } - steps { - echo "Running on node: ${NODE_NAME}" - echo 'Logging into Github' - sh '''#! /bin/bash - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - ''' - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-alpine/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-baseimage-alpine\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-baseimage-alpine\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Baseimage-alpine\" \ - --label \"org.opencontainers.image.description=baseimage-alpine image by linuxserver.io\" \ - --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_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') { agent { label 'ARM64' @@ -654,9 +620,7 @@ pipeline { set -e docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then - 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 \ @@ -713,12 +677,12 @@ pipeline { echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG} - docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:3.17 + docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:3.18 docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER} fi - docker push ${PUSHIMAGE}:3.17 + docker push ${PUSHIMAGE}:3.18 docker push ${PUSHIMAGE}:${META_TAG} docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then @@ -732,7 +696,7 @@ pipeline { docker rmi \ ${DELETEIMAGE}:${META_TAG} \ ${DELETEIMAGE}:${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:3.17 || : + ${DELETEIMAGE}:3.18 || : if [ -n "${SEMVER}" ]; then docker rmi ${DELETEIMAGE}:${SEMVER} || : fi @@ -770,59 +734,48 @@ pipeline { echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} - docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-3.17 + docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-3.18 docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-3.17 - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-3.17 + docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-3.18 docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker push ${MANIFESTIMAGE}:amd64-3.17 - docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-3.17 - docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} + docker push ${MANIFESTIMAGE}:amd64-3.18 docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker push ${MANIFESTIMAGE}:arm64v8-3.17 + docker push ${MANIFESTIMAGE}:arm64v8-3.18 docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} - docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi - docker manifest push --purge ${MANIFESTIMAGE}:3.17 || : - docker manifest create ${MANIFESTIMAGE}:3.17 ${MANIFESTIMAGE}:amd64-3.17 ${MANIFESTIMAGE}:arm32v7-3.17 ${MANIFESTIMAGE}:arm64v8-3.17 - docker manifest annotate ${MANIFESTIMAGE}:3.17 ${MANIFESTIMAGE}:arm32v7-3.17 --os linux --arch arm - docker manifest annotate ${MANIFESTIMAGE}:3.17 ${MANIFESTIMAGE}:arm64v8-3.17 --os linux --arch arm64 --variant v8 + docker manifest push --purge ${MANIFESTIMAGE}:3.18 || : + docker manifest create ${MANIFESTIMAGE}:3.18 ${MANIFESTIMAGE}:amd64-3.18 ${MANIFESTIMAGE}:arm64v8-3.18 + docker manifest annotate ${MANIFESTIMAGE}:3.18 ${MANIFESTIMAGE}:arm64v8-3.18 --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - 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 create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - 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 create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 if [ -n "${SEMVER}" ]; then docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi - docker manifest push --purge ${MANIFESTIMAGE}:3.17 + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-3.18 || : + docker manifest create ${MANIFESTIMAGE}:arm32v7-3.18 ${MANIFESTIMAGE}:amd64-3.18 + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-3.18 + docker manifest push --purge ${MANIFESTIMAGE}:3.18 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then @@ -834,20 +787,15 @@ pipeline { sh '''#! /bin/bash for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker rmi \ - ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-3.17 \ - ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:arm64v8-${META_TAG} \ - ${DELETEIMAGE}:arm64v8-3.17 \ + ${DELETEIMAGE}:arm64v8-3.18 \ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : if [ -n "${SEMVER}" ]; then docker rmi \ - ${DELETEIMAGE}:arm32v7-${SEMVER} \ ${DELETEIMAGE}:arm64v8-${SEMVER} || : fi done docker rmi \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || : ''' } diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 2140c58b..950463bb 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -4,8 +4,9 @@ project_name: docker-baseimage-alpine external_type: os release_type: stable -release_tag: "3.17" +release_tag: "3.18" ls_branch: master +build_armhf: false repo_vars: - BUILD_VERSION_ARG = 'OS' - LS_USER = 'linuxserver' From 76c8c4fd589969bb21851a553842c0f5491126e0 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Wed, 10 May 2023 19:52:10 +0000 Subject: [PATCH 43/61] Bot Updating Package Versions --- package_versions.txt | 82 ++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 22de891f..77008bc1 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,45 +1,45 @@ NAME VERSION TYPE -alpine-baselayout 3.4.0-r0 apk -alpine-baselayout-data 3.4.0-r0 apk +alpine-baselayout 3.4.3-r1 apk +alpine-baselayout-data 3.4.3-r1 apk alpine-keys 2.4-r1 apk -alpine-release 3.17.3-r0 apk -apk-tools 2.12.10-r1 apk -bash 5.2.15-r0 apk -brotli-libs 1.0.9-r9 apk -busybox 1.35.0 binary -busybox 1.35.0-r29 apk -busybox-binsh 1.35.0-r29 apk +alpine-release 3.18.0-r0 apk +apk-tools 2.14.0-r2 apk +bash 5.2.15-r3 apk +brotli-libs 1.0.9-r14 apk +busybox 1.36.0 binary +busybox 1.36.0-r9 apk +busybox-binsh 1.36.0-r9 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk -coreutils 9.1-r0 apk -curl 8.0.1-r0 apk -jq 1.6-r2 apk -libacl 2.3.1-r1 apk -libattr 2.5.1-r2 apk -libbsd 0.11.7-r0 apk -libc-utils 0.7.2-r3 apk -libcrypto3 3.0.8-r4 apk -libcurl 8.0.1-r0 apk -libintl 0.21.1-r1 apk -libmd 1.0.4-r0 apk -libproc 3.3.17-r2 apk -libssl3 3.0.8-r4 apk -linux-pam 1.5.2-r1 apk -musl 1.2.3-r4 apk -musl-utils 1.2.3-r4 apk -ncurses-libs 6.3_p20221119-r0 apk -ncurses-terminfo-base 6.3_p20221119-r0 apk -netcat-openbsd 1.130-r4 apk -nghttp2-libs 1.51.0-r0 apk -oniguruma 6.9.8-r0 apk -procps 3.3.17-r2 apk -readline 8.2.0-r0 apk -scanelf 1.3.5-r1 apk -shadow 4.13-r0 apk -skalibs 2.12.0.1-r0 apk -ssl_client 1.35.0-r29 apk -tzdata 2023c-r0 apk -utmps-libs 0.1.2.0-r1 apk -xz 5.2.9-r0 apk -xz-libs 5.2.9-r0 apk -zlib 1.2.13-r0 apk +coreutils 9.3-r1 apk +curl 8.0.1-r2 apk +jq 1.6-r3 apk +libacl 2.3.1-r3 apk +libattr 2.5.1-r4 apk +libbsd 0.11.7-r1 apk +libc-utils 0.7.2-r5 apk +libcrypto3 3.1.0-r4 apk +libcurl 8.0.1-r2 apk +libidn2 2.3.4-r1 apk +libintl 0.21.1-r5 apk +libmd 1.0.4-r2 apk +libncursesw 6.4_p20230506-r0 apk +libproc2 4.0.3-r1 apk +libssl3 3.1.0-r4 apk +libunistring 1.1-r1 apk +linux-pam 1.5.2-r10 apk +musl 1.2.4-r0 apk +musl-utils 1.2.4-r0 apk +ncurses-terminfo-base 6.4_p20230506-r0 apk +netcat-openbsd 1.219-r1 apk +nghttp2-libs 1.52.0-r1 apk +oniguruma 6.9.8-r1 apk +procps-ng 4.0.3-r1 apk +readline 8.2.1-r1 apk +scanelf 1.3.7-r1 apk +shadow 4.13-r2 apk +skalibs 2.13.1.1-r1 apk +ssl_client 1.36.0-r9 apk +tzdata 2023c-r1 apk +utmps-libs 0.1.2.1-r1 apk +zlib 1.2.13-r1 apk From d36f2ddbf44e0c275ae1c584df15e3d0a82b4120 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 13 May 2023 13:26:39 +0000 Subject: [PATCH 44/61] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 77008bc1..5d7b7055 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -32,7 +32,7 @@ musl 1.2.4-r0 apk musl-utils 1.2.4-r0 apk ncurses-terminfo-base 6.4_p20230506-r0 apk netcat-openbsd 1.219-r1 apk -nghttp2-libs 1.52.0-r1 apk +nghttp2-libs 1.53.0-r0 apk oniguruma 6.9.8-r1 apk procps-ng 4.0.3-r1 apk readline 8.2.1-r1 apk From 8b124808efc43fbb342954e699c3aec5f852e7ed Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Mon, 15 May 2023 18:12:51 +0100 Subject: [PATCH 45/61] Create lsiopy venv folder and envs --- Dockerfile | 15 +++++++++------ Dockerfile.aarch64 | 15 +++++++++------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 354a6fa3..5089a599 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,11 +58,13 @@ ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-s # environment variables ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \ -HOME="/root" \ -TERM="xterm" \ -S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \ -S6_VERBOSITY=1 \ -S6_STAGE2_HOOK=/docker-mods + HOME="/root" \ + TERM="xterm" \ + S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \ + S6_VERBOSITY=1 \ + S6_STAGE2_HOOK=/docker-mods \ + VIRTUAL_ENV=/lsiopy \ + PATH="/lsiopy/bin:$PATH" RUN \ echo "**** install runtime packages ****" && \ @@ -84,7 +86,8 @@ RUN \ mkdir -p \ /app \ /config \ - /defaults && \ + /defaults \ + /lsiopy && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index f6bb1ddd..191115ca 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -58,11 +58,13 @@ ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-s # environment variables ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \ -HOME="/root" \ -TERM="xterm" \ -S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \ -S6_VERBOSITY=1 \ -S6_STAGE2_HOOK=/docker-mods + HOME="/root" \ + TERM="xterm" \ + S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \ + S6_VERBOSITY=1 \ + S6_STAGE2_HOOK=/docker-mods \ + VIRTUAL_ENV=/lsiopy \ + PATH="/lsiopy/bin:$PATH" RUN \ echo "**** install runtime packages ****" && \ @@ -84,7 +86,8 @@ RUN \ mkdir -p \ /app \ /config \ - /defaults && \ + /defaults \ + /lsiopy && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* From 39642821ec6d4eeadadb605e9f372a80c9ec1ab9 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Mon, 15 May 2023 16:38:33 -0400 Subject: [PATCH 46/61] use venv in init mods package install --- .../s6-rc.d/init-mods-package-install/run | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run index 90b4b2e8..f54077e4 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run @@ -1,6 +1,17 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash +if [[ -f "/mod-pip-packages-to-install.list" ]]; then + IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)" + if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then + if [[ -f /usr/bin/apt ]]; then + echo "python3-venv" >> /mod-repo-packages-to-install.list + elif [[ -f /sbin/apk ]]; then + echo "python3" >> /mod-repo-packages-to-install.list + fi + fi +fi + if [[ -f "/mod-repo-packages-to-install.list" ]]; then IFS=' ' read -ra REPO_PACKAGES <<< "$(tr '\n' ' ' < /mod-repo-packages-to-install.list)" if [[ ${#REPO_PACKAGES[@]} -ne 0 ]] && [[ ${REPO_PACKAGES[*]} != "" ]]; then @@ -21,6 +32,10 @@ if [[ -f "/mod-pip-packages-to-install.list" ]]; then IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)" if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then echo "[mod-init] **** Installing all pip packages ****" + if [[ ! -d /lsiopy/bin ]]; then + echo "**** Creating venv ****" + python3 -m venv /lsiopy + fi python3 -m pip install -U pip wheel setuptools PIP_ARGS=() if [[ -f /usr/bin/apt ]]; then From 15496c0fca0bf49ea0fbe59d508546f0ca3944b1 Mon Sep 17 00:00:00 2001 From: TheSpad <git@spad.co.uk> Date: Tue, 16 May 2023 10:49:38 +0100 Subject: [PATCH 47/61] Externalise package check --- Dockerfile | 2 + Dockerfile.aarch64 | 2 + .../s6-rc.d/init-mods-package-install/run | 59 ------------------- 3 files changed, 4 insertions(+), 59 deletions(-) delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run diff --git a/Dockerfile b/Dockerfile index 5089a599..26ebe7ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,10 +51,12 @@ COPY --from=rootfs-stage /root-out/ / ARG BUILD_DATE ARG VERSION ARG MODS_VERSION="v3" +ARG PKG_INST_VERSION="v1" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="TheLamer" ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods" +ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" "/etc/s6-overlay/s6-rc.d/init-mods-package-install/run" # environment variables ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 191115ca..05b56a56 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -51,10 +51,12 @@ COPY --from=rootfs-stage /root-out/ / ARG BUILD_DATE ARG VERSION ARG MODS_VERSION="v3" +ARG PKG_INST_VERSION="v1" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="TheLamer" ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods" +ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" "/etc/s6-overlay/s6-rc.d/init-mods-package-install/run" # environment variables ENV PS1="$(whoami)@$(hostname):$(pwd)\\$ " \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run deleted file mode 100755 index f54077e4..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -if [[ -f "/mod-pip-packages-to-install.list" ]]; then - IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)" - if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then - if [[ -f /usr/bin/apt ]]; then - echo "python3-venv" >> /mod-repo-packages-to-install.list - elif [[ -f /sbin/apk ]]; then - echo "python3" >> /mod-repo-packages-to-install.list - fi - fi -fi - -if [[ -f "/mod-repo-packages-to-install.list" ]]; then - IFS=' ' read -ra REPO_PACKAGES <<< "$(tr '\n' ' ' < /mod-repo-packages-to-install.list)" - if [[ ${#REPO_PACKAGES[@]} -ne 0 ]] && [[ ${REPO_PACKAGES[*]} != "" ]]; then - echo "[mod-init] **** Installing all mod packages ****" - if [[ -f /usr/bin/apt ]]; then - export DEBIAN_FRONTEND="noninteractive" - apt-get update - apt-get install -y --no-install-recommends \ - "${REPO_PACKAGES[@]}" - elif [[ -f /sbin/apk ]]; then - apk add --no-cache \ - "${REPO_PACKAGES[@]}" - fi - fi -fi - -if [[ -f "/mod-pip-packages-to-install.list" ]]; then - IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)" - if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then - echo "[mod-init] **** Installing all pip packages ****" - if [[ ! -d /lsiopy/bin ]]; then - echo "**** Creating venv ****" - python3 -m venv /lsiopy - fi - python3 -m pip install -U pip wheel setuptools - PIP_ARGS=() - if [[ -f /usr/bin/apt ]]; then - PIP_ARGS+=("-f" "https://wheel-index.linuxserver.io/ubuntu/") - elif [[ -f /sbin/apk ]]; then - ALPINE_VER=$(grep main /etc/apk/repositories | sed 's|.*alpine/v||' | sed 's|/main.*||') - if [[ "${ALPINE_VER}" = "3.14" ]]; then - PIP_ARGS+=("-f" "https://wheel-index.linuxserver.io/alpine/") - else - PIP_ARGS+=("-f" "https://wheel-index.linuxserver.io/alpine-${ALPINE_VER}/") - fi - fi - python3 -m pip install \ - "${PIP_ARGS[@]}" \ - "${PIP_PACKAGES[@]}" - fi -fi - -rm -rf \ - /mod-repo-packages-to-install.list \ - /mod-pip-packages-to-install.list From 07df980344f2b046c255bf9be5a391fe2f4a06f8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 20 May 2023 13:27:06 +0000 Subject: [PATCH 48/61] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 5d7b7055..1dddd3e4 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -12,16 +12,16 @@ busybox-binsh 1.36.0-r9 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk coreutils 9.3-r1 apk -curl 8.0.1-r2 apk +curl 8.1.0-r1 apk jq 1.6-r3 apk libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk libcrypto3 3.1.0-r4 apk -libcurl 8.0.1-r2 apk +libcurl 8.1.0-r1 apk libidn2 2.3.4-r1 apk -libintl 0.21.1-r5 apk +libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk libncursesw 6.4_p20230506-r0 apk libproc2 4.0.3-r1 apk From d2b85ed2564bd6e78a3dd1c7789fe430c82781de Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 27 May 2023 13:27:37 +0000 Subject: [PATCH 49/61] Bot Updating Templated Files --- Jenkinsfile | 100 +++++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 48 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 961ac618..c3b823d9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,12 @@ pipeline { // Setup all the basic environment variables needed for the build stage("Set ENV Variables base"){ steps{ - sh '''docker pull quay.io/skopeo/stable:v1 || : ''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( @@ -202,12 +207,12 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } else { - env.CI_TAGS = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } - env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.META_TAG = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + env.META_TAG = '3.18-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST env.EXT_RELEASE_TAG = '3.18-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/' @@ -405,8 +410,7 @@ pipeline { } steps{ sh '''#! /bin/bash - set -e - PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/baseimage-alpine") | .uuid') + PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/baseimage-alpine") | .uuid' || :) if [ -z "${PACKAGE_UUID}" ]; then echo "Adding package to Scarf.sh" curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \ @@ -513,9 +517,12 @@ pipeline { 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} || :''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' } } } @@ -691,17 +698,6 @@ pipeline { done ''' } - sh '''#! /bin/bash - for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker rmi \ - ${DELETEIMAGE}:${META_TAG} \ - ${DELETEIMAGE}:${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:3.18 || : - if [ -n "${SEMVER}" ]; then - docker rmi ${DELETEIMAGE}:${SEMVER} || : - fi - done - ''' } } } @@ -772,9 +768,16 @@ pipeline { docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi - docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-3.18 || : - docker manifest create ${MANIFESTIMAGE}:arm32v7-3.18 ${MANIFESTIMAGE}:amd64-3.18 - docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-3.18 + token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token') + digest=$(curl -s \ + --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ + --header "Authorization: Bearer ${token}" \ + "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-3.18") + if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-3.18 || : + docker manifest create ${MANIFESTIMAGE}:arm32v7-3.18 ${MANIFESTIMAGE}:amd64-3.18 + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-3.18 + fi docker manifest push --purge ${MANIFESTIMAGE}:3.18 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} @@ -784,20 +787,6 @@ pipeline { done ''' } - sh '''#! /bin/bash - for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker rmi \ - ${DELETEIMAGE}:arm64v8-${META_TAG} \ - ${DELETEIMAGE}:arm64v8-3.18 \ - ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : - if [ -n "${SEMVER}" ]; then - docker rmi \ - ${DELETEIMAGE}:arm64v8-${SEMVER} || : - fi - done - docker rmi \ - ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || : - ''' } } } @@ -868,7 +857,6 @@ pipeline { stage('Pull Request Comment') { when { not {environment name: 'CHANGE_ID', value: ''} - environment name: 'CI', value: 'true' environment name: 'EXIT_STATUS', value: '' } steps { @@ -922,16 +910,24 @@ pipeline { echo "$escaped_table" } - # Retrieve JSON data from URL - data=$(get_json "$CI_JSON_URL") - # Create table from JSON data - table=$(build_table "$data") - echo -e "$table" + if [[ "${CI}" = "true" ]]; then + # Retrieve JSON data from URL + data=$(get_json "$CI_JSON_URL") + # Create table from JSON data + table=$(build_table "$data") + echo -e "$table" - curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ - -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"''' + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}" + else + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}" + fi + ''' } } @@ -958,6 +954,14 @@ pipeline { } } cleanup { + sh '''#! /bin/bash + echo "Performing docker system prune!!" + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : + ''' cleanWs() } } From a0d322b3050123260b41000840c58362c688d509 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 27 May 2023 13:29:32 +0000 Subject: [PATCH 50/61] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 1dddd3e4..293401e3 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -4,7 +4,7 @@ alpine-baselayout-data 3.4.3-r1 apk alpine-keys 2.4-r1 apk alpine-release 3.18.0-r0 apk apk-tools 2.14.0-r2 apk -bash 5.2.15-r3 apk +bash 5.2.15-r5 apk brotli-libs 1.0.9-r14 apk busybox 1.36.0 binary busybox 1.36.0-r9 apk @@ -12,14 +12,14 @@ busybox-binsh 1.36.0-r9 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk coreutils 9.3-r1 apk -curl 8.1.0-r1 apk +curl 8.1.1-r1 apk jq 1.6-r3 apk libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk libcrypto3 3.1.0-r4 apk -libcurl 8.1.0-r1 apk +libcurl 8.1.1-r1 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk From 1adb03aef09921f3823e3106c2450c4fd745536a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 3 Jun 2023 13:28:14 +0000 Subject: [PATCH 51/61] Bot Updating Package Versions --- package_versions.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 293401e3..b9405fcc 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -6,26 +6,26 @@ alpine-release 3.18.0-r0 apk apk-tools 2.14.0-r2 apk bash 5.2.15-r5 apk brotli-libs 1.0.9-r14 apk -busybox 1.36.0 binary -busybox 1.36.0-r9 apk -busybox-binsh 1.36.0-r9 apk +busybox 1.36.1 binary +busybox 1.36.1-r0 apk +busybox-binsh 1.36.1-r0 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk coreutils 9.3-r1 apk -curl 8.1.1-r1 apk +curl 8.1.2-r0 apk jq 1.6-r3 apk libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk -libcrypto3 3.1.0-r4 apk -libcurl 8.1.1-r1 apk +libcrypto3 3.1.1-r1 apk +libcurl 8.1.2-r0 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk libncursesw 6.4_p20230506-r0 apk libproc2 4.0.3-r1 apk -libssl3 3.1.0-r4 apk +libssl3 3.1.1-r1 apk libunistring 1.1-r1 apk linux-pam 1.5.2-r10 apk musl 1.2.4-r0 apk @@ -39,7 +39,7 @@ readline 8.2.1-r1 apk scanelf 1.3.7-r1 apk shadow 4.13-r2 apk skalibs 2.13.1.1-r1 apk -ssl_client 1.36.0-r9 apk +ssl_client 1.36.1-r0 apk tzdata 2023c-r1 apk utmps-libs 0.1.2.1-r1 apk zlib 1.2.13-r1 apk From e434ab3fe34e10ef1852ddc42f493425b63e22eb Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 17 Jun 2023 13:28:35 +0000 Subject: [PATCH 52/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index b9405fcc..ab5ad5e6 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -2,7 +2,7 @@ NAME VERSION TYPE alpine-baselayout 3.4.3-r1 apk alpine-baselayout-data 3.4.3-r1 apk alpine-keys 2.4-r1 apk -alpine-release 3.18.0-r0 apk +alpine-release 3.18.2-r0 apk apk-tools 2.14.0-r2 apk bash 5.2.15-r5 apk brotli-libs 1.0.9-r14 apk @@ -37,7 +37,7 @@ oniguruma 6.9.8-r1 apk procps-ng 4.0.3-r1 apk readline 8.2.1-r1 apk scanelf 1.3.7-r1 apk -shadow 4.13-r2 apk +shadow 4.13-r4 apk skalibs 2.13.1.1-r1 apk ssl_client 1.36.1-r0 apk tzdata 2023c-r1 apk From 4fe4220a7ee3e7e49afbfb1248ccb1feb69fa168 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 1 Jul 2023 13:31:32 +0000 Subject: [PATCH 53/61] Bot Updating Templated Files --- Jenkinsfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index c3b823d9..0d97bf6b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -278,7 +278,7 @@ pipeline { echo "Jenkinsfile is up to date." fi # Stage 2 - Delete old templates - 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" + 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" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -314,12 +314,13 @@ pipeline { mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : + cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : cd ${TEMPDIR}/repo/${LS_REPO}/ if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then echo ".jenkins-external" >> .gitignore git add .gitignore fi - git add ${TEMPLATED_FILES} + git add readme-vars.yml ${TEMPLATED_FILES} git commit -m 'Bot Updating Templated Files' git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} From 7d5f74364e790879102c1f1deaedac76bfc3af2c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 8 Jul 2023 13:32:10 +0000 Subject: [PATCH 54/61] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index ab5ad5e6..6b2f84ca 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -7,8 +7,8 @@ apk-tools 2.14.0-r2 apk bash 5.2.15-r5 apk brotli-libs 1.0.9-r14 apk busybox 1.36.1 binary -busybox 1.36.1-r0 apk -busybox-binsh 1.36.1-r0 apk +busybox 1.36.1-r1 apk +busybox-binsh 1.36.1-r1 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk coreutils 9.3-r1 apk @@ -39,7 +39,7 @@ readline 8.2.1-r1 apk scanelf 1.3.7-r1 apk shadow 4.13-r4 apk skalibs 2.13.1.1-r1 apk -ssl_client 1.36.1-r0 apk +ssl_client 1.36.1-r1 apk tzdata 2023c-r1 apk utmps-libs 0.1.2.1-r1 apk zlib 1.2.13-r1 apk From aa9b7f4b951aa0252ef3e1bd595161266ce429b2 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 15 Jul 2023 13:32:07 +0000 Subject: [PATCH 55/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 6b2f84ca..00ea8ba5 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -18,14 +18,14 @@ libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk -libcrypto3 3.1.1-r1 apk +libcrypto3 3.1.1-r2 apk libcurl 8.1.2-r0 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk libncursesw 6.4_p20230506-r0 apk libproc2 4.0.3-r1 apk -libssl3 3.1.1-r1 apk +libssl3 3.1.1-r2 apk libunistring 1.1-r1 apk linux-pam 1.5.2-r10 apk musl 1.2.4-r0 apk From 8cf7e207553069b1105f3bec54d576780918a2e1 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 22 Jul 2023 13:28:28 +0000 Subject: [PATCH 56/61] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 00ea8ba5..437bcaac 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -12,27 +12,27 @@ busybox-binsh 1.36.1-r1 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk coreutils 9.3-r1 apk -curl 8.1.2-r0 apk +curl 8.2.0-r1 apk jq 1.6-r3 apk libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk -libcrypto3 3.1.1-r2 apk -libcurl 8.1.2-r0 apk +libcrypto3 3.1.1-r3 apk +libcurl 8.2.0-r1 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk libncursesw 6.4_p20230506-r0 apk libproc2 4.0.3-r1 apk -libssl3 3.1.1-r2 apk +libssl3 3.1.1-r3 apk libunistring 1.1-r1 apk linux-pam 1.5.2-r10 apk musl 1.2.4-r0 apk musl-utils 1.2.4-r0 apk ncurses-terminfo-base 6.4_p20230506-r0 apk netcat-openbsd 1.219-r1 apk -nghttp2-libs 1.53.0-r0 apk +nghttp2-libs 1.55.1-r0 apk oniguruma 6.9.8-r1 apk procps-ng 4.0.3-r1 apk readline 8.2.1-r1 apk From 96984e385499c5741386b08cfe86e75a60a5383a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 29 Jul 2023 13:26:27 +0000 Subject: [PATCH 57/61] Bot Updating Package Versions --- package_versions.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 437bcaac..a8681803 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -7,19 +7,19 @@ apk-tools 2.14.0-r2 apk bash 5.2.15-r5 apk brotli-libs 1.0.9-r14 apk busybox 1.36.1 binary -busybox 1.36.1-r1 apk -busybox-binsh 1.36.1-r1 apk +busybox 1.36.1-r2 apk +busybox-binsh 1.36.1-r2 apk ca-certificates 20230506-r0 apk ca-certificates-bundle 20230506-r0 apk coreutils 9.3-r1 apk -curl 8.2.0-r1 apk +curl 8.2.1-r0 apk jq 1.6-r3 apk libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk libcrypto3 3.1.1-r3 apk -libcurl 8.2.0-r1 apk +libcurl 8.2.1-r0 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk @@ -28,8 +28,8 @@ libproc2 4.0.3-r1 apk libssl3 3.1.1-r3 apk libunistring 1.1-r1 apk linux-pam 1.5.2-r10 apk -musl 1.2.4-r0 apk -musl-utils 1.2.4-r0 apk +musl 1.2.4-r1 apk +musl-utils 1.2.4-r1 apk ncurses-terminfo-base 6.4_p20230506-r0 apk netcat-openbsd 1.219-r1 apk nghttp2-libs 1.55.1-r0 apk @@ -39,7 +39,7 @@ readline 8.2.1-r1 apk scanelf 1.3.7-r1 apk shadow 4.13-r4 apk skalibs 2.13.1.1-r1 apk -ssl_client 1.36.1-r1 apk +ssl_client 1.36.1-r2 apk tzdata 2023c-r1 apk utmps-libs 0.1.2.1-r1 apk zlib 1.2.13-r1 apk From 816d25fbf7f40e1b7633f87ff8497eda6ef0aaf2 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 5 Aug 2023 13:27:30 +0000 Subject: [PATCH 58/61] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index a8681803..37c2cbb8 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -18,14 +18,14 @@ libacl 2.3.1-r3 apk libattr 2.5.1-r4 apk libbsd 0.11.7-r1 apk libc-utils 0.7.2-r5 apk -libcrypto3 3.1.1-r3 apk +libcrypto3 3.1.2-r0 apk libcurl 8.2.1-r0 apk libidn2 2.3.4-r1 apk libintl 0.21.1-r7 apk libmd 1.0.4-r2 apk libncursesw 6.4_p20230506-r0 apk libproc2 4.0.3-r1 apk -libssl3 3.1.1-r3 apk +libssl3 3.1.2-r0 apk libunistring 1.1-r1 apk linux-pam 1.5.2-r10 apk musl 1.2.4-r1 apk From 5e374ee43a648bf299d7ded81237584c3cefc0ed Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Sat, 12 Aug 2023 13:25:42 +0000 Subject: [PATCH 59/61] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 37c2cbb8..7dd738a6 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -2,7 +2,7 @@ NAME VERSION TYPE alpine-baselayout 3.4.3-r1 apk alpine-baselayout-data 3.4.3-r1 apk alpine-keys 2.4-r1 apk -alpine-release 3.18.2-r0 apk +alpine-release 3.18.3-r0 apk apk-tools 2.14.0-r2 apk bash 5.2.15-r5 apk brotli-libs 1.0.9-r14 apk From ed066bdae3cf8b3937a9ba1d7039307f4f7abbce Mon Sep 17 00:00:00 2001 From: Eric Nemchik <eric@nemchik.com> Date: Fri, 18 Aug 2023 23:06:17 -0500 Subject: [PATCH 60/61] cron in base Signed-off-by: Eric Nemchik <eric@nemchik.com> --- .../dependencies.d/init-os-end | 0 .../s6-rc.d/init-crontab-config/run | 26 +++++++++++++++++++ .../s6-rc.d/init-crontab-config/type | 1 + .../s6-overlay/s6-rc.d/init-crontab-config/up | 1 + .../svc-cron/dependencies.d/init-services | 0 root/etc/s6-overlay/s6-rc.d/svc-cron/run | 15 +++++++++++ root/etc/s6-overlay/s6-rc.d/svc-cron/type | 1 + .../s6-rc.d/user/contents.d/svc-cron | 0 8 files changed, 44 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-crontab-config/dependencies.d/init-os-end create mode 100755 root/etc/s6-overlay/s6-rc.d/init-crontab-config/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-crontab-config/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-crontab-config/up create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-cron/dependencies.d/init-services create mode 100755 root/etc/s6-overlay/s6-rc.d/svc-cron/run create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-cron/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-cron diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontab-config/dependencies.d/init-os-end b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/dependencies.d/init-os-end new file mode 100644 index 00000000..e69de29b diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontab-config/run b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/run new file mode 100755 index 00000000..6eee9a69 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/run @@ -0,0 +1,26 @@ +#!/usr/bin/with-contenv bash +# shellcheck shell=bash + +for cron_user in abc root; do + if [[ -f "/defaults/crontabs/${cron_user}" ]]; then + # make folders + mkdir -p \ + /config/crontabs + + # if crontabs do not exist in config + if [[ ! -f "/config/crontabs/${cron_user}" ]]; then + # copy crontab from system + if crontab -l -u "${cron_user}" >/dev/null; then + crontab -l -u "${cron_user}" >"/config/crontabs/${cron_user}" + fi + + # if crontabs still do not exist in config (were not copied from system) + # copy crontab from image defaults (using -n, do not overwrite an existing file) + cp -n "/defaults/crontabs/${cron_user}" /config/crontabs/ + fi + + # set permissions and import user crontabs + lsiown "${cron_user}":"${cron_user}" "/config/crontabs/${cron_user}" + crontab -u "${cron_user}" "/config/crontabs/${cron_user}" + fi +done diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontab-config/type b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/type new file mode 100644 index 00000000..bdd22a18 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontab-config/up b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/up new file mode 100644 index 00000000..d3541118 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-crontab-config/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-cron/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-cron/dependencies.d/init-services new file mode 100644 index 00000000..e69de29b diff --git a/root/etc/s6-overlay/s6-rc.d/svc-cron/run b/root/etc/s6-overlay/s6-rc.d/svc-cron/run new file mode 100755 index 00000000..e8d71bfb --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-cron/run @@ -0,0 +1,15 @@ +#!/usr/bin/with-contenv bash +# shellcheck shell=bash + +if builtin command -v crontab >/dev/null && [[ -n "$(crontab -l -u abc)" || -n "$(crontab -l -u root)" ]]; then + if builtin command -v busybox >/dev/null && [[ $(busybox) =~ [[:space:]](crond)([,]|$) ]]; then + exec busybox crond -f -S -l 5 + elif [[ -f /usr/bin/apt ]] && [[ -f /usr/sbin/cron ]]; then + exec /usr/sbin/cron -f -L 5 + else + echo "**** cron not found ****" + sleep infinity + fi +else + sleep infinity +fi diff --git a/root/etc/s6-overlay/s6-rc.d/svc-cron/type b/root/etc/s6-overlay/s6-rc.d/svc-cron/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-cron/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-cron b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-cron new file mode 100644 index 00000000..e69de29b From 45ee5a9dc541c7a96c660a167ba66080b1200152 Mon Sep 17 00:00:00 2001 From: Eric Nemchik <eric@nemchik.com> Date: Sat, 26 Aug 2023 14:45:52 -0500 Subject: [PATCH 61/61] Add missing type file Signed-off-by: Eric Nemchik <eric@nemchik.com> --- root/etc/s6-overlay/s6-rc.d/init-crontab-config/type | 1 + 1 file changed, 1 insertion(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-crontab-config/type diff --git a/root/etc/s6-overlay/s6-rc.d/init-crontab-config/type b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/type new file mode 100644 index 00000000..bdd22a18 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-crontab-config/type @@ -0,0 +1 @@ +oneshot