Compare commits

...

10 Commits

Author SHA1 Message Date
LinuxServer-CI
463c078495
Bot Updating Templated Files 2026-05-09 20:47:49 +00:00
LinuxServer-CI
bf6019fb3c
Bot Updating Package Versions 2026-05-06 23:34:41 +00:00
LinuxServer-CI
a9abb1ecfd
Bot Updating Package Versions 2026-05-02 20:46:13 +00:00
LinuxServer-CI
4773f2d5f8
Bot Updating Package Versions 2026-04-23 21:28:25 +00:00
LinuxServer-CI
98c1d8a67e
Bot Updating Package Versions 2026-04-16 19:50:46 +00:00
LinuxServer-CI
ca2f347750
Bot Updating Package Versions 2026-04-11 20:39:35 +00:00
LinuxServer-CI
313115e1f3
Bot Updating Package Versions 2026-04-08 22:12:03 +00:00
LinuxServer-CI
692e50d337
Bot Updating Package Versions 2026-04-06 21:10:18 +00:00
LinuxServer-CI
f0a9aeb116
Bot Updating Templated Files 2026-04-04 20:35:59 +00:00
LinuxServer-CI
43f3feea6b
Bot Updating Package Versions 2026-04-04 09:12:54 +00:00
2 changed files with 162 additions and 134 deletions

192
Jenkinsfile vendored
View File

@ -75,6 +75,8 @@ pipeline {
'''
script{
env.EXIT_STATUS = ''
env.CI_TEST_ATTEMPTED = ''
env.PUSH_ATTEMPTED = ''
env.LS_RELEASE = sh(
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:latest 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
@ -871,6 +873,7 @@ pipeline {
script{
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json'
env.CI_TEST_ATTEMPTED = 'true'
}
sh '''#! /bin/bash
set -e
@ -923,6 +926,9 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
script{
env.PUSH_ATTEMPTED = 'true'
}
retry_backoff(5,5) {
sh '''#! /bin/bash
set -e
@ -952,11 +958,18 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
script{
env.PUSH_ATTEMPTED = 'true'
}
retry_backoff(5,5) {
sh '''#! /bin/bash
set -e
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
[[ ${MANIFESTIMAGE%%/*} =~ \\. ]] && MANIFESTIMAGEPLUS="${MANIFESTIMAGE}" || MANIFESTIMAGEPLUS="docker.io/${MANIFESTIMAGE}"
if [[ "${MANIFESTIMAGE%%/*}" =~ \\. ]]; then
MANIFESTIMAGEPLUS="${MANIFESTIMAGE}"
else
MANIFESTIMAGEPLUS="docker.io/${MANIFESTIMAGE}"
fi
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
for i in "${CACHE[@]}"; do
if [[ "${MANIFESTIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then
@ -1073,98 +1086,13 @@ EOF
) '''
}
}
// If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
# Function to retrieve JSON data from URL
get_json() {
local url="$1"
local response=$(curl -s "$url")
if [ $? -ne 0 ]; then
echo "Failed to retrieve JSON data from $url"
return 1
fi
local json=$(echo "$response" | jq .)
if [ $? -ne 0 ]; then
echo "Failed to parse JSON data from $url"
return 1
fi
echo "$json"
}
build_table() {
local data="$1"
# Get the keys in the JSON data
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
# Check if keys are empty
if [ -z "$keys" ]; then
echo "JSON report data does not contain any keys or the report does not exist."
return 1
fi
# Build table header
local header="| Tag | Passed |\\n| --- | --- |\\n"
# Loop through the JSON data to build the table rows
local rows=""
for build in $keys; do
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
if [ "$status" = "true" ]; then
status="✅"
else
status="❌"
fi
local row="| "$build" | "$status" |\\n"
rows="${rows}${row}"
done
local table="${header}${rows}"
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
echo "$escaped_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}\\"}"
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
'''
}
}
}
/* ######################
Send status to Discord
Comment on PR and Send status to Discord
###################### */
post {
always {
sh '''#!/bin/bash
rm -rf /config/.ssh/id_sign
rm -rf /config/.ssh/id_sign.pub
git config --global --unset gpg.format
git config --global --unset user.signingkey
git config --global --unset commit.gpgsign
'''
script{
script {
env.JOB_DATE = sh(
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
returnStdout: true).trim()
@ -1207,6 +1135,94 @@ EOF
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
}
script {
if (env.GITHUBIMAGE =~ /lspipepr/){
if (env.CI_TEST_ATTEMPTED == "true" || env.PUSH_ATTEMPTED == "true"){
sh '''#! /bin/bash
# Function to retrieve JSON data from URL
get_json() {
local url="$1"
local response=$(curl -s "$url")
if [ $? -ne 0 ]; then
echo "Failed to retrieve JSON data from $url"
return 1
fi
local json=$(echo "$response" | jq .)
if [ $? -ne 0 ]; then
echo "Failed to parse JSON data from $url"
return 1
fi
echo "$json"
}
build_table() {
local data="$1"
# Get the keys in the JSON data
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
# Check if keys are empty
if [ -z "$keys" ]; then
echo "JSON report data does not contain any keys or the report does not exist."
return 1
fi
# Build table header
local header="| Tag | Passed |\\n| --- | --- |\\n"
# Loop through the JSON data to build the table rows
local rows=""
for build in $keys; do
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
if [ "$status" = "true" ]; then
status="✅"
else
status="❌"
fi
local row="| "$build" | "$status" |\\n"
rows="${rows}${row}"
done
local table="${header}${rows}"
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
echo "$escaped_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 for commit ${COMMIT_SHA:0:7} : \\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 for commit ${COMMIT_SHA:0:7} : \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}"
fi
'''
} else {
sh '''#! /bin/bash
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, the build for PR commit ${COMMIT_SHA:0:7} failed and as a result no CI test was attempted and no images were pushed.\\"}"
'''
}
}
}
sh '''#!/bin/bash
rm -rf /config/.ssh/id_sign
rm -rf /config/.ssh/id_sign.pub
git config --global --unset gpg.format
git config --global --unset user.signingkey
git config --global --unset commit.gpgsign
'''
}
cleanup {
sh '''#! /bin/bash

View File

@ -1,12 +1,14 @@
NAME VERSION TYPE
@anthropic-ai/sandbox-runtime 0.0.42 npm
@anthropic-ai/sandbox-runtime 0.0.49 npm
@babel/runtime 7.28.6 npm
@coder/logger 3.0.1 npm
@emnapi/runtime 1.8.1 npm
@emnapi/runtime 1.10.0 npm (+1 duplicate)
@epic-web/invariant 1.0.0 npm
@github/copilot 1.0.4 npm
@github/copilot-sdk 0.1.32 npm
@img/sharp-wasm32 0.34.5 npm
@github/copilot 1.0.34 npm
@github/copilot 1.0.38 npm
@github/copilot-sdk 0.2.2 npm
@img/sharp-wasm32 0.34.5 npm (+1 duplicate)
@isaacs/fs-minipass 4.0.1 npm
@microsoft/1ds-core-js 3.2.13 npm
@microsoft/1ds-post-js 3.2.13 npm
@microsoft/applicationinsights-core-js 2.8.15 npm
@ -17,27 +19,27 @@ NAME VERSION T
@pondwader/socks5-server 1.0.10 npm
@tootallnate/once 3.0.1 npm
@tootallnate/quickjs-emscripten 0.23.0 npm
@types/lodash 4.17.23 npm
@types/lodash-es 4.17.12 npm
@vscode/copilot-typescript-server-plugin 1.0.0 npm
@vscode/deviceid 0.1.4 npm
@vscode/fs-copyfile 2.0.0 npm
@vscode/iconv-lite-umd 0.7.1 npm
@vscode/native-watchdog 1.4.6 npm
@vscode/proxy-agent 0.40.0 npm
@vscode/proxy-agent 0.41.0 npm
@vscode/ripgrep 1.17.1 npm
@vscode/spdlog 0.15.7 npm
@vscode/tree-sitter-wasm 0.3.0 npm
@vscode/spdlog 0.15.8 npm
@vscode/sqlite3 5.1.12-vscode npm
@vscode/tree-sitter-wasm 0.3.1 npm
@vscode/vscode-languagedetection 1.0.23 npm
@xterm/addon-clipboard 0.3.0-beta.191 npm
@xterm/addon-image 0.10.0-beta.191 npm
@xterm/addon-ligatures 0.11.0-beta.191 npm
@xterm/addon-progress 0.3.0-beta.191 npm
@xterm/addon-search 0.17.0-beta.191 npm
@xterm/addon-serialize 0.15.0-beta.191 npm
@xterm/addon-unicode11 0.10.0-beta.191 npm
@xterm/addon-webgl 0.20.0-beta.190 npm
@xterm/headless 6.1.0-beta.191 npm
@xterm/xterm 6.1.0-beta.191 npm
@xterm/addon-clipboard 0.3.0-beta.197 npm
@xterm/addon-image 0.10.0-beta.197 npm
@xterm/addon-ligatures 0.11.0-beta.197 npm
@xterm/addon-progress 0.3.0-beta.197 npm
@xterm/addon-search 0.17.0-beta.197 npm
@xterm/addon-serialize 0.15.0-beta.197 npm
@xterm/addon-unicode11 0.10.0-beta.197 npm
@xterm/addon-webgl 0.20.0-beta.196 npm
@xterm/headless 6.1.0-beta.197 npm
@xterm/xterm 6.1.0-beta.197 npm
Microsoft.PowerShell.PSReadLine 2.4.3 dotnet
Microsoft.PowerShell.PSReadLine.Polyfiller 1.0.0.0 dotnet (+1 duplicate)
Microsoft.PowerShell.Pager 1.0.0.0 dotnet
@ -49,13 +51,15 @@ apt 2.8.3 d
apt-utils 2.8.3 deb
argon2 0.44.0 npm
argparse 2.0.1 npm
asn1 0.2.6 npm
ast-types 0.13.4 npm
base-files 13ubuntu10.4 deb
base-passwd 3.6.3build1 deb
base64-js 1.5.1 npm
bash 5.2.21-2ubuntu4 deb
basic-ftp 5.2.0 npm
basic-ftp 5.3.0 npm
bat 10.0.0 npm
bcrypt-pbkdf 1.0.2 npm
bindings 1.5.0 npm
bl 4.1.0 npm
body-parser 2.2.2 npm
@ -73,9 +77,10 @@ call-bound 1.0.4 n
catatonit 0.1.7-1 deb
charenc 0.0.2 npm
chownr 1.1.4 npm
chownr 3.0.0 npm
clojure 10.0.0 npm
code-server 1.113.0 npm
code-server 4.113.1 npm
code-server 1.118.0 npm
code-server 4.118.0 npm
coffeescript 10.0.0 npm
commander 12.1.0 npm
commander 8.3.0 npm
@ -88,6 +93,7 @@ cookie 0.7.2 n
cookie-parser 1.4.7 npm
cookie-signature 1.0.6 npm
cookie-signature 1.2.2 npm
copilot-chat 0.46.0 npm
coreutils 9.4-3ubuntu6.2 deb
cpp 10.0.0 npm
cron 3.0pl1-184ubuntu2 deb
@ -98,7 +104,7 @@ crypt 0.0.2 n
csharp 10.0.0 npm
css 10.0.0 npm
css-language-features 10.0.0 npm
curl 8.5.0-2ubuntu10.8 deb
curl 8.5.0-2ubuntu10.9 deb
dart 10.0.0 npm
dash 0.5.12-6ubuntu5 deb
data-uri-to-buffer 6.0.2 npm
@ -145,7 +151,7 @@ fd-slicer 1.1.0 n
file-uri-to-path 1.0.0 npm
finalhandler 2.1.1 npm
findutils 4.9.0-5build1 deb
follow-redirects 1.15.11 npm
follow-redirects 1.16.0 npm
forwarded 0.2.0 npm
fresh 2.0.0 npm
fs-constants 1.0.0 npm
@ -213,9 +219,9 @@ isexe 2.0.0 n
jake 10.0.0 npm
java 10.0.0 npm
javascript 10.0.0 npm
jq 1.7.1-3ubuntu0.24.04.1 deb
jq 1.7.1-3ubuntu0.24.04.2 deb
js-base64 3.7.7 npm
js-debug 1.112.0 npm
js-debug 1.117.0 npm
js-debug-companion 1.1.3 npm
js-yaml 4.1.1 npm
jsbn 1.1.0 npm
@ -233,7 +239,7 @@ latex 10.0.0 n
less 10.0.0 npm
less 590-2ubuntu2.1 deb
libacl1 2.3.2-1build1.1 deb
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.5 deb
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.6 deb
libapt-pkg6.0t64 2.8.3 deb
libassuan0 2.5.6-1build1 deb
libatomic1 14.2.0-4ubuntu2~24.04.1 deb
@ -247,12 +253,12 @@ libbz2-1.0 1.0.8-5.1build0.1 d
libc-bin 2.39-0ubuntu8.7 deb
libc6 2.39-0ubuntu8.7 deb
libcap-ng0 0.8.4-2build2 deb
libcap2 1:2.66-5ubuntu2.2 deb
libcap2 1:2.66-5ubuntu2.4 deb
libcbor0.10 0.10.2-1.2ubuntu2 deb
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
libcrypt1 1:4.4.36-4build1 deb
libcurl3t64-gnutls 8.5.0-2ubuntu10.8 deb
libcurl4t64 8.5.0-2ubuntu10.8 deb
libcurl3t64-gnutls 8.5.0-2ubuntu10.9 deb
libcurl4t64 8.5.0-2ubuntu10.9 deb
libdb5.3t64 5.3.28+dfsg2-7 deb
libdebconfclient0 0.271ubuntu3 deb
libedit2 3.1-20230828-1build1 deb
@ -271,7 +277,7 @@ libgpg-error0 1.47-3build2.1 d
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb
libhogweed6t64 3.9.1-2.2build1.1 deb
libidn2-0 2.3.7-2build1.1 deb
libjq1 1.7.1-3ubuntu0.24.04.1 deb
libjq1 1.7.1-3ubuntu0.24.04.2 deb
libk5crypto3 1.20.1-6ubuntu2.6 deb
libkeyutils1 1.6.3-3build1 deb
libkrb5-3 1.20.1-6ubuntu2.6 deb
@ -285,7 +291,7 @@ libmd0 1.1.0-2build1.1 d
libmount1 2.39.3-9ubuntu6.5 deb
libncursesw6 6.4+20240113-1ubuntu2 deb
libnettle8t64 3.9.1-2.2build1.1 deb
libnghttp2-14 1.59.0-1ubuntu0.2 deb
libnghttp2-14 1.59.0-1ubuntu0.3 deb
libnpth0t64 1.6-3.1build1 deb
libonig5 6.9.9-1build1 deb
libp11-kit0 0.25.3-4ubuntu2.1 deb
@ -311,12 +317,12 @@ libsmartcols1 2.39.3-9ubuntu6.5 d
libsqlite3-0 3.45.1-1ubuntu2.5 deb
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
libssh-4 0.10.6-2ubuntu0.4 deb
libssl3t64 3.0.13-0ubuntu3.7 deb
libssl3t64 3.0.13-0ubuntu3.9 deb
libstdc++6 14.2.0-4ubuntu2~24.04.1 deb
libsystemd0 255.4-1ubuntu8.14 deb
libsystemd0 255.4-1ubuntu8.15 deb
libtasn1-6 4.19.0-3ubuntu0.24.04.2 deb
libtinfo6 6.4+20240113-1ubuntu2 deb
libudev1 255.4-1ubuntu8.14 deb
libudev1 255.4-1ubuntu8.15 deb
libunistring5 1.1-2build1.1 deb
libuuid1 2.39.3-9ubuntu6.5 deb
libx11-6 2:1.8.7-1build1 deb
@ -330,7 +336,6 @@ libxxhash0 0.8.2-2build1 d
libzstd1 1.5.5+dfsg2-2build1.1 deb
limiter 2.1.0 npm
locales 2.39-0ubuntu8.7 deb
lodash-es 4.17.23 npm
log 10.0.0 npm
login 1:4.13+dfsg1-4ubuntu3.2 deb
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
@ -354,6 +359,8 @@ mime-db 1.54.0 n
mime-types 3.0.2 npm
mimic-response 3.1.0 npm
minimist 1.2.8 npm
minipass 7.1.3 npm
minizlib 3.1.0 npm
mkdirp 1.0.4 npm
mkdirp-classic 0.5.3 npm
mount 2.39.3-9ubuntu6.5 deb
@ -381,8 +388,8 @@ objective-c 10.0.0 n
on-finished 2.4.1 npm
on-headers 1.1.0 npm
once 1.4.0 npm (+1 duplicate)
openssh-client 1:9.6p1-3ubuntu13.15 deb
openssl 3.0.13-0ubuntu3.7 deb
openssh-client 1:9.6p1-3ubuntu13.16 deb
openssl 3.0.13-0ubuntu3.9 deb
opentype.js 0.8.0 npm
os-tmpdir 1.0.2 npm
pac-proxy-agent 7.2.0 npm
@ -391,7 +398,7 @@ parseurl 1.3.3 n
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
patch 2.7.6-7build3 deb
path-key 3.1.1 npm
path-to-regexp 8.3.0 npm
path-to-regexp 8.4.2 npm
pem 1.14.8 npm
pend 1.2.0 npm
perl 10.0.0 npm
@ -400,7 +407,7 @@ perl-base 5.38.2-3.2ubuntu0.2 d
perl-modules-5.38 5.38.2-3.2ubuntu0.2 deb
php 10.0.0 npm
php-language-features 10.0.0 npm
picomatch 4.0.3 npm
picomatch 4.0.4 npm
pinentry-curses 1.2.1-3ubuntu5 deb
powershell 10.0.0 npm
procps 2:4.0.4-4ubuntu3.2 deb
@ -429,10 +436,10 @@ ruby 10.0.0 n
rust 10.0.0 npm
safe-buffer 5.2.1 npm (+1 duplicate)
safe-compare 1.1.4 npm
safer-buffer 2.1.2 npm
safer-buffer 2.1.2 npm (+1 duplicate)
scss 10.0.0 npm
search-result 10.0.0 npm
sed 4.9-2build1 deb
sed 4.9-2ubuntu0.24.04.1 deb
semver 7.5.4 npm
semver 7.7.4 npm
send 1.2.1 npm
@ -459,14 +466,16 @@ socks-proxy-agent 8.0.5 n
source-map 0.6.1 npm
sprintf-js 1.1.3 npm
sql 10.0.0 npm
ssh2 1.17.0 npm
statuses 2.0.2 npm
string_decoder 1.3.0 npm
strip-json-comments 2.0.1 npm
sudo 1.9.15p5-3ubuntu5.24.04.2 deb
swift 10.0.0 npm
systemd-standalone-sysusers 255.4-1ubuntu8.14 deb
systemd-standalone-sysusers 255.4-1ubuntu8.15 deb
sysvinit-utils 3.08-6ubuntu3 deb
tar 1.35+dfsg-3build1 deb
tar 7.5.13 npm
tar-fs 2.1.4 npm
tar-stream 2.2.0 npm
tas-client 0.3.1 npm
@ -486,11 +495,13 @@ toidentifier 1.0.1 n
tslib 2.8.1 npm
tunnel-agent 0.6.0 npm
tunnel-forwarding 10.0.0 npm
tweetnacl 0.14.5 npm
type-is 2.0.1 npm
typescript 10.0.0 npm
typescript 5.9.3 npm (+1 duplicate)
typescript 5.9.3 npm
typescript 6.0.3 npm
typescript-language-features 10.0.0 npm
tzdata 2025b-0ubuntu0.24.04.1 deb
tzdata 2026a-0ubuntu0.24.04.1 deb
ubuntu-keyring 2023.11.28.1 deb
undici 7.24.4 npm
universalify 2.0.1 npm
@ -518,6 +529,7 @@ xauth 1:1.1.2-1build1 d
xdg-basedir 4.0.0 npm
xml 10.0.0 npm
yallist 4.0.0 npm
yallist 5.0.0 npm
yaml 10.0.0 npm
yauzl 2.10.0 npm
yauzl 3.1.1 npm