Compare commits

...

3 Commits

Author SHA1 Message Date
LinuxServer-CI
549e2e0208 Bot Updating Templated Files 2023-05-27 20:15:05 +00:00
LinuxServer-CI
8bc5a8902e Bot Updating Package Versions 2023-05-19 21:40:38 +00:00
LinuxServer-CI
1119a25e4c Bot Updating Package Versions 2023-05-06 20:15:55 +00:00
2 changed files with 74 additions and 93 deletions

121
Jenkinsfile vendored
View File

@@ -39,7 +39,12 @@ pipeline {
// Setup all the basic environment variables needed for the build
stage("Set ENV Variables base"){
steps{
sh '''docker pull quay.io/skopeo/stable:v1 || : '''
sh '''#! /bin/bash
containers=$(docker ps -aq)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || : '''
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
@@ -204,12 +209,12 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
@@ -337,6 +342,8 @@ pipeline {
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
@@ -428,8 +435,7 @@ pipeline {
}
steps{
sh '''#! /bin/bash
set -e
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/code-server") | .uuid')
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/code-server") | .uuid' || :)
if [ -z "${PACKAGE_UUID}" ]; then
echo "Adding package to Scarf.sh"
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -539,9 +545,12 @@ pipeline {
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
sh '''#! /bin/bash
containers=$(docker ps -aq)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || : '''
}
}
stage('Build ARM64') {
@@ -574,9 +583,12 @@ pipeline {
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
sh '''#! /bin/bash
containers=$(docker ps -aq)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || : '''
}
}
}
@@ -637,13 +649,6 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
echo "Packages were updated. Cleaning up the image and exiting."
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
docker rmi ${IMAGE}:amd64-${META_TAG}
else
docker rmi ${IMAGE}:${META_TAG}
fi'''
script{
env.EXIT_STATUS = 'ABORTED'
}
@@ -661,13 +666,6 @@ pipeline {
}
}
steps {
sh '''#! /bin/bash
echo "There are no package updates. Cleaning up the image and exiting."
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
docker rmi ${IMAGE}:amd64-${META_TAG}
else
docker rmi ${IMAGE}:${META_TAG}
fi'''
script{
env.EXIT_STATUS = 'ABORTED'
}
@@ -768,17 +766,6 @@ pipeline {
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || :
if [ -n "${SEMVER}" ]; then
docker rmi ${DELETEIMAGE}:${SEMVER} || :
fi
done
'''
}
}
}
@@ -872,29 +859,6 @@ pipeline {
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
if [ -n "${SEMVER}" ]; then
docker rmi \
${DELETEIMAGE}:amd64-${SEMVER} \
${DELETEIMAGE}:arm32v7-${SEMVER} \
${DELETEIMAGE}:arm64v8-${SEMVER} || :
fi
done
docker rmi \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
'''
}
}
}
@@ -965,7 +929,6 @@ pipeline {
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
@@ -1019,16 +982,24 @@ pipeline {
echo "$escaped_table"
}
# Retrieve JSON data from URL
data=$(get_json "$CI_JSON_URL")
# Create table from JSON data
table=$(build_table "$data")
echo -e "$table"
if [[ "${CI}" = "true" ]]; then
# Retrieve JSON data from URL
data=$(get_json "$CI_JSON_URL")
# Create table from JSON data
table=$(build_table "$data")
echo -e "$table"
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
-d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"'''
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
-d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"
else
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
-d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}"
fi
'''
}
}
@@ -1055,6 +1026,14 @@ pipeline {
}
}
cleanup {
sh '''#! /bin/bash
echo "Performing docker system prune!!"
containers=$(docker ps -aq)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || :
'''
cleanWs()
}
}

View File

@@ -9,7 +9,7 @@ NAME VERSION
@google-cloud/promisify 2.0.4 npm
@grpc/grpc-js 1.6.12 npm
@grpc/proto-loader 0.6.13 npm
@grpc/proto-loader 0.7.6 npm
@grpc/proto-loader 0.7.7 npm
@mapbox/node-pre-gyp 1.0.10 npm
@microsoft/1ds-core-js 3.2.3 npm
@microsoft/1ds-post-js 3.2.3 npm
@@ -33,7 +33,9 @@ NAME VERSION
@types/long 4.0.2 npm
@types/node 16.18.18 npm
@vscode/iconv-lite-umd 0.7.0 npm
@vscode/ripgrep 1.15.0 npm
@vscode/proxy-agent 0.13.2 npm
@vscode/ripgrep 1.15.2 npm
@vscode/spdlog 0.13.10 npm
@vscode/vscode-languagedetection 1.0.21 npm
abbrev 1.1.1 npm
abort-controller 3.0.0 npm
@@ -88,9 +90,10 @@ charenc 0.0.2
chownr 1.1.4 npm
chownr 2.0.0 npm
cliui 7.0.4 npm
cliui 8.0.1 npm
clojure 1.0.0 npm
code-point-at 1.1.0 npm
code-server 4.12.0 npm
code-server 4.13.0 npm
coffeescript 1.0.0 npm
color-convert 2.0.1 npm
color-name 1.1.4 npm
@@ -194,9 +197,9 @@ get-caller-file 2.0.5
get-intrinsic 1.1.1 npm
get-uri 3.0.2 npm
git 1.0.0 npm
git 1:2.34.1-1ubuntu1.8 deb
git 1:2.34.1-1ubuntu1.9 deb
git-base 1.0.0 npm
git-man 1:2.34.1-1ubuntu1.8 deb
git-man 1:2.34.1-1ubuntu1.9 deb
github 0.0.1 npm
github-authentication 0.0.2 npm
github-from-package 0.0.0 npm
@@ -268,7 +271,7 @@ jake 1.0.0
java 1.0.0 npm
javascript 1.0.0 npm
jq 1.6-2.1ubuntu3 deb
js-debug 1.77.2 npm
js-debug 1.78.0 npm
js-debug-companion 1.0.18 npm
js-yaml 4.1.0 npm
jschardet 3.0.0 npm
@@ -366,7 +369,7 @@ libsmartcols1 2.37.2-4ubuntu3
libsqlite3-0 3.37.2-2ubuntu0.1 deb
libss2 1.46.5-2ubuntu1.1 deb
libssh-4 0.9.6-2build1 deb
libssl3 3.0.2-0ubuntu1.8 deb
libssl3 3.0.2-0ubuntu1.9 deb
libstdc++6 12.1.0-2ubuntu1~22.04 deb
libsystemd0 249.11-0ubuntu3.9 deb
libtasn1-6 4.18.0-4build1 deb
@@ -419,14 +422,13 @@ minimatch 3.1.2
minimist 1.2.6 npm
minipass 3.1.3 npm
minizlib 2.1.2 npm
mkdirp 0.5.5 npm
mkdirp 0.5.6 npm
mkdirp 1.0.4 npm
mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb
ms 2.0.0 npm
ms 2.1.1 npm
ms 2.1.2 npm
nan 2.15.0 npm
nan 2.17.0 npm
nano 6.2-1 deb
napi-build-utils 1.0.2 npm
@@ -448,7 +450,7 @@ node-fetch 2.6.7
node-forge 1.3.1 npm
node-forge-flash 0.0.0 npm
node-gyp-build 4.3.0 npm
node-pty 0.11.0-beta30 npm
node-pty 0.11.0-beta32 npm
nopt 5.0.0 npm
npm 1.0.1 npm
npmlog 4.1.2 npm
@@ -519,7 +521,7 @@ requires-port 1.0.0
restructuredtext 1.0.0 npm
retry-request 4.2.2 npm
rimraf 3.0.2 npm
rotating-file-stream 3.0.0 npm
rotating-file-stream 3.1.0 npm
router 2.0.0-alpha.1 npm
ruby 1.0.0 npm
rust 1.0.0 npm
@@ -554,7 +556,6 @@ socks 2.6.1
socks-proxy-agent 5.0.0 npm
socks-proxy-agent 5.0.1 npm
source-map 0.6.1 npm
spdlog 0.13.6 npm
split2 4.2.0 npm
sql 1.0.0 npm
statuses 1.5.0 npm
@@ -577,7 +578,7 @@ tar 1.34+dfsg-1ubuntu0.1.22.04.1
tar 6.1.11 npm
tar-fs 2.1.1 npm
tar-stream 2.2.0 npm
tas-client-umd 0.1.6 npm
tas-client-umd 0.1.8 npm
teeny-request 7.2.0 npm
theme-abyss 1.0.0 npm
theme-defaults 1.0.0 npm
@@ -600,7 +601,7 @@ type-is 1.6.18
typescript 1.0.0 npm
typescript 5.0.4 npm
typescript-language-features 1.0.0 npm
tzdata 2023c-0ubuntu0.22.04.0 deb
tzdata 2023c-0ubuntu0.22.04.1 deb
ubuntu-keyring 2021.03.26 deb
universalify 0.1.2 npm
unpipe 1.0.0 npm
@@ -611,17 +612,16 @@ utils-merge 1.0.1
uuid 8.3.2 npm
vary 1.1.2 npm
vb 1.0.0 npm
vm2 3.9.17 npm
vm2 3.9.19 npm
vscode-css-languageserver 1.0.0 npm
vscode-extensions 0.0.1 npm
vscode-html-languageserver 1.0.0 npm
vscode-js-profile-table 1.0.3 npm
vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.3.0-alpha.6 npm
vscode-markdown-languageserver 0.3.0 npm
vscode-oniguruma 1.7.0 npm
vscode-proxy-agent 0.12.0 npm
vscode-regexpp 3.1.0 npm
vscode-reh 1.77.3 npm
vscode-reh 1.78.2 npm
vscode-textmate 9.0.0 npm
vscode-theme-seti 1.0.0 npm
webidl-conversions 3.0.1 npm
@@ -636,19 +636,21 @@ xauth 1:1.1-1build2
xdg-basedir 4.0.0 npm
xml 1.0.0 npm
xregexp 2.0.0 npm
xterm 5.2.0-beta.30 npm
xterm-addon-canvas 0.4.0-beta.7 npm
xterm 5.2.0-beta.35 npm
xterm-addon-canvas 0.4.0-beta.9 npm
xterm-addon-search 0.11.0 npm
xterm-addon-serialize 0.9.0 npm
xterm-addon-unicode11 0.5.0 npm
xterm-addon-webgl 0.15.0-beta.7 npm
xterm-headless 5.2.0-beta.30 npm
xterm-addon-webgl 0.15.0-beta.8 npm
xterm-headless 5.2.0-beta.35 npm
y18n 5.0.8 npm
yallist 3.1.1 npm
yallist 4.0.0 npm
yaml 1.0.0 npm
yargs 16.2.0 npm
yargs 17.7.2 npm
yargs-parser 20.2.9 npm
yargs-parser 21.1.1 npm
yauzl 2.10.0 npm
yazl 2.4.3 npm
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb