@@ -16,7 +16,6 @@ pipeline {
16
16
GITHUB_TOKEN = credentials(' 498b4638-2d02-4ce5-832d-8a57d01d97ab' )
17
17
GITLAB_TOKEN = credentials(' b6f0f1dd-6952-4cf6-95d1-9c06380283f0' )
18
18
GITLAB_NAMESPACE = credentials(' gitlab-namespace-id' )
19
- SCARF_TOKEN = credentials(' scarf_api_key' )
20
19
BUILD_VERSION_ARG = ' OS'
21
20
LS_USER = ' linuxserver'
22
21
LS_REPO = ' docker-readme-sync'
@@ -321,12 +320,12 @@ pipeline {
321
320
else
322
321
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
323
322
fi
324
- mkdir -p ${TEMPDIR}/gitbook
325
- git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook /docker-documentation
326
- 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
327
- cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook /docker-documentation/images/
328
- cd ${TEMPDIR}/gitbook /docker-documentation/
329
- git add images/docker-${CONTAINER_NAME}.md
323
+ mkdir -p ${TEMPDIR}/docs
324
+ git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs /docker-documentation
325
+ if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -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
326
+ cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs /docker-documentation/docs /images/
327
+ cd ${TEMPDIR}/docs /docker-documentation
328
+ git add docs/ images/docker-${CONTAINER_NAME}.md
330
329
git commit -m 'Bot Updating Documentation'
331
330
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
332
331
fi
@@ -394,35 +393,6 @@ pipeline {
394
393
"visibility":"public"}' '''
395
394
}
396
395
}
397
- /* #######################
398
- Scarf.sh package registry
399
- ####################### */
400
- // Add package to Scarf.sh and set permissions
401
- stage(" Scarf.sh package registry" ){
402
- when {
403
- branch " master"
404
- environment name : ' EXIT_STATUS' , value : ' '
405
- }
406
- steps{
407
- sh ''' #! /bin/bash
408
- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/readme-sync") | .uuid' || :)
409
- if [ -z "${PACKAGE_UUID}" ]; then
410
- echo "Adding package to Scarf.sh"
411
- curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
412
- -H "Authorization: Bearer ${SCARF_TOKEN}" \
413
- -H "Content-Type: application/json" \
414
- -d '{"name":"linuxserver/readme-sync",\
415
- "shortDescription":"example description",\
416
- "libraryType":"docker",\
417
- "website":"https://github.com/linuxserver/docker-readme-sync",\
418
- "backendUrl":"https://ghcr.io/linuxserver/readme-sync",\
419
- "publicUrl":"https://lscr.io/linuxserver/readme-sync"}' || :
420
- else
421
- echo "Package already exists on Scarf.sh"
422
- fi
423
- '''
424
- }
425
- }
426
396
/* ###############
427
397
Build Container
428
398
############### */
@@ -818,6 +788,41 @@ pipeline {
818
788
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
819
789
}
820
790
}
791
+ // Add protection to the release branch
792
+ stage(' Github-Release-Branch-Protection' ) {
793
+ when {
794
+ branch " master"
795
+ environment name : ' CHANGE_ID' , value : ' '
796
+ environment name : ' EXIT_STATUS' , value : ' '
797
+ }
798
+ steps {
799
+ echo " Setting up protection for release branch master"
800
+ sh ''' #! /bin/bash
801
+ curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
802
+ -d $(jq -c . << EOF
803
+ {
804
+ "required_status_checks": null,
805
+ "enforce_admins": false,
806
+ "required_pull_request_reviews": {
807
+ "dismiss_stale_reviews": false,
808
+ "require_code_owner_reviews": false,
809
+ "require_last_push_approval": false,
810
+ "required_approving_review_count": 1
811
+ },
812
+ "restrictions": null,
813
+ "required_linear_history": false,
814
+ "allow_force_pushes": false,
815
+ "allow_deletions": false,
816
+ "block_creations": false,
817
+ "required_conversation_resolution": true,
818
+ "lock_branch": false,
819
+ "allow_fork_syncing": false,
820
+ "required_signatures": false
821
+ }
822
+ EOF
823
+ ) '''
824
+ }
825
+ }
821
826
// Use helper container to sync the current README on master to the dockerhub endpoint
822
827
stage(' Sync-README' ) {
823
828
when {
0 commit comments