Compare commits

...

18 Commits

Author SHA1 Message Date
LinuxServer-CI
e785f33bc1 Bot Updating Package Versions 2023-06-26 18:44:39 +00:00
LinuxServer-CI
d35b78301a Bot Updating Package Versions 2023-06-16 21:41:41 +00:00
LinuxServer-CI
624f63de3b Bot Updating Package Versions 2023-06-10 20:18:41 +00:00
LinuxServer-CI
8d3dd4a1b3 Bot Updating Package Versions 2023-06-03 20:16:54 +00:00
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
LinuxServer-CI
675ec78a74 Bot Updating Package Versions 2023-04-29 15:20:49 -05:00
LinuxServer-CI
16d7bd96af Bot Updating Templated Files 2023-04-29 15:17:11 -05:00
LinuxServer-CI
66da21de61 Bot Updating Templated Files 2023-04-29 15:15:34 -05:00
LinuxServer-CI
b8bcdc44b7 Bot Updating Package Versions 2023-04-21 18:45:35 +00:00
LinuxServer-CI
c2f09a6bb3 Bot Updating Package Versions 2023-04-15 15:16:58 -05:00
LinuxServer-CI
2a54204888 Bot Updating Templated Files 2023-04-02 07:28:31 -05:00
LinuxServer-CI
c8a2ba1566 Bot Updating Templated Files 2023-04-02 07:26:58 -05:00
LinuxServer-CI
ae51d14720 Bot Updating Templated Files 2023-04-02 07:25:29 -05:00
LinuxServer-CI
cb8df4d4ef Bot Updating Package Versions 2023-03-26 07:27:26 -05:00
LinuxServer-CI
8be39c9293 Bot Updating Package Versions 2023-03-16 19:49:00 +01:00
LinuxServer-CI
b83040e88f Bot Updating Package Versions 2023-03-12 07:28:49 -05:00
11 changed files with 277 additions and 218 deletions

View File

@@ -1,12 +0,0 @@
name: Comment on invalid interaction
on:
issues:
types:
- labeled
jobs:
add-comment-on-invalid:
if: github.event.label.name == 'invalid'
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
secrets: inherit

16
.github/workflows/call_issue_pr_tracker.yml vendored Executable file
View File

@@ -0,0 +1,16 @@
name: Issue & PR Tracker
on:
issues:
types: [opened,reopened,labeled,unlabeled,closed]
pull_request_target:
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
pull_request_review:
types: [submitted,edited,dismissed]
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

13
.github/workflows/call_issues_cron.yml vendored Executable file
View File

@@ -0,0 +1,13 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '31 1 * * *'
workflow_dispatch:
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

View File

@@ -14,9 +14,11 @@ jobs:
run: | run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER }}" ]; then if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger. ****" echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger. ****"
echo "Github secret \`PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
fi fi
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER\". ****" echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER\". ****"
echo "External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER\`" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving external version ****" echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/coder/code-server/releases/latest | jq -r '.tag_name' | sed 's|^v||') EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/coder/code-server/releases/latest | jq -r '.tag_name' | sed 's|^v||')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
@@ -30,6 +32,7 @@ jobs:
fi fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g') EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****" echo "**** External version: ${EXT_RELEASE} ****"
echo "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving last pushed version ****" echo "**** Retrieving last pushed version ****"
image="linuxserver/code-server" image="linuxserver/code-server"
tag="latest" tag="latest"
@@ -65,14 +68,18 @@ jobs:
exit 1 exit 1
fi fi
echo "**** Last pushed version: ${IMAGE_VERSION} ****" echo "**** Last pushed version: ${IMAGE_VERSION} ****"
echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****" echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****" echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
echo "New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
else else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****" echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
echo "New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \ response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/buildWithParameters?PACKAGE_CHECK=false \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
@@ -82,6 +89,7 @@ jobs:
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}" buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****" echo "**** Jenkins job build url: ${buildurl} ****"
echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
echo "**** Attempting to change the Jenkins job description ****" echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \ curl -iX POST \
"${buildurl}submitDescription" \ "${buildurl}submitDescription" \

View File

@@ -2,7 +2,7 @@ name: External Trigger Scheduler
on: on:
schedule: schedule:
- cron: '41 * * * *' - cron: '32 * * * *'
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -17,18 +17,18 @@ jobs:
run: | run: |
echo "**** Branches found: ****" echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do do
br=$(echo "$br" | sed 's|origin/||g') br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****" echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml \ ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml)
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch) ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
if [ "$br" == "$ls_branch" ]; then ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
echo "**** Branch ${br} appears to be live; checking workflow. ****" if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "**** Branch ${br} appears to be live and trigger is not os; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****." echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
curl -iX POST \ curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \ -H "Accept: application/vnd.github.v3+json" \
@@ -36,8 +36,10 @@ jobs:
https://api.github.com/repos/linuxserver/docker-code-server/actions/workflows/external_trigger.yml/dispatches https://api.github.com/repos/linuxserver/docker-code-server/actions/workflows/external_trigger.yml/dispatches
else else
echo "**** Workflow doesn't exist; skipping trigger. ****" echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi fi
else else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****" echo "**** ${br} is either a dev branch, or has no external version; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi fi
done done

View File

@@ -14,13 +14,16 @@ jobs:
run: | run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER }}" ]; then if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger. ****" echo "**** Github secret PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger. ****"
echo "Github secret \`PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
fi fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****" echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
fi fi
echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER\". ****" echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER\". ****"
echo "Package trigger running off of master branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER\`" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \ response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/buildWithParameters?PACKAGE_CHECK=true \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
@@ -30,6 +33,7 @@ jobs:
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}" buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****" echo "**** Jenkins job build url: ${buildurl} ****"
echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
echo "**** Attempting to change the Jenkins job description ****" echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \ curl -iX POST \
"${buildurl}submitDescription" \ "${buildurl}submitDescription" \

View File

@@ -2,7 +2,7 @@ name: Package Trigger Scheduler
on: on:
schedule: schedule:
- cron: '00 12 * * 0' - cron: '0 20 * * 6'
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -17,18 +17,16 @@ jobs:
run: | run: |
echo "**** Branches found: ****" echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do do
br=$(echo "$br" | sed 's|origin/||g') br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****" echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml \ ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml | yq -r '.ls_branch')
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "${br}" == "${ls_branch}" ]; then if [ "${br}" == "${ls_branch}" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****" echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****" echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
triggered_branches="${triggered_branches}${br} " triggered_branches="${triggered_branches}${br} "
curl -iX POST \ curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Authorization: token ${{ secrets.CR_PAT }}" \
@@ -38,9 +36,11 @@ jobs:
sleep 30 sleep 30
else else
echo "**** Workflow doesn't exist; skipping trigger. ****" echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi fi
else else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****" echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
fi fi
done done
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"

View File

@@ -1,9 +1,10 @@
name: Permission check name: Permission check
on: on:
pull_request: pull_request_target:
paths: paths:
- '**/run' - '**/run'
- '**/finish' - '**/finish'
- '**/check'
jobs: jobs:
permission_check: permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1 uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

View File

@@ -1,23 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6.0.1
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 30
days-before-close: 365
exempt-issue-labels: 'awaiting-approval,work-in-progress'
exempt-pr-labels: 'awaiting-approval,work-in-progress'
repo-token: ${{ secrets.GITHUB_TOKEN }}

215
Jenkinsfile vendored
View File

@@ -39,10 +39,16 @@ pipeline {
// Setup all the basic environment variables needed for the build // Setup all the basic environment variables needed for the build
stage("Set ENV Variables base"){ stage("Set ENV Variables base"){
steps{ steps{
sh '''#! /bin/bash
containers=$(docker ps -aq)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || : '''
script{ script{
env.EXIT_STATUS = '' env.EXIT_STATUS = ''
env.LS_RELEASE = sh( env.LS_RELEASE = sh(
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', 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() returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh( env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''', script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -56,7 +62,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT 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.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID 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/stale.yml ./.github/workflows/call_invalid_helper.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml' 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'
} }
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
@@ -203,12 +209,12 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') { 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 { } 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.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 + '-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.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.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/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
@@ -228,19 +234,16 @@ pipeline {
script{ script{
env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml' env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
} }
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash''' sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-jenkins-builder/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash sh '''#! /bin/bash
set -e
docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
docker run --rm \ docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \ -v ${WORKSPACE}:/mnt \
-e FILE_NAME="shellcheck-result.xml" \ -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e MIMETYPE="text/xml" \ -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
-v ${WORKSPACE}:/mnt \ ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
-e SECRET_KEY=\"${S3_SECRET}\" \ apk add --no-cache py3-pip && \
-e ACCESS_KEY=\"${S3_KEY}\" \ pip install s3cmd && \
-t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \ s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
python /upload.py'''
} }
} }
} }
@@ -277,7 +280,7 @@ pipeline {
echo "Jenkinsfile is up to date." echo "Jenkinsfile is up to date."
fi fi
# Stage 2 - Delete old templates # Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md" 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"
for i in ${OLD_TEMPLATES}; do for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -294,7 +297,7 @@ pipeline {
git commit -m 'Bot Updating Templated Files' git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old templates" echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR} rm -Rf ${TEMPDIR}
exit 0 exit 0
else else
@@ -339,6 +342,8 @@ pipeline {
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/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 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 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 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 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/ cd ${TEMPDIR}/unraid/templates/
@@ -379,6 +384,26 @@ pipeline {
} }
} }
} }
// If this is a master build check the S6 service file perms
stage("Check S6 Service file Permissions"){
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
script{
sh '''#! /bin/bash
WRONG_PERM=$(find ./ -path "./.git" -prune -o \\( -name "run" -o -name "finish" -o -name "check" \\) -not -perm -u=x,g=x,o=x -print)
if [[ -n "${WRONG_PERM}" ]]; then
echo "The following S6 service files are missing the executable bit; canceling the faulty build: ${WRONG_PERM}"
exit 1
else
echo "S6 service file perms look good."
fi '''
}
}
}
/* ####################### /* #######################
GitLab Mirroring GitLab Mirroring
####################### */ ####################### */
@@ -410,8 +435,7 @@ pipeline {
} }
steps{ steps{
sh '''#! /bin/bash 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 if [ -z "${PACKAGE_UUID}" ]; then
echo "Adding package to Scarf.sh" echo "Adding package to Scarf.sh"
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \ curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -521,9 +545,12 @@ pipeline {
retry(5) { retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
} }
sh '''docker rmi \ sh '''#! /bin/bash
${IMAGE}:arm32v7-${META_TAG} \ containers=$(docker ps -aq)
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :''' if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || : '''
} }
} }
stage('Build ARM64') { stage('Build ARM64') {
@@ -556,9 +583,12 @@ pipeline {
retry(5) { retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
} }
sh '''docker rmi \ sh '''#! /bin/bash
${IMAGE}:arm64v8-${META_TAG} \ containers=$(docker ps -aq)
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :''' if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || : '''
} }
} }
} }
@@ -619,13 +649,6 @@ pipeline {
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps { 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{ script{
env.EXIT_STATUS = 'ABORTED' env.EXIT_STATUS = 'ABORTED'
} }
@@ -643,13 +666,6 @@ pipeline {
} }
} }
steps { 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{ script{
env.EXIT_STATUS = 'ABORTED' env.EXIT_STATUS = 'ABORTED'
} }
@@ -671,6 +687,7 @@ pipeline {
]) { ]) {
script{ script{
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html' 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'
} }
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
@@ -697,8 +714,6 @@ pipeline {
-e WEB_SCREENSHOT=\"${CI_WEB}\" \ -e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \ -e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \ -e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t ghcr.io/linuxserver/ci:latest \ -t ghcr.io/linuxserver/ci:latest \
python3 test_build.py''' python3 test_build.py'''
} }
@@ -751,17 +766,6 @@ pipeline {
done 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
'''
} }
} }
} }
@@ -855,29 +859,6 @@ pipeline {
done 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} || :
'''
} }
} }
} }
@@ -948,12 +929,78 @@ pipeline {
stage('Pull Request Comment') { stage('Pull Request Comment') {
when { when {
not {environment name: 'CHANGE_ID', value: ''} not {environment name: 'CHANGE_ID', value: ''}
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps { steps {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \ sh '''#! /bin/bash
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' ''' # 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
'''
} }
} }
} }
@@ -979,6 +1026,14 @@ pipeline {
} }
} }
cleanup { 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() cleanWs()
} }
} }

View File

@@ -9,7 +9,7 @@ NAME VERSION
@google-cloud/promisify 2.0.4 npm @google-cloud/promisify 2.0.4 npm
@grpc/grpc-js 1.6.12 npm @grpc/grpc-js 1.6.12 npm
@grpc/proto-loader 0.6.13 npm @grpc/proto-loader 0.6.13 npm
@grpc/proto-loader 0.7.5 npm @grpc/proto-loader 0.7.7 npm
@mapbox/node-pre-gyp 1.0.10 npm @mapbox/node-pre-gyp 1.0.10 npm
@microsoft/1ds-core-js 3.2.3 npm @microsoft/1ds-core-js 3.2.3 npm
@microsoft/1ds-post-js 3.2.3 npm @microsoft/1ds-post-js 3.2.3 npm
@@ -31,26 +31,29 @@ NAME VERSION
@tootallnate/once 1.1.2 npm @tootallnate/once 1.1.2 npm
@tootallnate/once 2.0.0 npm @tootallnate/once 2.0.0 npm
@types/long 4.0.2 npm @types/long 4.0.2 npm
@types/node 16.11.41 npm @types/node 16.18.18 npm
@vscode/iconv-lite-umd 0.7.0 npm @vscode/iconv-lite-umd 0.7.0 npm
@vscode/ripgrep 1.14.2 npm @vscode/proxy-agent 0.13.2 npm
@vscode/ripgrep 1.15.3 npm
@vscode/spdlog 0.13.10 npm
@vscode/vscode-languagedetection 1.0.21 npm @vscode/vscode-languagedetection 1.0.21 npm
abbrev 1.1.1 npm abbrev 1.1.1 npm
abort-controller 3.0.0 npm abort-controller 3.0.0 npm
accepts 1.3.7 npm accepts 1.3.7 npm
acorn 8.7.0 npm acorn 8.8.2 npm
acorn-walk 8.2.0 npm acorn-walk 8.2.0 npm
adduser 3.118ubuntu5 deb adduser 3.118ubuntu5 deb
agent-base 4.2.0 npm agent-base 4.2.0 npm
agent-base 4.3.0 npm agent-base 4.3.0 npm
agent-base 6.0.2 npm agent-base 6.0.2 npm
agent-base 7.1.0 npm
ansi-regex 2.1.1 npm ansi-regex 2.1.1 npm
ansi-regex 5.0.1 npm ansi-regex 5.0.1 npm
ansi-styles 4.3.0 npm ansi-styles 4.3.0 npm
aproba 1.2.0 npm aproba 1.2.0 npm
aproba 2.0.0 npm aproba 2.0.0 npm
apt 2.4.8 deb apt 2.4.9 deb
apt-utils 2.4.8 deb apt-utils 2.4.9 deb
are-we-there-yet 1.1.7 npm are-we-there-yet 1.1.7 npm
are-we-there-yet 2.0.0 npm are-we-there-yet 2.0.0 npm
argon2 0.30.3 npm argon2 0.30.3 npm
@@ -63,6 +66,7 @@ base-files 12ubuntu4.3
base-passwd 3.5.52build1 deb base-passwd 3.5.52build1 deb
base64-js 1.5.1 npm base64-js 1.5.1 npm
bash 5.1-6ubuntu1 deb bash 5.1-6ubuntu1 deb
basic-ftp 5.0.3 npm
bat 1.0.0 npm bat 1.0.0 npm
beep-boop 1.2.3 npm beep-boop 1.2.3 npm
bignumber.js 9.1.1 npm bignumber.js 9.1.1 npm
@@ -81,16 +85,16 @@ buffer-fill 1.0.0
builtin-notebook-renderers 1.0.0 npm builtin-notebook-renderers 1.0.0 npm
bytes 3.0.0 npm bytes 3.0.0 npm
bytes 3.1.0 npm bytes 3.1.0 npm
bytes 3.1.1 npm ca-certificates 20230311ubuntu0.22.04.1 deb
ca-certificates 20211016ubuntu0.22.04.1 deb
call-bind 1.0.2 npm call-bind 1.0.2 npm
charenc 0.0.2 npm charenc 0.0.2 npm
chownr 1.1.4 npm chownr 1.1.4 npm
chownr 2.0.0 npm chownr 2.0.0 npm
cliui 7.0.4 npm cliui 7.0.4 npm
cliui 8.0.1 npm
clojure 1.0.0 npm clojure 1.0.0 npm
code-point-at 1.1.0 npm code-point-at 1.1.0 npm
code-server 4.10.1 npm code-server 4.14.1 npm
coffeescript 1.0.0 npm coffeescript 1.0.0 npm
color-convert 2.0.1 npm color-convert 2.0.1 npm
color-name 1.1.4 npm color-name 1.1.4 npm
@@ -106,17 +110,16 @@ cookie 0.4.0
cookie-parser 1.4.5 npm cookie-parser 1.4.5 npm
cookie-signature 1.0.6 npm cookie-signature 1.0.6 npm
core-util-is 1.0.2 npm core-util-is 1.0.2 npm
core-util-is 1.0.3 npm
coreutils 8.32-4.1ubuntu1 deb coreutils 8.32-4.1ubuntu1 deb
cpp 1.0.0 npm cpp 1.0.0 npm
crypt 0.0.2 npm crypt 0.0.2 npm
csharp 1.0.0 npm csharp 1.0.0 npm
css 1.0.0 npm css 1.0.0 npm
css-language-features 1.0.0 npm css-language-features 1.0.0 npm
curl 7.81.0-1ubuntu1.8 deb curl 7.81.0-1ubuntu1.10 deb
dart 1.0.0 npm dart 1.0.0 npm
dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb
data-uri-to-buffer 3.0.1 npm data-uri-to-buffer 5.0.1 npm
debconf 1.5.79ubuntu1 deb debconf 1.5.79ubuntu1 deb
debianutils 5.5-1ubuntu2 deb debianutils 5.5-1ubuntu2 deb
debug 2.6.9 npm debug 2.6.9 npm
@@ -129,7 +132,7 @@ debug-server-ready 1.0.0
decompress-response 6.0.0 npm decompress-response 6.0.0 npm
deep-extend 0.6.0 npm deep-extend 0.6.0 npm
deep-is 0.1.4 npm deep-is 0.1.4 npm
degenerator 3.0.1 npm degenerator 4.0.2 npm
delegates 1.0.0 npm delegates 1.0.0 npm
depd 1.1.2 npm depd 1.1.2 npm
destroy 1.0.4 npm destroy 1.0.4 npm
@@ -139,7 +142,7 @@ diffutils 1:3.8-0ubuntu2
dirmngr 2.2.27-3ubuntu2.1 deb dirmngr 2.2.27-3ubuntu2.1 deb
docker 1.0.0 npm docker 1.0.0 npm
dot-prop 6.0.1 npm dot-prop 6.0.1 npm
dpkg 1.21.1ubuntu2.1 deb dpkg 1.21.1ubuntu2.2 deb
duplexify 4.1.2 npm duplexify 4.1.2 npm
e2fsprogs 1.46.5-2ubuntu1.1 deb e2fsprogs 1.46.5-2ubuntu1.1 deb
ecdsa-sig-formatter 1.0.11 npm ecdsa-sig-formatter 1.0.11 npm
@@ -171,7 +174,6 @@ fast-levenshtein 2.0.6
fast-text-encoding 1.0.6 npm fast-text-encoding 1.0.6 npm
fd-slicer 1.1.0 npm fd-slicer 1.1.0 npm
file-uri-to-path 1.0.0 npm file-uri-to-path 1.0.0 npm
file-uri-to-path 2.0.0 npm
fill-range 7.0.1 npm fill-range 7.0.1 npm
finalhandler 1.1.2 npm finalhandler 1.1.2 npm
findutils 4.8.0-1ubuntu3 deb findutils 4.8.0-1ubuntu3 deb
@@ -183,7 +185,6 @@ fs-extra 8.1.0
fs-minipass 2.1.0 npm fs-minipass 2.1.0 npm
fs.realpath 1.0.0 npm fs.realpath 1.0.0 npm
fsharp 1.0.0 npm fsharp 1.0.0 npm
ftp 0.3.10 npm
function-bind 1.1.1 npm function-bind 1.1.1 npm
gauge 2.7.4 npm gauge 2.7.4 npm
gauge 3.0.2 npm gauge 3.0.2 npm
@@ -192,11 +193,11 @@ gcc-12-base 12.1.0-2ubuntu1~22.04
gcp-metadata 4.3.1 npm gcp-metadata 4.3.1 npm
get-caller-file 2.0.5 npm get-caller-file 2.0.5 npm
get-intrinsic 1.1.1 npm get-intrinsic 1.1.1 npm
get-uri 3.0.2 npm get-uri 6.0.1 npm
git 1.0.0 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-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 0.0.1 npm
github-authentication 0.0.2 npm github-authentication 0.0.2 npm
github-from-package 0.0.0 npm github-from-package 0.0.0 npm
@@ -232,15 +233,17 @@ html 1.0.0
html-language-features 1.0.0 npm html-language-features 1.0.0 npm
http-errors 1.7.2 npm http-errors 1.7.2 npm
http-errors 1.7.3 npm http-errors 1.7.3 npm
http-errors 1.8.1 npm
http-proxy 1.18.1 npm http-proxy 1.18.1 npm
http-proxy-agent 2.1.0 npm http-proxy-agent 2.1.0 npm
http-proxy-agent 4.0.1 npm http-proxy-agent 4.0.1 npm
http-proxy-agent 5.0.0 npm http-proxy-agent 5.0.0 npm
http-proxy-agent 7.0.0 npm
httpolyglot 0.1.2 npm httpolyglot 0.1.2 npm
https-proxy-agent 2.2.4 npm https-proxy-agent 2.2.4 npm
https-proxy-agent 5.0.0 npm https-proxy-agent 5.0.0 npm
i18next 22.4.6 npm https-proxy-agent 5.0.1 npm
https-proxy-agent 7.0.0 npm
i18next 22.5.1 npm
iconv-lite 0.4.24 npm iconv-lite 0.4.24 npm
ieee754 1.2.1 npm ieee754 1.2.1 npm
inflight 1.0.6 npm inflight 1.0.6 npm
@@ -250,6 +253,7 @@ ini 1.0.0
ini 1.3.8 npm ini 1.3.8 npm
init-system-helpers 1.62 deb init-system-helpers 1.62 deb
ip 1.1.5 npm ip 1.1.5 npm
ip 2.0.0 npm
ipaddr.js 1.9.1 npm ipaddr.js 1.9.1 npm
ipynb 1.0.0 npm ipynb 1.0.0 npm
is-buffer 1.1.6 npm is-buffer 1.1.6 npm
@@ -261,14 +265,13 @@ is-number 7.0.0
is-obj 2.0.0 npm is-obj 2.0.0 npm
is-stream 2.0.1 npm is-stream 2.0.1 npm
is-stream-ended 0.1.4 npm is-stream-ended 0.1.4 npm
isarray 0.0.1 npm
isarray 1.0.0 npm isarray 1.0.0 npm
isexe 2.0.0 npm isexe 2.0.0 npm
jake 1.0.0 npm jake 1.0.0 npm
java 1.0.0 npm java 1.0.0 npm
javascript 1.0.0 npm javascript 1.0.0 npm
jq 1.6-2.1ubuntu3 deb jq 1.6-2.1ubuntu3 deb
js-debug 1.75.1 npm js-debug 1.78.0 npm
js-debug-companion 1.0.18 npm js-debug-companion 1.0.18 npm
js-yaml 4.1.0 npm js-yaml 4.1.0 npm
jschardet 3.0.0 npm jschardet 3.0.0 npm
@@ -286,7 +289,7 @@ less 1.0.0
less 590-1ubuntu0.22.04.1 deb less 590-1ubuntu0.22.04.1 deb
levn 0.3.0 npm levn 0.3.0 npm
libacl1 2.3.1-1 deb libacl1 2.3.1-1 deb
libapt-pkg6.0 2.4.8 deb libapt-pkg6.0 2.4.9 deb
libassuan0 2.5.5-1build1 deb libassuan0 2.5.5-1build1 deb
libatomic1 12.1.0-2ubuntu1~22.04 deb libatomic1 12.1.0-2ubuntu1~22.04 deb
libattr1 1:2.5.1-1build1 deb libattr1 1:2.5.1-1build1 deb
@@ -303,8 +306,8 @@ libcap2 1:2.44-1build3
libcbor0.8 0.8.0-2ubuntu1 deb libcbor0.8 0.8.0-2ubuntu1 deb
libcom-err2 1.46.5-2ubuntu1.1 deb libcom-err2 1.46.5-2ubuntu1.1 deb
libcrypt1 1:4.4.27-1 deb libcrypt1 1:4.4.27-1 deb
libcurl3-gnutls 7.81.0-1ubuntu1.8 deb libcurl3-gnutls 7.81.0-1ubuntu1.10 deb
libcurl4 7.81.0-1ubuntu1.8 deb libcurl4 7.81.0-1ubuntu1.10 deb
libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb
libdebconfclient0 0.261ubuntu1 deb libdebconfclient0 0.261ubuntu1 deb
libedit2 3.1-20210910-1build1 deb libedit2 3.1-20210910-1build1 deb
@@ -318,25 +321,25 @@ libgcrypt20 1.9.4-3ubuntu3
libgdbm-compat4 1.23-1 deb libgdbm-compat4 1.23-1 deb
libgdbm6 1.23-1 deb libgdbm6 1.23-1 deb
libgmp10 2:6.2.1+dfsg-3ubuntu1 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb
libgnutls30 3.7.3-4ubuntu1.1 deb libgnutls30 3.7.3-4ubuntu1.2 deb
libgpg-error0 1.43-3 deb libgpg-error0 1.43-3 deb
libgssapi-krb5-2 1.19.2-2ubuntu0.1 deb libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb
libhogweed6 3.7.3-1build2 deb libhogweed6 3.7.3-1build2 deb
libidn2-0 2.3.2-2build1 deb libidn2-0 2.3.2-2build1 deb
libjq1 1.6-2.1ubuntu3 deb libjq1 1.6-2.1ubuntu3 deb
libk5crypto3 1.19.2-2ubuntu0.1 deb libk5crypto3 1.19.2-2ubuntu0.2 deb
libkeyutils1 1.6.1-2ubuntu3 deb libkeyutils1 1.6.1-2ubuntu3 deb
libkrb5-3 1.19.2-2ubuntu0.1 deb libkrb5-3 1.19.2-2ubuntu0.2 deb
libkrb5support0 1.19.2-2ubuntu0.1 deb libkrb5support0 1.19.2-2ubuntu0.2 deb
libksba8 1.6.0-2ubuntu0.2 deb libksba8 1.6.0-2ubuntu0.2 deb
libldap-2.5-0 2.5.13+dfsg-0ubuntu0.22.04.1 deb libldap-2.5-0 2.5.14+dfsg-0ubuntu0.22.04.2 deb
libldap-common 2.5.13+dfsg-0ubuntu0.22.04.1 deb libldap-common 2.5.14+dfsg-0ubuntu0.22.04.2 deb
liblz4-1 1.9.3-2build2 deb liblz4-1 1.9.3-2build2 deb
liblzma5 5.2.5-2ubuntu1 deb liblzma5 5.2.5-2ubuntu1 deb
libmd0 1.0.4-1build1 deb libmd0 1.0.4-1build1 deb
libmount1 2.37.2-4ubuntu3 deb libmount1 2.37.2-4ubuntu3 deb
libncurses6 6.3-2 deb libncurses6 6.3-2ubuntu0.1 deb
libncursesw6 6.3-2 deb libncursesw6 6.3-2ubuntu0.1 deb
libnettle8 3.7.3-1build2 deb libnettle8 3.7.3-1build2 deb
libnghttp2-14 1.43.0-1build3 deb libnghttp2-14 1.43.0-1build3 deb
libnpth0 1.6-3build2 deb libnpth0 1.6-3build2 deb
@@ -349,7 +352,7 @@ libpam-runtime 1.4.0-11ubuntu2.3
libpam0g 1.4.0-11ubuntu2.3 deb libpam0g 1.4.0-11ubuntu2.3 deb
libpcre2-8-0 10.39-3ubuntu0.1 deb libpcre2-8-0 10.39-3ubuntu0.1 deb
libpcre3 2:8.39-13ubuntu0.22.04.1 deb libpcre3 2:8.39-13ubuntu0.22.04.1 deb
libperl5.34 5.34.0-3ubuntu1.1 deb libperl5.34 5.34.0-3ubuntu1.2 deb
libprocps8 2:3.3.17-6ubuntu2 deb libprocps8 2:3.3.17-6ubuntu2 deb
libpsl5 0.21.0-1.2build2 deb libpsl5 0.21.0-1.2build2 deb
libreadline8 8.1.2-1 deb libreadline8 8.1.2-1 deb
@@ -365,19 +368,19 @@ libsepol2 3.3-1build1
libsmartcols1 2.37.2-4ubuntu3 deb libsmartcols1 2.37.2-4ubuntu3 deb
libsqlite3-0 3.37.2-2ubuntu0.1 deb libsqlite3-0 3.37.2-2ubuntu0.1 deb
libss2 1.46.5-2ubuntu1.1 deb libss2 1.46.5-2ubuntu1.1 deb
libssh-4 0.9.6-2build1 deb libssh-4 0.9.6-2ubuntu0.22.04.1 deb
libssl3 3.0.2-0ubuntu1.8 deb libssl3 3.0.2-0ubuntu1.10 deb
libstdc++6 12.1.0-2ubuntu1~22.04 deb libstdc++6 12.1.0-2ubuntu1~22.04 deb
libsystemd0 249.11-0ubuntu3.6 deb libsystemd0 249.11-0ubuntu3.9 deb
libtasn1-6 4.18.0-4build1 deb libtasn1-6 4.18.0-4build1 deb
libtinfo6 6.3-2 deb libtinfo6 6.3-2ubuntu0.1 deb
libtirpc-common 1.3.2-2ubuntu0.1 deb libtirpc-common 1.3.2-2ubuntu0.1 deb
libtirpc3 1.3.2-2ubuntu0.1 deb libtirpc3 1.3.2-2ubuntu0.1 deb
libudev1 249.11-0ubuntu3.6 deb libudev1 249.11-0ubuntu3.9 deb
libunistring2 1.0-1 deb libunistring2 1.0-1 deb
libuuid1 2.37.2-4ubuntu3 deb libuuid1 2.37.2-4ubuntu3 deb
libx11-6 2:1.7.5-1 deb libx11-6 2:1.7.5-1ubuntu0.2 deb
libx11-data 2:1.7.5-1 deb libx11-data 2:1.7.5-1ubuntu0.2 deb
libxau6 1:1.0.9-1build5 deb libxau6 1:1.0.9-1build5 deb
libxcb1 1.14-3ubuntu3 deb libxcb1 1.14-3ubuntu3 deb
libxdmcp6 1:1.1.3-0ubuntu5 deb libxdmcp6 1:1.1.3-0ubuntu5 deb
@@ -392,9 +395,9 @@ log 1.0.0
login 1:4.8.1-2ubuntu2.1 deb login 1:4.8.1-2ubuntu2.1 deb
logsave 1.46.5-2ubuntu1.1 deb logsave 1.46.5-2ubuntu1.1 deb
long 4.0.0 npm long 4.0.0 npm
long 5.2.1 npm long 5.2.3 npm
lru-cache 5.1.1 npm
lru-cache 6.0.0 npm lru-cache 6.0.0 npm
lru-cache 7.18.3 npm
lsb-base 11.1.0ubuntu4 deb lsb-base 11.1.0ubuntu4 deb
lua 1.0.0 npm lua 1.0.0 npm
make 1.0.0 npm make 1.0.0 npm
@@ -419,27 +422,26 @@ minimatch 3.1.2
minimist 1.2.6 npm minimist 1.2.6 npm
minipass 3.1.3 npm minipass 3.1.3 npm
minizlib 2.1.2 npm minizlib 2.1.2 npm
mkdirp 0.5.5 npm mkdirp 0.5.6 npm
mkdirp 1.0.4 npm mkdirp 1.0.4 npm
mkdirp-classic 0.5.3 npm mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb mount 2.37.2-4ubuntu3 deb
ms 2.0.0 npm ms 2.0.0 npm
ms 2.1.1 npm ms 2.1.1 npm
ms 2.1.2 npm ms 2.1.2 npm
nan 2.15.0 npm
nan 2.17.0 npm nan 2.17.0 npm
nano 6.2-1 deb nano 6.2-1 deb
napi-build-utils 1.0.2 npm napi-build-utils 1.0.2 npm
native-watchdog 1.4.1 npm native-watchdog 1.4.2 npm
ncurses-base 6.3-2 deb ncurses-base 6.3-2ubuntu0.1 deb
ncurses-bin 6.3-2 deb ncurses-bin 6.3-2ubuntu0.1 deb
negotiator 0.6.2 npm negotiator 0.6.2 npm
net-tools 1.60+git20181103.0eebece-1ubuntu5 deb net-tools 1.60+git20181103.0eebece-1ubuntu5 deb
netbase 6.3 deb netbase 6.3 deb
netcat 1.218-4ubuntu1 deb netcat 1.218-4ubuntu1 deb
netcat-openbsd 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb
netmask 2.0.2 npm netmask 2.0.2 npm
node 16.19.1 binary node 16.20.0 binary
node-abi 3.8.0 npm node-abi 3.8.0 npm
node-addon-api 3.2.1 npm node-addon-api 3.2.1 npm
node-addon-api 4.3.0 npm node-addon-api 4.3.0 npm
@@ -448,7 +450,7 @@ node-fetch 2.6.7
node-forge 1.3.1 npm node-forge 1.3.1 npm
node-forge-flash 0.0.0 npm node-forge-flash 0.0.0 npm
node-gyp-build 4.3.0 npm node-gyp-build 4.3.0 npm
node-pty 0.11.0-beta27 npm node-pty 0.11.0-beta32 npm
nopt 5.0.0 npm nopt 5.0.0 npm
npm 1.0.1 npm npm 1.0.1 npm
npmlog 4.1.2 npm npmlog 4.1.2 npm
@@ -463,11 +465,11 @@ on-finished 2.3.0
on-headers 1.0.2 npm on-headers 1.0.2 npm
once 1.4.0 npm once 1.4.0 npm
openssh-client 1:8.9p1-3ubuntu0.1 deb openssh-client 1:8.9p1-3ubuntu0.1 deb
openssl 3.0.2-0ubuntu1.8 deb openssl 3.0.2-0ubuntu1.10 deb
optionator 0.8.3 npm optionator 0.8.3 npm
os-tmpdir 1.0.2 npm os-tmpdir 1.0.2 npm
pac-proxy-agent 5.0.0 npm pac-proxy-agent 6.0.3 npm
pac-resolver 5.0.0 npm pac-resolver 6.0.1 npm
parseurl 1.3.3 npm parseurl 1.3.3 npm
passwd 1:4.8.1-2ubuntu2.1 deb passwd 1:4.8.1-2ubuntu2.1 deb
patch 2.7.6-7build2 deb patch 2.7.6-7build2 deb
@@ -476,9 +478,9 @@ path-to-regexp 0.1.7
pem 1.14.4 npm pem 1.14.4 npm
pend 1.2.0 npm pend 1.2.0 npm
perl 1.0.0 npm perl 1.0.0 npm
perl 5.34.0-3ubuntu1.1 deb perl 5.34.0-3ubuntu1.2 deb
perl-base 5.34.0-3ubuntu1.1 deb perl-base 5.34.0-3ubuntu1.2 deb
perl-modules-5.34 5.34.0-3ubuntu1.1 deb perl-modules-5.34 5.34.0-3ubuntu1.2 deb
php 1.0.0 npm php 1.0.0 npm
php-language-features 1.0.0 npm php-language-features 1.0.0 npm
picomatch 2.3.1 npm picomatch 2.3.1 npm
@@ -490,9 +492,9 @@ process-nextick-args 2.0.1
procps 2:3.3.17-6ubuntu2 deb procps 2:3.3.17-6ubuntu2 deb
proto3-json-serializer 0.1.9 npm proto3-json-serializer 0.1.9 npm
protobufjs 6.11.3 npm protobufjs 6.11.3 npm
protobufjs 7.2.2 npm protobufjs 7.2.3 npm
proxy-addr 2.0.6 npm proxy-addr 2.0.6 npm
proxy-agent 5.0.0 npm proxy-agent 6.2.1 npm
proxy-from-env 1.1.0 npm proxy-from-env 1.1.0 npm
publicsuffix 20211207.1025-1 deb publicsuffix 20211207.1025-1 deb
pug 1.0.0 npm pug 1.0.0 npm
@@ -504,13 +506,10 @@ qs 6.7.0
r 1.0.0 npm r 1.0.0 npm
range-parser 1.2.1 npm range-parser 1.2.1 npm
raw-body 2.4.0 npm raw-body 2.4.0 npm
raw-body 2.4.2 npm
razor 1.0.0 npm razor 1.0.0 npm
rc 1.2.8 npm rc 1.2.8 npm
readable-stream 1.1.14 npm
readable-stream 2.3.7 npm readable-stream 2.3.7 npm
readable-stream 3.6.0 npm readable-stream 3.6.0 npm
readable-stream 3.6.1 npm
readline-common 8.1.2-1 deb readline-common 8.1.2-1 deb
references-view 1.0.0 npm references-view 1.0.0 npm
regenerator-runtime 0.13.11 npm regenerator-runtime 0.13.11 npm
@@ -519,7 +518,7 @@ requires-port 1.0.0
restructuredtext 1.0.0 npm restructuredtext 1.0.0 npm
retry-request 4.2.2 npm retry-request 4.2.2 npm
rimraf 3.0.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 router 2.0.0-alpha.1 npm
ruby 1.0.0 npm ruby 1.0.0 npm
rust 1.0.0 npm rust 1.0.0 npm
@@ -539,7 +538,6 @@ serve-static 1.14.1
set-blocking 2.0.0 npm set-blocking 2.0.0 npm
setprototypeof 1.1.0 npm setprototypeof 1.1.0 npm
setprototypeof 1.1.1 npm setprototypeof 1.1.1 npm
setprototypeof 1.2.0 npm
shaderlab 1.0.0 npm shaderlab 1.0.0 npm
shellscript 1.0.0 npm shellscript 1.0.0 npm
side-channel 1.0.4 npm side-channel 1.0.4 npm
@@ -551,11 +549,10 @@ simple-get 4.0.1
smart-buffer 4.1.0 npm smart-buffer 4.1.0 npm
smart-buffer 4.2.0 npm smart-buffer 4.2.0 npm
socks 2.6.1 npm socks 2.6.1 npm
socks 2.7.1 npm
socks-proxy-agent 5.0.0 npm socks-proxy-agent 5.0.0 npm
socks-proxy-agent 5.0.1 npm socks-proxy-agent 8.0.1 npm
source-map 0.6.1 npm source-map 0.6.1 npm
spdlog 0.13.6 npm
split2 4.1.0 npm
sql 1.0.0 npm sql 1.0.0 npm
statuses 1.5.0 npm statuses 1.5.0 npm
stream-events 1.0.5 npm stream-events 1.0.5 npm
@@ -563,21 +560,20 @@ stream-shift 1.0.1
string-width 1.0.2 npm string-width 1.0.2 npm
string-width 4.2.2 npm string-width 4.2.2 npm
string-width 4.2.3 npm string-width 4.2.3 npm
string_decoder 0.10.31 npm
string_decoder 1.1.1 npm string_decoder 1.1.1 npm
string_decoder 1.3.0 npm string_decoder 1.3.0 npm
strip-ansi 3.0.1 npm strip-ansi 3.0.1 npm
strip-ansi 6.0.1 npm strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm strip-json-comments 2.0.1 npm
stubs 3.0.0 npm stubs 3.0.0 npm
sudo 1.9.9-1ubuntu2.3 deb sudo 1.9.9-1ubuntu2.4 deb
swift 1.0.0 npm swift 1.0.0 npm
sysvinit-utils 3.01-1ubuntu1 deb sysvinit-utils 3.01-1ubuntu1 deb
tar 1.34+dfsg-1build3 deb tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb
tar 6.1.11 npm tar 6.1.11 npm
tar-fs 2.1.1 npm tar-fs 2.1.1 npm
tar-stream 2.2.0 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 teeny-request 7.2.0 npm
theme-abyss 1.0.0 npm theme-abyss 1.0.0 npm
theme-defaults 1.0.0 npm theme-defaults 1.0.0 npm
@@ -591,16 +587,15 @@ theme-solarized-light 1.0.0
theme-tomorrow-night-blue 1.0.0 npm theme-tomorrow-night-blue 1.0.0 npm
to-regex-range 5.0.1 npm to-regex-range 5.0.1 npm
toidentifier 1.0.0 npm toidentifier 1.0.0 npm
toidentifier 1.0.1 npm
tr46 0.0.3 npm tr46 0.0.3 npm
tslib 2.3.1 npm tslib 2.3.1 npm
tunnel-agent 0.6.0 npm tunnel-agent 0.6.0 npm
type-check 0.3.2 npm type-check 0.3.2 npm
type-is 1.6.18 npm type-is 1.6.18 npm
typescript 1.0.0 npm typescript 1.0.0 npm
typescript 4.9.5 npm typescript 5.1.3 npm
typescript-language-features 1.0.0 npm typescript-language-features 1.0.0 npm
tzdata 2022g-0ubuntu0.22.04.1 deb tzdata 2023c-0ubuntu0.22.04.2 deb
ubuntu-keyring 2021.03.26 deb ubuntu-keyring 2021.03.26 deb
universalify 0.1.2 npm universalify 0.1.2 npm
unpipe 1.0.0 npm unpipe 1.0.0 npm
@@ -611,18 +606,17 @@ utils-merge 1.0.1
uuid 8.3.2 npm uuid 8.3.2 npm
vary 1.1.2 npm vary 1.1.2 npm
vb 1.0.0 npm vb 1.0.0 npm
vm2 3.9.11 npm vm2 3.9.19 npm
vscode-css-languageserver 1.0.0 npm vscode-css-languageserver 1.0.0 npm
vscode-extensions 0.0.1 npm vscode-extensions 0.0.1 npm
vscode-html-languageserver 1.0.0 npm vscode-html-languageserver 1.0.0 npm
vscode-js-profile-table 1.0.3 npm vscode-js-profile-table 1.0.3 npm
vscode-json-languageserver 1.3.4 npm vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.2.0 npm vscode-markdown-languageserver 0.4.0-alpha.2 npm
vscode-oniguruma 1.7.0 npm vscode-oniguruma 1.7.0 npm
vscode-proxy-agent 0.12.0 npm
vscode-regexpp 3.1.0 npm vscode-regexpp 3.1.0 npm
vscode-reh 1.75.1 npm vscode-reh 1.79.2 npm
vscode-textmate 8.0.0 npm vscode-textmate 9.0.0 npm
vscode-theme-seti 1.0.0 npm vscode-theme-seti 1.0.0 npm
webidl-conversions 3.0.1 npm webidl-conversions 3.0.1 npm
whatwg-url 5.0.0 npm whatwg-url 5.0.0 npm
@@ -631,24 +625,25 @@ wide-align 1.1.5
word-wrap 1.2.3 npm word-wrap 1.2.3 npm
wrap-ansi 7.0.0 npm wrap-ansi 7.0.0 npm
wrappy 1.0.2 npm wrappy 1.0.2 npm
ws 8.2.0 npm ws 8.13.0 npm
xauth 1:1.1-1build2 deb xauth 1:1.1-1build2 deb
xdg-basedir 4.0.0 npm xdg-basedir 4.0.0 npm
xml 1.0.0 npm xml 1.0.0 npm
xregexp 2.0.0 npm xterm 5.2.0-beta.49 npm
xterm 5.2.0-beta.21 npm xterm-addon-canvas 0.4.0-beta.14 npm
xterm-addon-canvas 0.4.0-beta.7 npm xterm-addon-image 0.4.0 npm
xterm-addon-search 0.11.0 npm xterm-addon-search 0.12.0-beta.5 npm
xterm-addon-serialize 0.9.0 npm xterm-addon-serialize 0.10.0-beta.2 npm
xterm-addon-unicode11 0.5.0 npm xterm-addon-unicode11 0.5.0 npm
xterm-addon-webgl 0.15.0-beta.4 npm xterm-addon-webgl 0.15.0-beta.15 npm
xterm-headless 5.2.0-beta.21 npm xterm-headless 5.2.0-beta.49 npm
y18n 5.0.8 npm y18n 5.0.8 npm
yallist 3.1.1 npm
yallist 4.0.0 npm yallist 4.0.0 npm
yaml 1.0.0 npm yaml 1.0.0 npm
yargs 16.2.0 npm yargs 16.2.0 npm
yargs 17.7.2 npm
yargs-parser 20.2.9 npm yargs-parser 20.2.9 npm
yargs-parser 21.1.1 npm
yauzl 2.10.0 npm yauzl 2.10.0 npm
yazl 2.4.3 npm yazl 2.4.3 npm
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb