Compare commits

...

24 Commits

Author SHA1 Message Date
LinuxServer-CI
94e137e87f Bot Updating Package Versions 2024-01-22 17:41:54 +00:00
LinuxServer-CI
a9df15473e Bot Updating Package Versions 2024-01-20 20:18:35 +00:00
LinuxServer-CI
24919c86a2 Bot Updating Package Versions 2024-01-13 20:31:25 +00:00
LinuxServer-CI
a121f3a64a Bot Updating Templated Files 2024-01-13 20:19:04 +00:00
LinuxServer-CI
33e35e89b8 Bot Updating Templated Files 2024-01-13 20:16:52 +00:00
LinuxServer-CI
5e7e1b2bda Bot Updating Package Versions 2024-01-06 20:17:06 +00:00
LinuxServer-CI
4bfbc226a4 Bot Updating Package Versions 2023-12-21 22:40:42 +00:00
LinuxServer-CI
9c28be3eb4 Bot Updating Package Versions 2023-12-16 20:17:57 +00:00
LinuxServer-CI
dac826bc40 Bot Updating Package Versions 2023-12-09 20:17:51 +00:00
LinuxServer-CI
7e16b5c8be Bot Updating Package Versions 2023-11-29 21:41:18 +00:00
LinuxServer-CI
14c35108cf Bot Updating Package Versions 2023-11-25 20:17:26 +00:00
LinuxServer-CI
4dcc194840 Bot Updating Package Versions 2023-11-18 14:43:20 +00:00
LinuxServer-CI
71158be6b3 Bot Updating Templated Files 2023-11-18 14:39:32 +00:00
LinuxServer-CI
02a7bea1b8 Bot Updating Package Versions 2023-11-03 20:27:08 +00:00
LinuxServer-CI
b15152a498 Bot Updating Package Versions 2023-10-28 20:16:23 +00:00
LinuxServer-CI
18889ecd4b Bot Updating Package Versions 2023-10-20 20:40:27 +00:00
LinuxServer-CI
44345df372 Bot Updating Package Versions 2023-10-14 20:16:34 +00:00
LinuxServer-CI
64a00a9744 Bot Updating Package Versions 2023-10-07 20:21:16 +00:00
LinuxServer-CI
31e2f77d49 Bot Updating Templated Files 2023-10-07 20:17:17 +00:00
LinuxServer-CI
b03eace8f8 Bot Updating Templated Files 2023-10-07 20:14:40 +00:00
LinuxServer-CI
7912c721a5 Bot Updating Package Versions 2023-09-29 23:40:28 +00:00
LinuxServer-CI
bccc62b708 Bot Updating Package Versions 2023-09-23 02:05:40 +00:00
LinuxServer-CI
25396b74d1 Bot Updating Package Versions 2023-09-16 20:16:07 +00:00
LinuxServer-CI
cf4c57cd1e Bot Updating Package Versions 2023-08-26 20:15:10 +00:00
3 changed files with 366 additions and 420 deletions

346
Jenkinsfile vendored
View File

@@ -16,7 +16,7 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
SCARF_TOKEN=credentials('scarf_api_key')
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
CONTAINER_NAME = 'code-server'
BUILD_VERSION_ARG = 'CODE_RELEASE'
LS_USER = 'linuxserver'
@@ -59,11 +59,16 @@ pipeline {
env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''',
returnStdout: true).trim()
env.GH_DEFAULT_BRANCH = sh(
script: '''git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||' ''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
}
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{
env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
@@ -121,7 +126,7 @@ pipeline {
steps{
script{
env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/ ]//g' ''',
returnStdout: true).trim()
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
@@ -139,7 +144,7 @@ pipeline {
}
if (env.SEMVER != null) {
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") {
if (BRANCH_NAME != "${env.GH_DEFAULT_BRANCH}") {
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
}
println("SEMVER: ${env.SEMVER}")
@@ -257,115 +262,150 @@ pipeline {
}
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/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
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
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/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
echo "Jenkinsfile is up to date."
fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -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}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
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}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -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/
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}
fi
# Stage 4 - Sync Readme to Docker Hub
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
}
@@ -425,35 +465,6 @@ pipeline {
"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/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 \
-H "Authorization: Bearer ${SCARF_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"name":"linuxserver/code-server",\
"shortDescription":"example description",\
"libraryType":"docker",\
"website":"https://github.com/linuxserver/docker-code-server",\
"backendUrl":"https://ghcr.io/linuxserver/code-server",\
"publicUrl":"https://lscr.io/linuxserver/code-server"}' || :
else
echo "Package already exists on Scarf.sh"
fi
'''
}
}
/* ###############
Build Container
############### */
@@ -588,7 +599,8 @@ pipeline {
wait
git add package_versions.txt
git commit -m 'Bot Updating Package Versions'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
@@ -849,37 +861,39 @@ pipeline {
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
// 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 {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
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
) '''
}
}
// If this is a Pull request send the CI link as a comment on it

139
README.md
View File

@@ -1,6 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-code-server/blob/master/.github/CONTRIBUTING.md -->
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-code-server/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
@@ -52,7 +51,7 @@ Find us at:
## Supported Architectures
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `lscr.io/linuxserver/code-server:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
@@ -81,13 +80,12 @@ How to create the [hashed password](https://github.com/cdr/code-server/blob/mast
## Usage
Here are some example snippets to help you get started creating a container.
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml
---
version: "2.1"
services:
code-server:
image: lscr.io/linuxserver/code-server:latest
@@ -127,12 +125,11 @@ docker run -d \
-v /path/to/appdata/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/code-server:latest
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
| Parameter | Function |
| :----: | --- |
@@ -155,10 +152,10 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
```bash
-e FILE__PASSWORD=/run/secrets/mysecretpassword
-e FILE__MYVAR=/run/secrets/mysecretvariable
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
@@ -167,15 +164,20 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```bash
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
id your_user
```
Example output:
```text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
```
## Docker Mods
@@ -186,53 +188,100 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
## Support Info
* Shell access whilst the container is running: `docker exec -it code-server /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f code-server`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' code-server`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/code-server:latest`
* Shell access whilst the container is running:
```bash
docker exec -it code-server /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f code-server
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' code-server
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/code-server:latest
```
## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull code-server`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d code-server`
* You can also remove the old dangling images: `docker image prune`
* Update images:
* All images:
```bash
docker-compose pull
```
* Single image:
```bash
docker-compose pull code-server
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d code-server
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image: `docker pull lscr.io/linuxserver/code-server:latest`
* Stop the running container: `docker stop code-server`
* Delete the container: `docker rm code-server`
* Update the image:
```bash
docker pull lscr.io/linuxserver/code-server:latest
```
* Stop the running container:
```bash
docker stop code-server
```
* Delete the container:
```bash
docker rm code-server
```
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images: `docker image prune`
* You can also remove the old dangling images:
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once code-server
```
* You can also remove the old dangling images: `docker image prune`
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
```bash
docker image prune
```
### Image Update Notifications - Diun (Docker Image Update Notifier)
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally

View File

@@ -1,77 +1,55 @@
NAME VERSION TYPE
1to2 1.0.0 npm
@babel/runtime 7.22.6 npm
@coder/logger 3.0.0 npm
@google-cloud/common 3.10.0 npm
@google-cloud/logging 9.9.0 npm
@google-cloud/paginator 3.0.7 npm
@google-cloud/projectify 2.1.1 npm
@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.8 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
@microsoft/applicationinsights-core-js 2.8.4 npm
@microsoft/applicationinsights-shims 2.0.1 npm
@microsoft/dynamicproto-js 1.1.6 npm
@babel/runtime 7.23.2 npm
@coder/logger 3.0.1 npm
@mapbox/node-pre-gyp 1.0.11 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
@microsoft/applicationinsights-shims 2.0.2 npm
@microsoft/dynamicproto-js 1.1.9 npm
@parcel/watcher 2.1.0 npm
@phc/format 1.0.0 npm
@protobufjs/aspromise 1.1.2 npm
@protobufjs/base64 1.1.2 npm
@protobufjs/codegen 2.0.4 npm
@protobufjs/eventemitter 1.1.0 npm
@protobufjs/fetch 1.1.0 npm
@protobufjs/float 1.0.2 npm
@protobufjs/inquire 1.1.0 npm
@protobufjs/path 1.1.2 npm
@protobufjs/pool 1.1.0 npm
@protobufjs/utf8 1.1.0 npm
@tootallnate/once 1.1.2 npm
@tootallnate/once 2.0.0 npm
@types/long 4.0.2 npm
@types/node 16.18.18 npm
@tootallnate/once 3.0.0 npm
@tootallnate/quickjs-emscripten 0.23.0 npm
@vscode/iconv-lite-umd 0.7.0 npm
@vscode/proxy-agent 0.14.1 npm
@vscode/ripgrep 1.15.5 npm
@vscode/spdlog 0.13.10 npm
@vscode/proxy-agent 0.18.2 npm
@vscode/ripgrep 1.15.9 npm
@vscode/spdlog 0.13.12 npm
@vscode/vscode-languagedetection 1.0.21 npm
@vscode/windows-process-tree 0.5.0 npm
@vscode/windows-registry 1.1.0 npm
@xterm/addon-canvas 0.6.0-beta.14 npm
@xterm/addon-image 0.7.0-beta.12 npm
@xterm/addon-search 0.14.0-beta.14 npm
@xterm/addon-serialize 0.12.0-beta.14 npm
@xterm/addon-unicode11 0.7.0-beta.14 npm
@xterm/addon-webgl 0.17.0-beta.14 npm
@xterm/headless 5.4.0-beta.14 npm
@xterm/xterm 5.4.0-beta.14 npm
abbrev 1.1.1 npm
abort-controller 3.0.0 npm
accepts 1.3.7 npm
acorn 8.8.2 npm
acorn-walk 8.2.0 npm
accepts 1.3.8 npm
adduser 3.118ubuntu5 deb
agent-base 4.2.0 npm
agent-base 4.3.0 npm
agent-base 6.0.2 npm
agent-base 7.1.0 npm
ansi-regex 2.1.1 npm
ansi-regex 5.0.1 npm
ansi-styles 4.3.0 npm
aproba 1.2.0 npm
aproba 2.0.0 npm
apt 2.4.10 deb
apt-utils 2.4.10 deb
are-we-there-yet 1.1.7 npm
apt 2.4.11 deb
apt-utils 2.4.11 deb
are-we-there-yet 2.0.0 npm
argon2 0.30.3 npm
argon2 0.31.1 npm
argparse 2.0.1 npm
array-flatten 2.1.1 npm
arrify 2.0.1 npm
ast-types 0.13.4 npm
balanced-match 1.0.2 npm
base-files 12ubuntu4.3 deb
base-passwd 3.5.52build1 deb
base64-js 1.5.1 npm
bash 5.1-6ubuntu1 deb
bash 5.1.16 binary
basic-ftp 5.0.3 npm
bat 1.0.0 npm
beep-boop 1.2.3 npm
bignumber.js 9.1.1 npm
bindings 1.5.0 npm
bl 4.1.0 npm
body-parser 1.19.0 npm
@@ -82,24 +60,17 @@ buffer 5.7.1
buffer-alloc 1.2.0 npm
buffer-alloc-unsafe 1.1.0 npm
buffer-crc32 0.2.13 npm
buffer-equal-constant-time 1.0.1 npm
buffer-fill 1.0.0 npm
builtin-notebook-renderers 1.0.0 npm
bytes 3.0.0 npm
bytes 3.1.0 npm
ca-certificates 20230311ubuntu0.22.04.1 deb
call-bind 1.0.2 npm
charenc 0.0.2 npm
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.16.1 npm
code-server 4.20.1 npm
coffeescript 1.0.0 npm
color-convert 2.0.1 npm
color-name 1.1.4 npm
color-support 1.1.3 npm
compressible 2.0.18 npm
compression 1.7.4 npm
@@ -107,18 +78,19 @@ concat-map 0.0.1
configuration-editing 1.0.0 npm
console-control-strings 1.1.0 npm
content-disposition 0.5.3 npm
content-type 1.0.4 npm
content-type 1.0.5 npm
cookie 0.4.0 npm
cookie-parser 1.4.5 npm
cookie 0.4.1 npm
cookie-parser 1.4.6 npm
cookie-signature 1.0.6 npm
core-util-is 1.0.2 npm
coreutils 8.32-4.1ubuntu1 deb
cpp 1.0.0 npm
cron 3.0pl1-137ubuntu3 deb
crypt 0.0.2 npm
csharp 1.0.0 npm
css 1.0.0 npm
css-language-features 1.0.0 npm
curl 7.81.0-1ubuntu1.13 deb
curl 7.81.0-1ubuntu1.15 deb
dart 1.0.0 npm
dash 0.5.11+git20210903+057cd650a4ed-3build1 deb
data-uri-to-buffer 5.0.1 npm
@@ -126,75 +98,55 @@ debconf 1.5.79ubuntu1
debianutils 5.5-1ubuntu2 deb
debug 2.6.9 npm
debug 3.1.0 npm
debug 4.1.1 npm
debug 4.3.1 npm
debug 4.3.4 npm
debug-auto-launch 1.0.0 npm
debug-server-ready 1.0.0 npm
decompress-response 6.0.0 npm
deep-extend 0.6.0 npm
deep-is 0.1.4 npm
degenerator 4.0.2 npm
degenerator 5.0.1 npm
delegates 1.0.0 npm
depd 1.1.2 npm
destroy 1.0.4 npm
detect-libc 2.0.1 npm
detect-libc 2.0.2 npm
diff 1.0.0 npm
diffutils 1:3.8-0ubuntu2 deb
dirmngr 2.2.27-3ubuntu2.1 deb
docker 1.0.0 npm
dot-prop 6.0.1 npm
dpkg 1.21.1ubuntu2.2 deb
duplexify 4.1.2 npm
e2fsprogs 1.46.5-2ubuntu1.1 deb
ecdsa-sig-formatter 1.0.11 npm
ee-first 1.1.1 npm
emmet 1.0.0 npm
emoji-regex 8.0.0 npm
encodeurl 1.0.2 npm
end-of-stream 1.4.4 npm
ent 2.2.0 npm
env-paths 2.2.1 npm
es6-promise 4.2.4 npm
es6-promisify 5.0.0 npm
es6-promisify 6.1.1 npm
escalade 3.1.1 npm
es6-promisify 7.0.0 npm
escape-html 1.0.3 npm
escodegen 1.14.3 npm
escodegen 2.1.0 npm
esprima 4.0.1 npm
estraverse 4.3.0 npm
estraverse 5.3.0 npm
esutils 2.0.3 npm
etag 1.8.1 npm
event-target-shim 5.0.1 npm
eventemitter3 4.0.7 npm
eventid 2.0.1 npm
expand-template 2.0.3 npm
express 5.0.0-alpha.8 npm
extend 3.0.2 npm
extension-editing 1.0.0 npm
fast-levenshtein 2.0.6 npm
fast-text-encoding 1.0.6 npm
fd-slicer 1.1.0 npm
file-uri-to-path 1.0.0 npm
fill-range 7.0.1 npm
finalhandler 1.1.2 npm
findutils 4.8.0-1ubuntu3 deb
follow-redirects 1.14.8 npm
forwarded 0.1.2 npm
follow-redirects 1.15.4 npm
forwarded 0.2.0 npm
fresh 0.5.2 npm
fs-constants 1.0.0 npm
fs-extra 8.1.0 npm
fs-minipass 2.1.0 npm
fs.realpath 1.0.0 npm
fsharp 1.0.0 npm
function-bind 1.1.1 npm
gauge 2.7.4 npm
gauge 3.0.2 npm
gaxios 4.3.3 npm
gcc-12-base 12.3.0-1ubuntu1~22.04 deb
gcp-metadata 4.3.1 npm
get-caller-file 2.0.5 npm
get-intrinsic 1.1.1 npm
get-uri 6.0.1 npm
git 1.0.0 npm
git 1:2.34.1-1ubuntu1.10 deb
@@ -208,9 +160,6 @@ gnupg 2.2.27-3ubuntu2.1
gnupg-l10n 2.2.27-3ubuntu2.1 deb
gnupg-utils 2.2.27-3ubuntu2.1 deb
go 1.0.0 npm
google-auth-library 7.14.1 npm
google-gax 2.30.5 npm
google-p12-pem 3.1.4 npm
gpg 2.2.27-3ubuntu2.1 deb
gpg-agent 2.2.27-3ubuntu2.1 deb
gpg-wks-client 2.2.27-3ubuntu2.1 deb
@@ -218,16 +167,13 @@ gpg-wks-server 2.2.27-3ubuntu2.1
gpgconf 2.2.27-3ubuntu2.1 deb
gpgsm 2.2.27-3ubuntu2.1 deb
gpgv 2.2.27-3ubuntu2.1 deb
graceful-fs 4.2.8 npm
graceful-fs 4.2.11 npm
grep 3.7-1build1 deb
groovy 1.0.0 npm
grunt 1.0.0 npm
gtoken 5.3.2 npm
gulp 1.0.0 npm
gzip 1.10-4ubuntu4.1 deb
handlebars 1.0.0 npm
has 1.0.3 npm
has-symbols 1.0.2 npm
has-unicode 2.0.1 npm
hlsl 1.0.0 npm
hostname 3.23ubuntu2 deb
@@ -236,16 +182,11 @@ html-language-features 1.0.0
http-errors 1.7.2 npm
http-errors 1.7.3 npm
http-proxy 1.18.1 npm
http-proxy-agent 2.1.0 npm
http-proxy-agent 4.0.1 npm
http-proxy-agent 5.0.0 npm
http-proxy-agent 7.0.0 npm
httpolyglot 0.1.2 npm
https-proxy-agent 2.2.4 npm
https-proxy-agent 5.0.0 npm
https-proxy-agent 5.0.1 npm
https-proxy-agent 7.0.0 npm
i18next 23.2.11 npm
https-proxy-agent 7.0.2 npm
i18next 23.7.6 npm
iconv-lite 0.4.24 npm
ieee754 1.2.1 npm
inflight 1.0.6 npm
@@ -254,44 +195,35 @@ inherits 2.0.4
ini 1.0.0 npm
ini 1.3.8 npm
init-system-helpers 1.62 deb
ip 1.1.5 npm
ip 1.1.8 npm
ip 2.0.0 npm
ipaddr.js 1.9.1 npm
ipynb 1.0.0 npm
is-buffer 1.1.6 npm
is-extglob 2.1.1 npm
is-fullwidth-code-point 1.0.0 npm
is-fullwidth-code-point 3.0.0 npm
is-glob 4.0.3 npm
is-number 7.0.0 npm
is-obj 2.0.0 npm
is-stream 2.0.1 npm
is-stream-ended 0.1.4 npm
isarray 1.0.0 npm
isexe 2.0.0 npm
jake 1.0.0 npm
java 1.0.0 npm
javascript 1.0.0 npm
jq 1.6-2.1ubuntu3 deb
js-debug 1.80.0 npm
js-debug-companion 1.1.1 npm
js-debug 1.85.0 npm
js-debug-companion 1.1.2 npm
js-yaml 4.1.0 npm
jschardet 3.0.0 npm
json 1.0.0 npm
json-bigint 1.0.0 npm
json-language-features 1.0.0 npm
jsonfile 4.0.0 npm
julia 1.0.0 npm
just-performance 4.3.0 npm
jwa 2.0.0 npm
jws 4.0.0 npm
keytar 7.9.0 npm
kerberos 2.0.1 npm
latex 1.0.0 npm
less 1.0.0 npm
less 590-1ubuntu0.22.04.1 deb
levn 0.3.0 npm
libacl1 2.3.1-1 deb
libapt-pkg6.0 2.4.10 deb
libapt-pkg6.0 2.4.11 deb
libassuan0 2.5.5-1build1 deb
libatomic1 12.3.0-1ubuntu1~22.04 deb
libattr1 1:2.5.1-1build1 deb
@@ -308,8 +240,8 @@ libcap2 1:2.44-1ubuntu0.22.04.1
libcbor0.8 0.8.0-2ubuntu1 deb
libcom-err2 1.46.5-2ubuntu1.1 deb
libcrypt1 1:4.4.27-1 deb
libcurl3-gnutls 7.81.0-1ubuntu1.13 deb
libcurl4 7.81.0-1ubuntu1.13 deb
libcurl3-gnutls 7.81.0-1ubuntu1.15 deb
libcurl4 7.81.0-1ubuntu1.15 deb
libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb
libdebconfclient0 0.261ubuntu1 deb
libedit2 3.1-20210910-1build1 deb
@@ -343,7 +275,7 @@ libmount1 2.37.2-4ubuntu3
libncurses6 6.3-2ubuntu0.1 deb
libncursesw6 6.3-2ubuntu0.1 deb
libnettle8 3.7.3-1build2 deb
libnghttp2-14 1.43.0-1build3 deb
libnghttp2-14 1.43.0-1ubuntu0.1 deb
libnpth0 1.6-3build2 deb
libnsl2 1.3.0-2build2 deb
libonig5 6.9.7.1-2build1 deb
@@ -354,7 +286,7 @@ libpam-runtime 1.4.0-11ubuntu2.3
libpam0g 1.4.0-11ubuntu2.3 deb
libpcre2-8-0 10.39-3ubuntu0.1 deb
libpcre3 2:8.39-13ubuntu0.22.04.1 deb
libperl5.34 5.34.0-3ubuntu1.2 deb
libperl5.34 5.34.0-3ubuntu1.3 deb
libprocps8 2:3.3.17-6ubuntu2 deb
libpsl5 0.21.0-1.2build2 deb
libreadline8 8.1.2-1 deb
@@ -368,9 +300,9 @@ libsemanage-common 3.3-1build2
libsemanage2 3.3-1build2 deb
libsepol2 3.3-1build1 deb
libsmartcols1 2.37.2-4ubuntu3 deb
libsqlite3-0 3.37.2-2ubuntu0.1 deb
libsqlite3-0 3.37.2-2ubuntu0.3 deb
libss2 1.46.5-2ubuntu1.1 deb
libssh-4 0.9.6-2ubuntu0.22.04.1 deb
libssh-4 0.9.6-2ubuntu0.22.04.2 deb
libssl3 3.0.2-0ubuntu1.10 deb
libstdc++6 12.3.0-1ubuntu1~22.04 deb
libsystemd0 249.11-0ubuntu3.9 deb
@@ -381,8 +313,8 @@ libtirpc3 1.3.2-2ubuntu0.1
libudev1 249.11-0ubuntu3.9 deb
libunistring2 1.0-1 deb
libuuid1 2.37.2-4ubuntu3 deb
libx11-6 2:1.7.5-1ubuntu0.2 deb
libx11-data 2:1.7.5-1ubuntu0.2 deb
libx11-6 2:1.7.5-1ubuntu0.3 deb
libx11-data 2:1.7.5-1ubuntu0.3 deb
libxau6 1:1.0.9-1build5 deb
libxcb1 1.14-3ubuntu3 deb
libxdmcp6 1:1.1.3-0ubuntu5 deb
@@ -391,13 +323,10 @@ libxmuu1 2:1.1.3-3
libxxhash0 0.8.1-1 deb
libzstd1 1.4.8+dfsg-3build1 deb
limiter 2.1.0 npm
locales 2.35-0ubuntu3.1 deb
lodash.camelcase 4.3.0 npm
locales 2.35-0ubuntu3.6 deb
log 1.0.0 npm
login 1:4.8.1-2ubuntu2.1 deb
logsave 1.46.5-2ubuntu1.1 deb
long 4.0.0 npm
long 5.2.3 npm
lru-cache 6.0.0 npm
lru-cache 7.18.3 npm
lsb-base 11.1.0ubuntu4 deb
@@ -417,14 +346,14 @@ methods 1.1.2
micromatch 4.0.5 npm
microsoft-authentication 0.0.1 npm
mime 1.6.0 npm
mime-db 1.47.0 npm
mime-types 2.1.30 npm
mime-db 1.52.0 npm
mime-types 2.1.35 npm
mimic-response 3.1.0 npm
minimatch 3.1.2 npm
minimist 1.2.6 npm
minipass 3.1.3 npm
minipass 3.3.6 npm
minipass 5.0.0 npm
minizlib 2.1.2 npm
mkdirp 0.5.6 npm
mkdirp 1.0.4 npm
mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb
@@ -437,90 +366,74 @@ napi-build-utils 1.0.2
native-watchdog 1.4.2 npm
ncurses-base 6.3-2ubuntu0.1 deb
ncurses-bin 6.3-2ubuntu0.1 deb
negotiator 0.6.2 npm
negotiator 0.6.3 npm
net-tools 1.60+git20181103.0eebece-1ubuntu5 deb
netbase 6.3 deb
netcat 1.218-4ubuntu1 deb
netcat-openbsd 1.218-4ubuntu1 deb
netmask 2.0.2 npm
node 16.20.1 binary
node 18.15.0 binary
node-abi 3.8.0 npm
node-addon-api 3.2.1 npm
node-addon-api 4.3.0 npm
node-addon-api 5.0.0 npm
node-fetch 2.6.7 npm
node-forge 1.3.1 npm
node-forge-flash 0.0.0 npm
node-addon-api 7.0.0 npm
node-fetch 2.7.0 npm
node-gyp-build 4.3.0 npm
node-pty 1.1.0-beta1 npm
node-pty 1.1.0-beta5 npm
nopt 5.0.0 npm
npm 1.0.1 npm
npmlog 4.1.2 npm
npmlog 5.0.1 npm
number-is-nan 1.0.1 npm
nw-pre-gyp-module-test 0.0.1 npm
object-assign 4.1.1 npm
object-hash 3.0.0 npm
object-inspect 1.10.2 npm
objective-c 1.0.0 npm
on-finished 2.3.0 npm
on-headers 1.0.2 npm
once 1.4.0 npm
openssh-client 1:8.9p1-3ubuntu0.3 deb
openssl 3.0.2-0ubuntu1.10 deb
optionator 0.8.3 npm
openssh-client 1:8.9p1-3ubuntu0.6 deb
openssl 3.0.2-0ubuntu1.12 deb
os-tmpdir 1.0.2 npm
pac-proxy-agent 6.0.3 npm
pac-resolver 6.0.1 npm
pac-proxy-agent 7.0.1 npm
pac-resolver 7.0.0 npm
parseurl 1.3.3 npm
passwd 1:4.8.1-2ubuntu2.1 deb
patch 2.7.6-7build2 deb
path-is-absolute 1.0.1 npm
path-to-regexp 0.1.7 npm
pem 1.14.4 npm
pem 1.14.8 npm
pend 1.2.0 npm
perl 1.0.0 npm
perl 5.34.0-3ubuntu1.2 deb
perl-base 5.34.0-3ubuntu1.2 deb
perl-modules-5.34 5.34.0-3ubuntu1.2 deb
perl 5.34.0-3ubuntu1.3 deb
perl-base 5.34.0-3ubuntu1.3 deb
perl-modules-5.34 5.34.0-3ubuntu1.3 deb
php 1.0.0 npm
php-language-features 1.0.0 npm
picomatch 2.3.1 npm
pinentry-curses 1.1.1-1build2 deb
powershell 1.0.0 npm
prebuild-install 7.0.1 npm
prelude-ls 1.1.2 npm
process-nextick-args 2.0.1 npm
prebuild-install 7.1.1 npm
procps 2:3.3.17-6ubuntu2 deb
proto3-json-serializer 0.1.9 npm
protobufjs 6.11.3 npm
protobufjs 7.2.4 npm
proxy-addr 2.0.6 npm
proxy-agent 6.2.1 npm
proxy-addr 2.0.7 npm
proxy-agent 6.3.1 npm
proxy-from-env 1.1.0 npm
publicsuffix 20211207.1025-1 deb
pug 1.0.0 npm
pump 3.0.0 npm
pumpify 2.0.1 npm
python 1.0.0 npm
qs 6.11.0 npm
qs 6.7.0 npm
qs 6.9.7 npm
r 1.0.0 npm
range-parser 1.2.1 npm
raw-body 2.4.0 npm
razor 1.0.0 npm
rc 1.2.8 npm
readable-stream 2.3.7 npm
readable-stream 3.6.0 npm
readable-stream 3.6.2 npm
readline-common 8.1.2-1 deb
references-view 1.0.0 npm
regenerator-runtime 0.13.11 npm
require-directory 2.1.1 npm
regenerator-runtime 0.14.0 npm
requires-port 1.0.0 npm
restructuredtext 1.0.0 npm
retry-request 4.2.2 npm
rimraf 3.0.2 npm
rotating-file-stream 3.1.0 npm
rotating-file-stream 3.1.1 npm
router 2.0.0-alpha.1 npm
ruby 1.0.0 npm
rust 1.0.0 npm
@@ -531,9 +444,8 @@ safer-buffer 2.1.2
scss 1.0.0 npm
search-result 1.0.0 npm
sed 4.8-1ubuntu2 deb
semver 6.3.0 npm
semver 7.3.5 npm
semver 7.5.2 npm
semver 6.3.1 npm
semver 7.5.4 npm
send 0.17.1 npm
sensible-utils 0.0.17 deb
serve-static 1.14.1 npm
@@ -542,41 +454,29 @@ setprototypeof 1.1.0
setprototypeof 1.1.1 npm
shaderlab 1.0.0 npm
shellscript 1.0.0 npm
side-channel 1.0.4 npm
signal-exit 3.0.6 npm
signal-exit 3.0.7 npm
simple-browser 1.0.0 npm
simple-concat 1.0.1 npm
simple-get 4.0.1 npm
smart-buffer 4.1.0 npm
smart-buffer 4.2.0 npm
socks 2.6.1 npm
socks 2.7.1 npm
socks-proxy-agent 5.0.0 npm
socks-proxy-agent 8.0.1 npm
socks-proxy-agent 8.0.2 npm
source-map 0.6.1 npm
sql 1.0.0 npm
statuses 1.5.0 npm
stream-events 1.0.5 npm
stream-shift 1.0.1 npm
string-width 1.0.2 npm
string-width 4.2.2 npm
string-width 4.2.3 npm
string_decoder 1.1.1 npm
string_decoder 1.3.0 npm
strip-ansi 3.0.1 npm
strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm
stubs 3.0.0 npm
sudo 1.9.9-1ubuntu2.4 deb
swift 1.0.0 npm
sysvinit-utils 3.01-1ubuntu1 deb
tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb
tar 6.1.11 npm
tar 6.2.0 npm
tar-fs 2.1.1 npm
tar-stream 2.2.0 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
theme-kimbie-dark 1.0.0 npm
@@ -590,14 +490,14 @@ theme-tomorrow-night-blue 1.0.0
to-regex-range 5.0.1 npm
toidentifier 1.0.0 npm
tr46 0.0.3 npm
tslib 2.3.1 npm
tslib 2.6.2 npm
tunnel-agent 0.6.0 npm
type-check 0.3.2 npm
tunnel-forwarding 1.0.0 npm
type-is 1.6.18 npm
typescript 1.0.0 npm
typescript 5.1.6 npm
typescript 5.3.2 npm
typescript-language-features 1.0.0 npm
tzdata 2023c-0ubuntu0.22.04.2 deb
tzdata 2023d-0ubuntu0.22.04 deb
ubuntu-keyring 2021.03.26 deb
universalify 0.1.2 npm
unpipe 1.0.0 npm
@@ -605,47 +505,30 @@ usrmerge 25ubuntu2
util-deprecate 1.0.2 npm
util-linux 2.37.2-4ubuntu3 deb
utils-merge 1.0.1 npm
uuid 8.3.2 npm
vary 1.1.2 npm
vb 1.0.0 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-js-profile-table 1.0.8 npm
vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.4.0-alpha.5 npm
vscode-markdown-languageserver 0.4.0-alpha.8 npm
vscode-oniguruma 1.7.0 npm
vscode-regexpp 3.1.0 npm
vscode-reh 1.80.2 npm
vscode-reh 1.85.2 npm
vscode-textmate 9.0.0 npm
vscode-theme-seti 1.0.0 npm
webidl-conversions 3.0.1 npm
whatwg-url 5.0.0 npm
which 2.0.2 npm
wide-align 1.1.5 npm
word-wrap 1.2.4 npm
wrap-ansi 7.0.0 npm
wrappy 1.0.2 npm
ws 8.13.0 npm
ws 8.14.2 npm
xauth 1:1.1-1build2 deb
xdg-basedir 4.0.0 npm
xml 1.0.0 npm
xterm 5.3.0-beta.3 npm
xterm-addon-canvas 0.5.0-beta.2 npm
xterm-addon-image 0.4.1 npm
xterm-addon-search 0.13.0-beta.2 npm
xterm-addon-serialize 0.11.0-beta.2 npm
xterm-addon-unicode11 0.5.0 npm
xterm-addon-webgl 0.16.0-beta.2 npm
xterm-headless 5.3.0-beta.3 npm
y18n 5.0.8 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