Skip to content

Commit 0048fde

Browse files
committed
updating build logic to exit on Readme updates
1 parent eb7dbd3 commit 0048fde

File tree

2 files changed

+53
-119
lines changed

2 files changed

+53
-119
lines changed

Jenkinsfile

Lines changed: 53 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pipeline {
1010
BUILD_VERSION_ARG = 'LDAP_VERSION'
1111
LS_USER = 'linuxserver'
1212
LS_REPO = 'docker-ldap-auth'
13+
CONTAINER_NAME = 'ldap-auth'
1314
DOCKERHUB_IMAGE = 'linuxserver/ldap-auth'
1415
DEV_DOCKERHUB_IMAGE = 'lsiodev/ldap-auth'
1516
PR_DOCKERHUB_IMAGE = 'lspipepr/ldap-auth'
@@ -162,6 +163,58 @@ pipeline {
162163
}
163164
}
164165
}
166+
// Use helper container to render a readme from the template if needed
167+
stage('Update-README') {
168+
when {
169+
branch "master"
170+
environment name: 'CHANGE_ID', value: ''
171+
expression {
172+
env.CONTAINER_NAME != null
173+
}
174+
}
175+
steps {
176+
sh '''#! /bin/bash
177+
TEMPDIR=$(mktemp -d)
178+
docker pull linuxserver/doc-builder:latest
179+
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
180+
if [ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ]; then
181+
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
182+
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/${LS_REPO}/
183+
cd ${TEMPDIR}/${LS_REPO}/
184+
git --git-dir ${TEMPDIR}/${LS_REPO}/.git add README.md
185+
git --git-dir ${TEMPDIR}/${LS_REPO}/.git commit -m 'Bot Updating README from template'
186+
git --git-dir ${TEMPDIR}/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
187+
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
188+
else
189+
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
190+
fi
191+
rm -Rf ${TEMPDIR}'''
192+
script{
193+
env.README_UPDATED = sh(
194+
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
195+
returnStdout: true).trim()
196+
}
197+
}
198+
}
199+
// Exit the build if the Readme was just updated
200+
stage('README-exit') {
201+
when {
202+
branch "master"
203+
environment name: 'CHANGE_ID', value: ''
204+
environment name: 'README_UPDATED', value: 'true'
205+
expression {
206+
env.CONTAINER_NAME != null
207+
}
208+
}
209+
steps {
210+
script{
211+
env.CI_URL = 'README_UPDATE'
212+
env.RELEASE_LINK = 'README_UPDATE'
213+
currentBuild.rawBuild.result = Result.ABORTED
214+
throw new hudson.AbortException('ABORTED_README')
215+
}
216+
}
217+
}
165218
/* ###############
166219
Build Container
167220
############### */
@@ -389,31 +442,6 @@ pipeline {
389442
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
390443
}
391444
}
392-
// Use helper container to render a readme from remote and commit if different
393-
stage('Update-README') {
394-
when {
395-
branch "master"
396-
environment name: 'CHANGE_ID', value: ''
397-
expression {
398-
env.CONTAINER_NAME != null
399-
}
400-
}
401-
steps {
402-
sh '''#! /bin/bash
403-
TEMPDIR=$(mktemp -d)
404-
docker pull linuxserver/doc-builder:latest
405-
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
406-
if [ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ]; then
407-
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
408-
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/${LS_REPO}/
409-
cd ${TEMPDIR}/${LS_REPO}/
410-
git --git-dir ${TEMPDIR}/${LS_REPO}/.git add README.md
411-
git --git-dir ${TEMPDIR}/${LS_REPO}/.git commit -m 'Bot Updating README from template'
412-
git --git-dir ${TEMPDIR}/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
413-
fi
414-
rm -Rf ${TEMPDIR}'''
415-
}
416-
}
417445
// Use helper container to sync the current README on master to the dockerhub endpoint
418446
stage('Sync-README') {
419447
when {

READMETEMPLATE.md

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

0 commit comments

Comments
 (0)