Compare commits

..

4 Commits

Author SHA1 Message Date
LinuxServer-CI
2f251a6467 Bot Updating Package Versions 2024-12-20 22:43:51 +00:00
LinuxServer-CI
3e6f60e25b Bot Updating Package Versions 2024-12-18 23:49:02 +00:00
LinuxServer-CI
f4303f45ff Bot Updating Templated Files 2024-12-18 23:41:39 +00:00
LinuxServer-CI
728a7ba961 Bot Updating Templated Files 2024-12-18 23:40:14 +00:00
4 changed files with 86 additions and 37 deletions

View File

@@ -48,13 +48,30 @@ jobs:
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# If there's a layer element it's a single-arch manifest so just get that digest
digest=$(jq -r '.config.digest' <<< "${multidigest}")
else
# Otherwise it's multi-arch or has manifest annotations
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# Check for manifest annotations and delete if found
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
fi
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
# If there's still more than one digest, it's multi-arch
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
else
# Otherwise it's single arch
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
fi
if digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then
digest=$(jq -r '.config.digest' <<< "${digest}");
fi
fi
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}")
@@ -92,7 +109,7 @@ jobs:
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if "${artifacts_found}" == "true" ]]; then
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
response=$(curl -iX POST \

View File

@@ -27,9 +27,18 @@ jobs:
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml)
if [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/Jenkinsfile >/dev/null 2>&1; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
if [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/readme-vars.yml)
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
@@ -37,7 +46,7 @@ jobs:
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`code-server_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/${br}/lastBuild/api/json | jq -r '.building') == "true" ]; then
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
@@ -49,6 +58,11 @@ jobs:
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
if [[ -z "${response}" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Jenkins build could not be triggered. Skipping branch."
continue
fi
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
@@ -56,11 +70,14 @@ jobs:
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
if ! curl -ifX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
--data-urlencode "Submit=Submit"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Unable to change the Jenkins job description."
fi
sleep 20
fi
else

18
Jenkinsfile vendored
View File

@@ -575,7 +575,7 @@ pipeline {
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome. \" \
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
--provenance=false --sbom=false --builder=container --load \
--provenance=true --sbom=true --builder=container --load \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh '''#! /bin/bash
set -e
@@ -604,7 +604,9 @@ pipeline {
for i in "${CACHE[@]}"; do
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
done
wait
for p in $(jobs -p); do
wait "$p" || { echo "job $p failed" >&2; exit 1; }
done
fi
'''
}
@@ -639,7 +641,7 @@ pipeline {
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome. \" \
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
--provenance=false --sbom=false --builder=container --load \
--provenance=true --sbom=true --builder=container --load \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh '''#! /bin/bash
set -e
@@ -668,7 +670,9 @@ pipeline {
for i in "${CACHE[@]}"; do
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
done
wait
for p in $(jobs -p); do
wait "$p" || { echo "job $p failed" >&2; exit 1; }
done
fi
'''
}
@@ -696,7 +700,7 @@ pipeline {
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome. \" \
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
--provenance=false --sbom=false --builder=container --load \
--provenance=true --sbom=true --builder=container --load \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh '''#! /bin/bash
set -e
@@ -725,7 +729,9 @@ pipeline {
for i in "${CACHE[@]}"; do
docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} &
done
wait
for p in $(jobs -p); do
wait "$p" || { echo "job $p failed" >&2; exit 1; }
done
fi
'''
}

View File

@@ -13,21 +13,22 @@ NAME VERSION TYPE
@tootallnate/quickjs-emscripten 0.23.0 npm
@vscode/deviceid 0.1.1 npm
@vscode/iconv-lite-umd 0.7.0 npm
@vscode/proxy-agent 0.22.0 npm
@vscode/proxy-agent 0.27.0 npm
@vscode/ripgrep 1.15.9 npm
@vscode/spdlog 0.15.0 npm
@vscode/spdlog 0.15.1 npm
@vscode/tree-sitter-wasm 0.0.4 npm
@vscode/vscode-languagedetection 1.0.21 npm
@vscode/windows-process-tree 0.6.0 npm
@vscode/windows-registry 1.1.0 npm
@xterm/addon-clipboard 0.2.0-beta.48 npm
@xterm/addon-image 0.9.0-beta.65 npm
@xterm/addon-search 0.16.0-beta.65 npm
@xterm/addon-serialize 0.14.0-beta.65 npm
@xterm/addon-unicode11 0.9.0-beta.65 npm
@xterm/addon-webgl 0.19.0-beta.65 npm
@xterm/headless 5.6.0-beta.65 npm
@xterm/xterm 5.6.0-beta.65 npm
@xterm/addon-clipboard 0.2.0-beta.53 npm
@xterm/addon-image 0.9.0-beta.70 npm
@xterm/addon-ligatures 0.10.0-beta.70 npm
@xterm/addon-search 0.16.0-beta.70 npm
@xterm/addon-serialize 0.14.0-beta.70 npm
@xterm/addon-unicode11 0.9.0-beta.70 npm
@xterm/addon-webgl 0.19.0-beta.70 npm
@xterm/headless 5.6.0-beta.70 npm
@xterm/xterm 5.6.0-beta.70 npm
OpenConsole.exe 1.20.240626001 dotnet (+1 duplicate)
abbrev 1.1.1 npm
accepts 1.3.8 npm
@@ -72,8 +73,8 @@ charenc 0.0.2 npm
chownr 1.1.4 npm
chownr 2.0.0 npm
clojure 1.0.0 npm
code-server 1.95.3 npm
code-server 4.95.3 npm
code-server 1.96.2 npm
code-server 4.96.2 npm
coffeescript 1.0.0 npm
color-support 1.1.3 npm
compressible 2.0.18 npm
@@ -97,7 +98,7 @@ crypt 0.0.2 npm
csharp 1.0.0 npm
css 1.0.0 npm
css-language-features 1.0.0 npm
curl 8.5.0-2ubuntu10.5 deb
curl 8.5.0-2ubuntu10.6 deb
dart 1.0.0 npm
dash 0.5.12-6ubuntu5 deb
data-uri-to-buffer 6.0.2 npm
@@ -149,6 +150,8 @@ fill-range 7.1.1 npm
finalhandler 1.2.0 npm
findutils 4.9.0-5build1 deb
follow-redirects 1.15.9 npm
font-finder 1.1.0 npm
font-ligatures 1.4.1 npm
forwarded 0.2.0 npm
fresh 0.5.2 npm
fs-constants 1.0.0 npm
@@ -160,6 +163,7 @@ function-bind 1.1.2 npm
gauge 3.0.2 npm
gcc-14-base 14.2.0-4ubuntu2~24.04 deb
get-intrinsic 1.2.4 npm
get-system-fonts 2.0.2 npm
get-uri 6.0.3 npm
git 1.0.0 npm
git 1:2.43.0-1ubuntu7.1 deb
@@ -227,7 +231,7 @@ java 1.0.0 npm
javascript 1.0.0 npm
jq 1.7.1-3build1 deb
js-base64 3.7.7 npm
js-debug 1.95.3 npm
js-debug 1.96.0 npm
js-debug-companion 1.1.3 npm
js-yaml 4.1.0 npm
jsbn 1.1.0 npm (+1 duplicate)
@@ -262,8 +266,8 @@ libcap2 1:2.66-5ubuntu2 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.5 deb
libcurl4t64 8.5.0-2ubuntu10.5 deb
libcurl3t64-gnutls 8.5.0-2ubuntu10.6 deb
libcurl4t64 8.5.0-2ubuntu10.6 deb
libdb5.3t64 5.3.28+dfsg2-7 deb
libdebconfclient0 0.271ubuntu3 deb
libedit2 3.1-20230828-1build1 deb
@@ -386,7 +390,7 @@ net-tools 2.10-0.1ubuntu4 deb
netbase 6.4 deb
netcat-openbsd 1.226-1ubuntu2 deb
netmask 2.0.2 npm
node 20.18.0 binary
node 20.18.1 binary
node-abi 3.8.0 npm
node-addon-api 7.1.0 npm
node-addon-api 7.1.1 npm
@@ -405,6 +409,7 @@ on-headers 1.0.2 npm
once 1.4.0 npm (+1 duplicate)
openssh-client 1:9.6p1-3ubuntu13.5 deb
openssl 3.0.13-0ubuntu3.4 deb
opentype.js 0.8.0 npm
os-tmpdir 1.0.2 npm
pac-proxy-agent 7.0.2 npm
pac-resolver 7.0.1 npm
@@ -426,6 +431,7 @@ pinentry-curses 1.2.1-3ubuntu5 deb
powershell 1.0.0 npm
prebuild-install 7.1.2 npm
procps 2:4.0.4-4ubuntu3.2 deb
promise-stream-reader 1.0.1 npm
proxy-addr 2.0.7 npm
proxy-agent 6.4.0 npm
proxy-from-env 1.1.0 npm (+1 duplicate)
@@ -495,6 +501,7 @@ tar 6.2.1 npm
tar-fs 2.1.1 npm
tar-stream 2.2.0 npm
tas-client-umd 0.2.0 npm
terminal-suggest 1.0.1 npm
theme-abyss 1.0.0 npm
theme-defaults 1.0.0 npm
theme-kimbie-dark 1.0.0 npm
@@ -505,6 +512,7 @@ theme-red 1.0.0 npm
theme-solarized-dark 1.0.0 npm
theme-solarized-light 1.0.0 npm
theme-tomorrow-night-blue 1.0.0 npm
tiny-inflate 1.0.3 npm
to-regex-range 5.0.1 npm
toidentifier 1.0.1 npm
tr46 0.0.3 npm
@@ -514,10 +522,11 @@ tunnel-agent 0.6.0 npm
tunnel-forwarding 1.0.0 npm
type-is 1.6.18 npm
typescript 1.0.0 npm
typescript 5.6.3 npm
typescript 5.7.2 npm
typescript-language-features 1.0.0 npm
tzdata 2024a-3ubuntu1.1 deb
ubuntu-keyring 2023.11.28.1 deb
undici 6.20.1 npm
universalify 2.0.1 npm (+1 duplicate)
unpipe 1.0.0 npm
util-deprecate 1.0.2 npm (+1 duplicate)