@@ -16,7 +16,6 @@ pipeline {
1616 GITHUB_TOKEN = credentials(' 498b4638-2d02-4ce5-832d-8a57d01d97ab' )
1717 GITLAB_TOKEN = credentials(' b6f0f1dd-6952-4cf6-95d1-9c06380283f0' )
1818 GITLAB_NAMESPACE = credentials(' gitlab-namespace-id' )
19- SCARF_TOKEN = credentials(' scarf_api_key' )
2019 JSON_URL = ' https://api.github.com/repos/minetest/minetest/releases'
2120 JSON_PATH = ' first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'
2221 BUILD_VERSION_ARG = ' MINETEST_RELEASE'
@@ -331,12 +330,12 @@ pipeline {
331330 else
332331 echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
333332 fi
334- mkdir -p ${TEMPDIR}/gitbook
335- git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook /docker-documentation
336- 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
337- cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook /docker-documentation/images/
338- cd ${TEMPDIR}/gitbook /docker-documentation/
339- git add images/docker-${CONTAINER_NAME}.md
333+ mkdir -p ${TEMPDIR}/docs
334+ git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs /docker-documentation
335+ 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
336+ cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs /docker-documentation/docs /images/
337+ cd ${TEMPDIR}/docs /docker-documentation
338+ git add docs/ images/docker-${CONTAINER_NAME}.md
340339 git commit -m 'Bot Updating Documentation'
341340 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
342341 fi
@@ -427,35 +426,6 @@ pipeline {
427426 "visibility":"public"}' '''
428427 }
429428 }
430- /* #######################
431- Scarf.sh package registry
432- ####################### */
433- // Add package to Scarf.sh and set permissions
434- stage(" Scarf.sh package registry" ){
435- when {
436- branch " master"
437- environment name : ' EXIT_STATUS' , value : ' '
438- }
439- steps{
440- sh ''' #! /bin/bash
441- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/minetest") | .uuid' || :)
442- if [ -z "${PACKAGE_UUID}" ]; then
443- echo "Adding package to Scarf.sh"
444- curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
445- -H "Authorization: Bearer ${SCARF_TOKEN}" \
446- -H "Content-Type: application/json" \
447- -d '{"name":"linuxserver/minetest",\
448- "shortDescription":"example description",\
449- "libraryType":"docker",\
450- "website":"https://github.com/linuxserver/docker-minetest",\
451- "backendUrl":"https://ghcr.io/linuxserver/minetest",\
452- "publicUrl":"https://lscr.io/linuxserver/minetest"}' || :
453- else
454- echo "Package already exists on Scarf.sh"
455- fi
456- '''
457- }
458- }
459429 /* ###############
460430 Build Container
461431 ############### */
@@ -851,6 +821,41 @@ pipeline {
851821 curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
852822 }
853823 }
824+ // Add protection to the release branch
825+ stage(' Github-Release-Branch-Protection' ) {
826+ when {
827+ branch " master"
828+ environment name : ' CHANGE_ID' , value : ' '
829+ environment name : ' EXIT_STATUS' , value : ' '
830+ }
831+ steps {
832+ echo " Setting up protection for release branch master"
833+ sh ''' #! /bin/bash
834+ curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
835+ -d $(jq -c . << EOF
836+ {
837+ "required_status_checks": null,
838+ "enforce_admins": false,
839+ "required_pull_request_reviews": {
840+ "dismiss_stale_reviews": false,
841+ "require_code_owner_reviews": false,
842+ "require_last_push_approval": false,
843+ "required_approving_review_count": 1
844+ },
845+ "restrictions": null,
846+ "required_linear_history": false,
847+ "allow_force_pushes": false,
848+ "allow_deletions": false,
849+ "block_creations": false,
850+ "required_conversation_resolution": true,
851+ "lock_branch": false,
852+ "allow_fork_syncing": false,
853+ "required_signatures": false
854+ }
855+ EOF
856+ ) '''
857+ }
858+ }
854859 // Use helper container to sync the current README on master to the dockerhub endpoint
855860 stage(' Sync-README' ) {
856861 when {
0 commit comments