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

Commit bd9ffd2

Browse files
Bot Updating Templated Files
1 parent 7b2c2b1 commit bd9ffd2

File tree

2 files changed

+58
-51
lines changed

2 files changed

+58
-51
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 38 deletions
This file was deleted.

Jenkinsfile

Lines changed: 58 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -223,22 +223,67 @@ pipeline {
223223
TEMPDIR=$(mktemp -d)
224224
docker pull ghcr.io/linuxserver/jenkins-builder:latest
225225
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
226+
# Stage 1 - Jenkinsfile update
227+
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
228+
mkdir -p ${TEMPDIR}/repo
229+
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
230+
cd ${TEMPDIR}/repo/${LS_REPO}
231+
git checkout -f master
232+
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
233+
git add Jenkinsfile
234+
git commit -m 'Bot Updating Templated Files'
235+
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
236+
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
237+
echo "Updating Jenkinsfile"
238+
rm -Rf ${TEMPDIR}
239+
exit 0
240+
else
241+
echo "Jenkinsfile is up to date."
242+
fi
243+
# Stage 2 - Delete old templates
244+
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
245+
for i in ${OLD_TEMPLATES}; do
246+
if [[ -f "${i}" ]]; then
247+
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
248+
fi
249+
done
250+
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
251+
mkdir -p ${TEMPDIR}/repo
252+
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
253+
cd ${TEMPDIR}/repo/${LS_REPO}
254+
git checkout -f master
255+
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
256+
for i in ${TEMPLATES_TO_DELETE}; do
257+
git rm "${i}"
258+
done
259+
git commit -m 'Bot Updating Templated Files'
260+
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
261+
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
262+
echo "Deleting old templates"
263+
rm -Rf ${TEMPDIR}
264+
exit 0
265+
else
266+
echo "No templates to delete"
267+
fi
268+
# Stage 3 - Update templates
226269
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
227270
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
228271
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
229-
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
272+
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
230273
mkdir -p ${TEMPDIR}/repo
231274
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
232275
cd ${TEMPDIR}/repo/${LS_REPO}
233276
git checkout -f master
234277
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
235278
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
236279
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
237-
rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
238280
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
239281
cd ${TEMPDIR}/repo/${LS_REPO}/
282+
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
283+
echo ".jenkins-external" >> .gitignore
284+
git add .gitignore
285+
fi
240286
git add ${TEMPLATED_FILES}
241-
git rm .github/ISSUE_TEMPLATE.md || :
242287
git commit -m 'Bot Updating Templated Files'
243288
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
244289
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -247,8 +292,8 @@ pipeline {
247292
fi
248293
mkdir -p ${TEMPDIR}/gitbook
249294
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
250-
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
251-
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
295+
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
296+
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
252297
cd ${TEMPDIR}/gitbook/docker-documentation/
253298
git add images/docker-${CONTAINER_NAME}.md
254299
git commit -m 'Bot Updating Documentation'
@@ -487,7 +532,7 @@ pipeline {
487532
}
488533
sh '''#! /bin/bash
489534
set -e
490-
docker pull ghcr.io/linuxserver/lsiodev-ci:latest
535+
docker pull ghcr.io/linuxserver/ci:latest
491536
if [ "${MULTIARCH}" == "true" ]; then
492537
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
493538
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
@@ -512,7 +557,7 @@ pipeline {
512557
-e WEB_PATH=\"${CI_WEBPATH}\" \
513558
-e DO_REGION="ams3" \
514559
-e DO_BUCKET="lsio-ci" \
515-
-t ghcr.io/linuxserver/lsiodev-ci:latest \
560+
-t ghcr.io/linuxserver/ci:latest \
516561
python /ci/ci.py'''
517562
}
518563
}
@@ -657,19 +702,19 @@ pipeline {
657702
environment name: 'EXIT_STATUS', value: ''
658703
}
659704
steps {
660-
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
705+
echo "Pushing New tag for current commit ${META_TAG}"
661706
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
662-
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
707+
-d '{"tag":"'${META_TAG}'",\
663708
"object": "'${COMMIT_SHA}'",\
664709
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
665710
"type": "commit",\
666711
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
667712
echo "Pushing New release for Tag"
668713
sh '''#! /bin/bash
669714
echo "Updating base packages to ${PACKAGE_TAG}" > releasebody.json
670-
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
715+
echo '{"tag_name":"'${META_TAG}'",\
671716
"target_commitish": "master",\
672-
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
717+
"name": "'${META_TAG}'",\
673718
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**OS Changes:**\\n\\n' > start
674719
printf '","draft": false,"prerelease": false}' >> releasebody.json
675720
paste -d'\\0' start releasebody.json > releasebody.json.done
@@ -696,15 +741,15 @@ pipeline {
696741
TEMPDIR=$(mktemp -d)
697742
docker pull ghcr.io/linuxserver/jenkins-builder:latest
698743
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
699-
docker pull ghcr.io/linuxserver/lsiodev-readme-sync
744+
docker pull ghcr.io/linuxserver/readme-sync
700745
docker run --rm=true \
701746
-e DOCKERHUB_USERNAME=$DOCKERUSER \
702747
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
703748
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
704749
-e DOCKER_REPOSITORY=${IMAGE} \
705750
-e GIT_BRANCH=master \
706751
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
707-
ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
752+
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
708753
rm -Rf ${TEMPDIR} '''
709754
}
710755
}

0 commit comments

Comments
 (0)