Compare commits

...

7 Commits

Author SHA1 Message Date
LinuxServer-CI
48262b8882 Bot Updating Package Versions 2024-03-02 20:16:44 +00:00
LinuxServer-CI
d2a5ef414a Bot Updating Package Versions 2024-02-28 23:41:09 +00:00
LinuxServer-CI
4931dd3b82 Bot Updating Templated Files 2024-02-24 20:16:35 +00:00
LinuxServer-CI
2d7ee3529b Bot Updating Templated Files 2024-02-24 20:14:53 +00:00
LinuxServer-CI
33e0d230c9 Bot Updating Package Versions 2024-02-09 22:41:54 +00:00
LinuxServer-CI
7d835391a9 Bot Updating Package Versions 2024-02-05 18:41:52 +00:00
LinuxServer-CI
3ce9c4e675 Bot Updating Package Versions 2024-02-03 20:19:18 +00:00
7 changed files with 684 additions and 694 deletions

View File

@@ -67,10 +67,10 @@ body:
- type: textarea - type: textarea
attributes: attributes:
description: | description: |
Provide a full docker log, output of "docker logs linuxserver.io" Provide a full docker log, output of "docker logs code-server"
label: Container logs label: Container logs
placeholder: | placeholder: |
Output of `docker logs linuxserver.io` Output of `docker logs code-server`
render: bash render: bash
validations: validations:
required: true required: true

View File

@@ -7,7 +7,7 @@ jobs:
external-trigger-master: external-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
- name: External Trigger - name: External Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
external-trigger-scheduler: external-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: '0' fetch-depth: '0'

View File

@@ -7,7 +7,7 @@ jobs:
package-trigger-master: package-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
- name: Package Trigger - name: Package Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
package-trigger-scheduler: package-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: '0' fetch-depth: '0'

297
Jenkinsfile vendored
View File

@@ -245,9 +245,11 @@ pipeline {
-v ${WORKSPACE}:/mnt \ -v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ -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 "\ ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache py3-pip && \ apk add --no-cache python3 && \
pip install s3cmd && \ python3 -m venv /lsiopy && \
pip install --no-cache-dir -U pip && \
pip install --no-cache-dir 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" || :''' s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
} }
} }
@@ -262,150 +264,149 @@ pipeline {
} }
} }
steps { steps {
withCredentials([ sh '''#! /bin/bash
[ set -e
$class: 'UsernamePasswordMultiBinding', TEMPDIR=$(mktemp -d)
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', docker pull ghcr.io/linuxserver/jenkins-builder:latest
usernameVariable: 'DOCKERUSER', docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
passwordVariable: 'DOCKERPASS' # Stage 1 - Jenkinsfile update
] if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
]) { mkdir -p ${TEMPDIR}/repo
sh '''#! /bin/bash git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
set -e cd ${TEMPDIR}/repo/${LS_REPO}
TEMPDIR=$(mktemp -d) git checkout -f master
docker pull ghcr.io/linuxserver/jenkins-builder:latest cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest git add Jenkinsfile
# Stage 1 - Jenkinsfile update git commit -m 'Bot Updating Templated Files'
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
mkdir -p ${TEMPDIR}/repo git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
cd ${TEMPDIR}/repo/${LS_REPO} echo "Updating Jenkinsfile"
git checkout -f master rm -Rf ${TEMPDIR}
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ exit 0
git add Jenkinsfile else
git commit -m 'Bot Updating Templated Files' echo "Jenkinsfile is up to date."
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master # Stage 2 - Delete old templates
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} 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"
echo "Updating Jenkinsfile" for i in ${OLD_TEMPLATES}; do
rm -Rf ${TEMPDIR} if [[ -f "${i}" ]]; then
exit 0 TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
else
echo "Jenkinsfile is up to date."
fi fi
# Stage 2 - Delete old templates done
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" if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
for i in ${OLD_TEMPLATES}; do mkdir -p ${TEMPDIR}/repo
if [[ -f "${i}" ]]; then git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" cd ${TEMPDIR}/repo/${LS_REPO}
fi git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then git commit -m 'Bot Updating Templated Files'
mkdir -p ${TEMPDIR}/repo git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
cd ${TEMPDIR}/repo/${LS_REPO} echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
git checkout -f master echo "Deleting old and deprecated templates"
for i in ${TEMPLATES_TO_DELETE}; do rm -Rf ${TEMPDIR}
git rm "${i}" exit 0
done else
git commit -m 'Bot Updating Templated Files' echo "No templates to delete"
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master # Stage 3 - Update templates
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
echo "Deleting old and deprecated templates" cd ${TEMPDIR}/docker-${CONTAINER_NAME}
rm -Rf ${TEMPDIR} NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
exit 0 if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
else mkdir -p ${TEMPDIR}/repo
echo "No templates to delete" git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
fi cd ${TEMPDIR}/repo/${LS_REPO}
# Stage 3 - Update templates git checkout -f master
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
mkdir -p ${TEMPDIR}/repo cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}/
git checkout -f master if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
cd ${TEMPDIR}/docker-${CONTAINER_NAME} echo ".jenkins-external" >> .gitignore
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows git add .gitignore
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE fi
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : git add readme-vars.yml ${TEMPLATED_FILES}
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : git commit -m 'Bot Updating Templated Files'
cd ${TEMPDIR}/repo/${LS_REPO}/ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo ".jenkins-external" >> .gitignore echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
git add .gitignore else
fi echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
git add readme-vars.yml ${TEMPLATED_FILES} fi
git commit -m 'Bot Updating Templated Files' mkdir -p ${TEMPDIR}/docs
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \
sleep $((RANDOM % MAXWAIT)) && \
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase && \
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH})
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi fi
mkdir -p ${TEMPDIR}/docs git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then (MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ sleep $((RANDOM % MAXWAIT)) && \
cd ${TEMPDIR}/docs/docker-documentation git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH})
git add docs/images/docker-${CONTAINER_NAME}.md fi
git commit -m 'Bot Updating Documentation' # Stage 4 - Sync Readme to Docker Hub
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
fi echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
mkdir -p ${TEMPDIR}/unraid DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
fi
# Stage 4 - Sync Readme to Docker Hub
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else else
echo "Not the default Github branch. Skipping readme sync to Docker Hub." echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi fi
rm -Rf ${TEMPDIR}''' DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
script{ curl -s \
env.FILES_UPDATED = sh( -H "Authorization: JWT ${DH_TOKEN}" \
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', -H "Content-Type: application/json" \
returnStdout: true).trim() -X PATCH \
} -d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
} }
} }
} }
@@ -703,12 +704,6 @@ pipeline {
} }
steps { steps {
withCredentials([ withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[ [
$class: 'UsernamePasswordMultiBinding', $class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot', credentialsId: 'Quay.io-Robot',
@@ -719,7 +714,7 @@ pipeline {
retry(5) { retry(5) {
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
@@ -750,12 +745,6 @@ pipeline {
} }
steps { steps {
withCredentials([ withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[ [
$class: 'UsernamePasswordMultiBinding', $class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot', credentialsId: 'Quay.io-Robot',
@@ -766,7 +755,7 @@ pipeline {
retry(5) { retry(5) {
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin

View File

@@ -15,23 +15,23 @@ NAME VERSION
@vscode/iconv-lite-umd 0.7.0 npm @vscode/iconv-lite-umd 0.7.0 npm
@vscode/proxy-agent 0.18.2 npm @vscode/proxy-agent 0.18.2 npm
@vscode/ripgrep 1.15.9 npm @vscode/ripgrep 1.15.9 npm
@vscode/spdlog 0.13.12 npm @vscode/spdlog 0.14.0 npm
@vscode/vscode-languagedetection 1.0.21 npm @vscode/vscode-languagedetection 1.0.21 npm
@vscode/windows-process-tree 0.5.0 npm @vscode/windows-process-tree 0.5.0 npm
@vscode/windows-registry 1.1.0 npm @vscode/windows-registry 1.1.0 npm
@xterm/addon-canvas 0.6.0-beta.14 npm @xterm/addon-canvas 0.6.0-beta.20 npm
@xterm/addon-image 0.7.0-beta.12 npm @xterm/addon-image 0.7.0-beta.18 npm
@xterm/addon-search 0.14.0-beta.14 npm @xterm/addon-search 0.14.0-beta.20 npm
@xterm/addon-serialize 0.12.0-beta.14 npm @xterm/addon-serialize 0.12.0-beta.20 npm
@xterm/addon-unicode11 0.7.0-beta.14 npm @xterm/addon-unicode11 0.7.0-beta.20 npm
@xterm/addon-webgl 0.17.0-beta.14 npm @xterm/addon-webgl 0.17.0-beta.20 npm
@xterm/headless 5.4.0-beta.14 npm @xterm/headless 5.4.0-beta.20 npm
@xterm/xterm 5.4.0-beta.14 npm @xterm/xterm 5.4.0-beta.20 npm
abbrev 1.1.1 npm abbrev 1.1.1 npm
accepts 1.3.8 npm accepts 1.3.8 npm
adduser 3.118ubuntu5 deb adduser 3.118ubuntu5 deb
agent-base 6.0.2 npm agent-base 6.0.2 npm
agent-base 7.1.0 npm agent-base 7.1.0 npm (+1 duplicate)
ansi-regex 5.0.1 npm ansi-regex 5.0.1 npm
aproba 2.0.0 npm aproba 2.0.0 npm
apt 2.4.11 deb apt 2.4.11 deb
@@ -69,7 +69,7 @@ charenc 0.0.2
chownr 1.1.4 npm chownr 1.1.4 npm
chownr 2.0.0 npm chownr 2.0.0 npm
clojure 1.0.0 npm clojure 1.0.0 npm
code-server 4.20.1 npm code-server 4.21.2 npm
coffeescript 1.0.0 npm coffeescript 1.0.0 npm
color-support 1.1.3 npm color-support 1.1.3 npm
compressible 2.0.18 npm compressible 2.0.18 npm
@@ -79,7 +79,7 @@ configuration-editing 1.0.0
console-control-strings 1.1.0 npm console-control-strings 1.1.0 npm
content-disposition 0.5.3 npm content-disposition 0.5.3 npm
content-type 1.0.5 npm content-type 1.0.5 npm
cookie 0.4.0 npm cookie 0.4.0 npm (+1 duplicate)
cookie 0.4.1 npm cookie 0.4.1 npm
cookie-parser 1.4.6 npm cookie-parser 1.4.6 npm
cookie-signature 1.0.6 npm cookie-signature 1.0.6 npm
@@ -96,9 +96,9 @@ dash 0.5.11+git20210903+057cd650a4ed-3build1
data-uri-to-buffer 5.0.1 npm data-uri-to-buffer 5.0.1 npm
debconf 1.5.79ubuntu1 deb debconf 1.5.79ubuntu1 deb
debianutils 5.5-1ubuntu2 deb debianutils 5.5-1ubuntu2 deb
debug 2.6.9 npm debug 2.6.9 npm (+3 duplicates)
debug 3.1.0 npm debug 3.1.0 npm (+1 duplicate)
debug 4.3.4 npm debug 4.3.4 npm (+1 duplicate)
debug-auto-launch 1.0.0 npm debug-auto-launch 1.0.0 npm
debug-server-ready 1.0.0 npm debug-server-ready 1.0.0 npm
decompress-response 6.0.0 npm decompress-response 6.0.0 npm
@@ -167,7 +167,7 @@ gpg-wks-server 2.2.27-3ubuntu2.1
gpgconf 2.2.27-3ubuntu2.1 deb gpgconf 2.2.27-3ubuntu2.1 deb
gpgsm 2.2.27-3ubuntu2.1 deb gpgsm 2.2.27-3ubuntu2.1 deb
gpgv 2.2.27-3ubuntu2.1 deb gpgv 2.2.27-3ubuntu2.1 deb
graceful-fs 4.2.11 npm graceful-fs 4.2.11 npm (+1 duplicate)
grep 3.7-1build1 deb grep 3.7-1build1 deb
groovy 1.0.0 npm groovy 1.0.0 npm
grunt 1.0.0 npm grunt 1.0.0 npm
@@ -182,21 +182,22 @@ html-language-features 1.0.0
http-errors 1.7.2 npm http-errors 1.7.2 npm
http-errors 1.7.3 npm http-errors 1.7.3 npm
http-proxy 1.18.1 npm http-proxy 1.18.1 npm
http-proxy-agent 7.0.0 npm http-proxy-agent 7.0.0 npm (+1 duplicate)
httpolyglot 0.1.2 npm httpolyglot 0.1.2 npm
https-proxy-agent 5.0.1 npm https-proxy-agent 5.0.1 npm
https-proxy-agent 7.0.2 npm https-proxy-agent 7.0.2 npm (+1 duplicate)
i18next 23.7.6 npm i18next 23.8.2 npm
iconv-lite 0.4.24 npm iconv-lite 0.4.24 npm
ieee754 1.2.1 npm ieee754 1.2.1 npm
inflight 1.0.6 npm inflight 1.0.6 npm
inherits 2.0.3 npm inherits 2.0.3 npm
inherits 2.0.4 npm inherits 2.0.4 npm (+1 duplicate)
ini 1.0.0 npm ini 1.0.0 npm
ini 1.3.8 npm ini 1.3.8 npm
init-system-helpers 1.62 deb init-system-helpers 1.62 deb
ip 1.1.8 npm ip 1.1.9 npm
ip 2.0.0 npm ip 2.0.0 npm
ip 2.0.1 npm
ipaddr.js 1.9.1 npm ipaddr.js 1.9.1 npm
ipynb 1.0.0 npm ipynb 1.0.0 npm
is-buffer 1.1.6 npm is-buffer 1.1.6 npm
@@ -209,7 +210,7 @@ jake 1.0.0
java 1.0.0 npm java 1.0.0 npm
javascript 1.0.0 npm javascript 1.0.0 npm
jq 1.6-2.1ubuntu3 deb jq 1.6-2.1ubuntu3 deb
js-debug 1.85.0 npm js-debug 1.86.1 npm
js-debug-companion 1.1.2 npm js-debug-companion 1.1.2 npm
js-yaml 4.1.0 npm js-yaml 4.1.0 npm
jschardet 3.0.0 npm jschardet 3.0.0 npm
@@ -221,7 +222,7 @@ just-performance 4.3.0
kerberos 2.0.1 npm kerberos 2.0.1 npm
latex 1.0.0 npm latex 1.0.0 npm
less 1.0.0 npm less 1.0.0 npm
less 590-1ubuntu0.22.04.1 deb less 590-1ubuntu0.22.04.2 deb
libacl1 2.3.1-1 deb libacl1 2.3.1-1 deb
libapt-pkg6.0 2.4.11 deb libapt-pkg6.0 2.4.11 deb
libassuan0 2.5.5-1build1 deb libassuan0 2.5.5-1build1 deb
@@ -266,8 +267,8 @@ libkeyutils1 1.6.1-2ubuntu3
libkrb5-3 1.19.2-2ubuntu0.2 deb libkrb5-3 1.19.2-2ubuntu0.2 deb
libkrb5support0 1.19.2-2ubuntu0.2 deb libkrb5support0 1.19.2-2ubuntu0.2 deb
libksba8 1.6.0-2ubuntu0.2 deb libksba8 1.6.0-2ubuntu0.2 deb
libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.1 deb libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb
libldap-common 2.5.16+dfsg-0ubuntu0.22.04.1 deb libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb
liblz4-1 1.9.3-2build2 deb liblz4-1 1.9.3-2build2 deb
liblzma5 5.2.5-2ubuntu1 deb liblzma5 5.2.5-2ubuntu1 deb
libmd0 1.0.4-1build1 deb libmd0 1.0.4-1build1 deb
@@ -327,7 +328,7 @@ locales 2.35-0ubuntu3.6
log 1.0.0 npm log 1.0.0 npm
login 1:4.8.1-2ubuntu2.1 deb login 1:4.8.1-2ubuntu2.1 deb
logsave 1.46.5-2ubuntu1.1 deb logsave 1.46.5-2ubuntu1.1 deb
lru-cache 6.0.0 npm lru-cache 6.0.0 npm (+1 duplicate)
lru-cache 7.18.3 npm lru-cache 7.18.3 npm
lsb-base 11.1.0ubuntu4 deb lsb-base 11.1.0ubuntu4 deb
lua 1.0.0 npm lua 1.0.0 npm
@@ -354,12 +355,12 @@ minimist 1.2.6
minipass 3.3.6 npm minipass 3.3.6 npm
minipass 5.0.0 npm minipass 5.0.0 npm
minizlib 2.1.2 npm minizlib 2.1.2 npm
mkdirp 1.0.4 npm mkdirp 1.0.4 npm (+1 duplicate)
mkdirp-classic 0.5.3 npm mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb mount 2.37.2-4ubuntu3 deb
ms 2.0.0 npm ms 2.0.0 npm (+1 duplicate)
ms 2.1.1 npm ms 2.1.1 npm
ms 2.1.2 npm ms 2.1.2 npm (+1 duplicate)
nan 2.17.0 npm nan 2.17.0 npm
nano 6.2-1 deb nano 6.2-1 deb
napi-build-utils 1.0.2 npm napi-build-utils 1.0.2 npm
@@ -372,7 +373,7 @@ netbase 6.3
netcat 1.218-4ubuntu1 deb netcat 1.218-4ubuntu1 deb
netcat-openbsd 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb
netmask 2.0.2 npm netmask 2.0.2 npm
node 18.15.0 binary node 18.17.1 binary
node-abi 3.8.0 npm node-abi 3.8.0 npm
node-addon-api 3.2.1 npm node-addon-api 3.2.1 npm
node-addon-api 4.3.0 npm node-addon-api 4.3.0 npm
@@ -388,9 +389,9 @@ object-assign 4.1.1
objective-c 1.0.0 npm objective-c 1.0.0 npm
on-finished 2.3.0 npm on-finished 2.3.0 npm
on-headers 1.0.2 npm on-headers 1.0.2 npm
once 1.4.0 npm once 1.4.0 npm (+1 duplicate)
openssh-client 1:8.9p1-3ubuntu0.6 deb openssh-client 1:8.9p1-3ubuntu0.6 deb
openssl 3.0.2-0ubuntu1.12 deb openssl 3.0.2-0ubuntu1.15 deb
os-tmpdir 1.0.2 npm os-tmpdir 1.0.2 npm
pac-proxy-agent 7.0.1 npm pac-proxy-agent 7.0.1 npm
pac-resolver 7.0.0 npm pac-resolver 7.0.0 npm
@@ -414,7 +415,7 @@ prebuild-install 7.1.1
procps 2:3.3.17-6ubuntu2 deb procps 2:3.3.17-6ubuntu2 deb
proxy-addr 2.0.7 npm proxy-addr 2.0.7 npm
proxy-agent 6.3.1 npm proxy-agent 6.3.1 npm
proxy-from-env 1.1.0 npm proxy-from-env 1.1.0 npm (+1 duplicate)
publicsuffix 20211207.1025-1 deb publicsuffix 20211207.1025-1 deb
pug 1.0.0 npm pug 1.0.0 npm
pump 3.0.0 npm pump 3.0.0 npm
@@ -437,15 +438,15 @@ rotating-file-stream 3.1.1
router 2.0.0-alpha.1 npm router 2.0.0-alpha.1 npm
ruby 1.0.0 npm ruby 1.0.0 npm
rust 1.0.0 npm rust 1.0.0 npm
safe-buffer 5.1.2 npm safe-buffer 5.1.2 npm (+2 duplicates)
safe-buffer 5.2.1 npm safe-buffer 5.2.1 npm (+1 duplicate)
safe-compare 1.1.4 npm safe-compare 1.1.4 npm
safer-buffer 2.1.2 npm safer-buffer 2.1.2 npm
scss 1.0.0 npm scss 1.0.0 npm
search-result 1.0.0 npm search-result 1.0.0 npm
sed 4.8-1ubuntu2 deb sed 4.8-1ubuntu2 deb
semver 6.3.1 npm semver 6.3.1 npm
semver 7.5.4 npm semver 7.5.4 npm (+1 duplicate)
send 0.17.1 npm send 0.17.1 npm
sensible-utils 0.0.17 deb sensible-utils 0.0.17 deb
serve-static 1.14.1 npm serve-static 1.14.1 npm
@@ -458,15 +459,15 @@ signal-exit 3.0.7
simple-browser 1.0.0 npm simple-browser 1.0.0 npm
simple-concat 1.0.1 npm simple-concat 1.0.1 npm
simple-get 4.0.1 npm simple-get 4.0.1 npm
smart-buffer 4.2.0 npm smart-buffer 4.2.0 npm (+1 duplicate)
socks 2.7.1 npm socks 2.7.1 npm (+1 duplicate)
socks-proxy-agent 8.0.1 npm socks-proxy-agent 8.0.1 npm
socks-proxy-agent 8.0.2 npm socks-proxy-agent 8.0.2 npm
source-map 0.6.1 npm source-map 0.6.1 npm
sql 1.0.0 npm sql 1.0.0 npm
statuses 1.5.0 npm statuses 1.5.0 npm
string-width 4.2.3 npm string-width 4.2.3 npm
string_decoder 1.3.0 npm string_decoder 1.3.0 npm (+1 duplicate)
strip-ansi 6.0.1 npm strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm strip-json-comments 2.0.1 npm
sudo 1.9.9-1ubuntu2.4 deb sudo 1.9.9-1ubuntu2.4 deb
@@ -502,7 +503,7 @@ ubuntu-keyring 2021.03.26
universalify 0.1.2 npm universalify 0.1.2 npm
unpipe 1.0.0 npm unpipe 1.0.0 npm
usrmerge 25ubuntu2 deb usrmerge 25ubuntu2 deb
util-deprecate 1.0.2 npm util-deprecate 1.0.2 npm (+1 duplicate)
util-linux 2.37.2-4ubuntu3 deb util-linux 2.37.2-4ubuntu3 deb
utils-merge 1.0.1 npm utils-merge 1.0.1 npm
vary 1.1.2 npm vary 1.1.2 npm
@@ -512,22 +513,22 @@ vscode-extensions 0.0.1
vscode-html-languageserver 1.0.0 npm vscode-html-languageserver 1.0.0 npm
vscode-js-profile-table 1.0.8 npm vscode-js-profile-table 1.0.8 npm
vscode-json-languageserver 1.3.4 npm vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.4.0-alpha.8 npm vscode-markdown-languageserver 0.4.0 npm
vscode-oniguruma 1.7.0 npm vscode-oniguruma 1.7.0 npm
vscode-regexpp 3.1.0 npm vscode-regexpp 3.1.0 npm
vscode-reh 1.85.2 npm vscode-reh 1.86.2 npm
vscode-textmate 9.0.0 npm vscode-textmate 9.0.0 npm
vscode-theme-seti 1.0.0 npm vscode-theme-seti 1.0.0 npm
webidl-conversions 3.0.1 npm webidl-conversions 3.0.1 npm
whatwg-url 5.0.0 npm whatwg-url 5.0.0 npm
which 2.0.2 npm which 2.0.2 npm
wide-align 1.1.5 npm wide-align 1.1.5 npm
wrappy 1.0.2 npm wrappy 1.0.2 npm (+1 duplicate)
ws 8.14.2 npm ws 8.14.2 npm
xauth 1:1.1-1build2 deb xauth 1:1.1-1build2 deb
xdg-basedir 4.0.0 npm xdg-basedir 4.0.0 npm
xml 1.0.0 npm xml 1.0.0 npm
yallist 4.0.0 npm yallist 4.0.0 npm (+1 duplicate)
yaml 1.0.0 npm yaml 1.0.0 npm
yauzl 2.10.0 npm yauzl 2.10.0 npm
yazl 2.4.3 npm yazl 2.4.3 npm