|
|
@ -16,7 +16,6 @@ pipeline {
|
|
|
|
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
|
|
|
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
|
|
|
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
|
|
|
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
|
|
|
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
|
|
|
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
|
|
|
SCARF_TOKEN=credentials('scarf_api_key')
|
|
|
|
|
|
|
|
BUILD_VERSION_ARG = 'UBOOQUITY_VERSION'
|
|
|
|
BUILD_VERSION_ARG = 'UBOOQUITY_VERSION'
|
|
|
|
LS_USER = 'linuxserver'
|
|
|
|
LS_USER = 'linuxserver'
|
|
|
|
LS_REPO = 'docker-ubooquity'
|
|
|
|
LS_REPO = 'docker-ubooquity'
|
|
|
@ -329,12 +328,12 @@ pipeline {
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
|
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
mkdir -p ${TEMPDIR}/gitbook
|
|
|
|
mkdir -p ${TEMPDIR}/docs
|
|
|
|
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
|
|
|
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
|
|
|
|
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
|
|
|
|
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
|
|
|
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
|
|
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
|
|
|
|
cd ${TEMPDIR}/gitbook/docker-documentation/
|
|
|
|
cd ${TEMPDIR}/docs/docker-documentation
|
|
|
|
git add images/docker-${CONTAINER_NAME}.md
|
|
|
|
git add docs/images/docker-${CONTAINER_NAME}.md
|
|
|
|
git commit -m 'Bot Updating Documentation'
|
|
|
|
git commit -m 'Bot Updating Documentation'
|
|
|
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
|
|
|
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -425,35 +424,6 @@ pipeline {
|
|
|
|
"visibility":"public"}' '''
|
|
|
|
"visibility":"public"}' '''
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* #######################
|
|
|
|
|
|
|
|
Scarf.sh package registry
|
|
|
|
|
|
|
|
####################### */
|
|
|
|
|
|
|
|
// Add package to Scarf.sh and set permissions
|
|
|
|
|
|
|
|
stage("Scarf.sh package registry"){
|
|
|
|
|
|
|
|
when {
|
|
|
|
|
|
|
|
branch "master"
|
|
|
|
|
|
|
|
environment name: 'EXIT_STATUS', value: ''
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
steps{
|
|
|
|
|
|
|
|
sh '''#! /bin/bash
|
|
|
|
|
|
|
|
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/ubooquity") | .uuid' || :)
|
|
|
|
|
|
|
|
if [ -z "${PACKAGE_UUID}" ]; then
|
|
|
|
|
|
|
|
echo "Adding package to Scarf.sh"
|
|
|
|
|
|
|
|
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
|
|
|
|
|
|
|
|
-H "Authorization: Bearer ${SCARF_TOKEN}" \
|
|
|
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
|
|
|
-d '{"name":"linuxserver/ubooquity",\
|
|
|
|
|
|
|
|
"shortDescription":"example description",\
|
|
|
|
|
|
|
|
"libraryType":"docker",\
|
|
|
|
|
|
|
|
"website":"https://github.com/linuxserver/docker-ubooquity",\
|
|
|
|
|
|
|
|
"backendUrl":"https://ghcr.io/linuxserver/ubooquity",\
|
|
|
|
|
|
|
|
"publicUrl":"https://lscr.io/linuxserver/ubooquity"}' || :
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
echo "Package already exists on Scarf.sh"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/* ###############
|
|
|
|
/* ###############
|
|
|
|
Build Container
|
|
|
|
Build Container
|
|
|
|
############### */
|
|
|
|
############### */
|
|
|
@ -849,6 +819,41 @@ pipeline {
|
|
|
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
|
|
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Add protection to the release branch
|
|
|
|
|
|
|
|
stage('Github-Release-Branch-Protection') {
|
|
|
|
|
|
|
|
when {
|
|
|
|
|
|
|
|
branch "master"
|
|
|
|
|
|
|
|
environment name: 'CHANGE_ID', value: ''
|
|
|
|
|
|
|
|
environment name: 'EXIT_STATUS', value: ''
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
steps {
|
|
|
|
|
|
|
|
echo "Setting up protection for release branch master"
|
|
|
|
|
|
|
|
sh '''#! /bin/bash
|
|
|
|
|
|
|
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
|
|
|
|
|
|
|
|
-d $(jq -c . << EOF
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"required_status_checks": null,
|
|
|
|
|
|
|
|
"enforce_admins": false,
|
|
|
|
|
|
|
|
"required_pull_request_reviews": {
|
|
|
|
|
|
|
|
"dismiss_stale_reviews": false,
|
|
|
|
|
|
|
|
"require_code_owner_reviews": false,
|
|
|
|
|
|
|
|
"require_last_push_approval": false,
|
|
|
|
|
|
|
|
"required_approving_review_count": 1
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
"restrictions": null,
|
|
|
|
|
|
|
|
"required_linear_history": false,
|
|
|
|
|
|
|
|
"allow_force_pushes": false,
|
|
|
|
|
|
|
|
"allow_deletions": false,
|
|
|
|
|
|
|
|
"block_creations": false,
|
|
|
|
|
|
|
|
"required_conversation_resolution": true,
|
|
|
|
|
|
|
|
"lock_branch": false,
|
|
|
|
|
|
|
|
"allow_fork_syncing": false,
|
|
|
|
|
|
|
|
"required_signatures": false
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
) '''
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
// Use helper container to sync the current README on master to the dockerhub endpoint
|
|
|
|
// Use helper container to sync the current README on master to the dockerhub endpoint
|
|
|
|
stage('Sync-README') {
|
|
|
|
stage('Sync-README') {
|
|
|
|
when {
|
|
|
|
when {
|
|
|
|