Compare commits

...

66 Commits

Author SHA1 Message Date
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
LinuxServer-CI
fed7dcc619 Bot Updating Package Versions 2023-03-04 08:48:24 +01:00
LinuxServer-CI
cca5c601b0 Bot Updating Templated Files 2023-03-04 08:44:49 +01:00
LinuxServer-CI
6b1083a84a Bot Updating Package Versions 2023-02-26 13:29:55 +01:00
LinuxServer-CI
db3e708628 Bot Updating Package Versions 2023-02-15 21:47:41 +01:00
LinuxServer-CI
392976e04b Bot Updating Package Versions 2023-02-12 06:32:41 -06:00
LinuxServer-CI
044bae1e6e Bot Updating Templated Files 2023-02-12 06:29:34 -06:00
LinuxServer-CI
b274d7d4f0 Bot Updating Templated Files 2023-02-12 06:28:11 -06:00
LinuxServer-CI
eda42a9475 Bot Updating Package Versions 2023-01-22 06:27:26 -06:00
LinuxServer-CI
cf0baaa19b Bot Updating Package Versions 2023-01-15 13:27:20 +01:00
LinuxServer-CI
5264ef2d2c Bot Updating Package Versions 2023-01-08 06:28:23 -06:00
LinuxServer-CI
f4ecdc1b24 Bot Updating Package Versions 2022-12-16 18:45:48 +01:00
LinuxServer-CI
8b4f777e07 Bot Updating Package Versions 2022-12-06 10:56:25 -06:00
LinuxServer-CI
59b707226c Bot Updating Templated Files 2022-12-04 06:31:43 -06:00
LinuxServer-CI
37469a7963 Bot Updating Templated Files 2022-12-04 06:30:16 -06:00
LinuxServer-CI
29d0831ced Bot Updating Templated Files 2022-12-04 06:28:47 -06:00
LinuxServer-CI
0030ddc1a2 Bot Updating Package Versions 2022-11-27 13:29:37 +01:00
LinuxServer-CI
f0f3e4d153 Bot Updating Package Versions 2022-11-20 13:31:53 +01:00
LinuxServer-CI
1d88b3ebc1 Bot Updating Package Versions 2022-11-13 13:39:53 +01:00
LinuxServer-CI
7654a42739 Bot Updating Templated Files 2022-11-13 13:34:05 +01:00
LinuxServer-CI
67840bad2e Bot Updating Package Versions 2022-11-02 23:48:57 +01:00
LinuxServer-CI
4d030635a1 Bot Updating Package Versions 2022-10-28 12:05:59 -05:00
LinuxServer-CI
40f7cb1b82 Bot Updating Package Versions 2022-10-25 12:39:07 -05:00
LinuxServer-CI
9d5210b14a Bot Updating Package Versions 2022-10-23 14:40:36 +02:00
LinuxServer-CI
2d0ebfad3b Bot Updating Package Versions 2022-10-05 18:49:43 +02:00
aptalca
3223edf3a6 Merge pull request #128 from linuxserver/recommended
add back recommended deps
2022-10-05 12:44:31 -04:00
aptalca
3be76d82ea add back recommended deps 2022-10-05 12:21:53 -04:00
LinuxServer-CI
ad7b7bfcf6 Bot Updating Package Versions 2022-10-01 19:44:44 +02:00
aptalca
b55b470d99 Merge pull request #125 from linuxserver/jammy
rebase to jammy, switch to s6v3, fix chown
2022-10-01 13:40:31 -04:00
aptalca
300d1a22b3 increase readiness retries 2022-09-29 11:47:53 -04:00
aptalca
9a3c62fd32 add service readiness 2022-09-29 11:37:34 -04:00
aptalca
76b18b2e80 fix .ssh perms 2022-09-29 10:29:16 -04:00
aptalca
04cdba5c2b rebase to jammy, switch to s6v3, fix chown 2022-09-29 09:40:19 -04:00
LinuxServer-CI
c2fa63001f Bot Updating Package Versions 2022-09-25 07:37:42 -05:00
LinuxServer-CI
d0c5345eda Bot Updating Templated Files 2022-09-18 07:35:18 -05:00
LinuxServer-CI
6722978e0a Bot Updating Package Versions 2022-09-04 07:36:34 -05:00
LinuxServer-CI
c55fc69b87 Bot Updating Package Versions 2022-07-17 14:32:18 +02:00
LinuxServer-CI
60465428f3 Bot Updating Package Versions 2022-07-10 07:31:19 -05:00
LinuxServer-CI
5851388cf4 Bot Updating Package Versions 2022-07-01 23:48:00 +02:00
LinuxServer-CI
0f0354ded4 Bot Updating Package Versions 2022-06-26 07:30:52 -05:00
LinuxServer-CI
d41e959c3f Bot Updating Package Versions 2022-06-19 14:30:24 +02:00
LinuxServer-CI
393806fd5e Bot Updating Package Versions 2022-06-12 07:28:56 -05:00
LinuxServer-CI
a87b1ef82d Bot Updating Package Versions 2022-05-29 07:32:11 -05:00
LinuxServer-CI
fd84ed821b Bot Updating Package Versions 2022-05-22 14:31:52 +02:00
LinuxServer-CI
a56e57ea9b Bot Updating Package Versions 2022-05-15 07:35:21 -05:00
LinuxServer-CI
302fdc380d Bot Updating Package Versions 2022-05-06 22:50:48 +02:00
LinuxServer-CI
20eda117c2 Bot Updating Templated Files 2022-05-06 15:47:11 -05:00
LinuxServer-CI
ad0b0c640a Bot Updating Package Versions 2022-05-01 14:34:59 +02:00
LinuxServer-CI
9a9f16ab3b Bot Updating Templated Files 2022-05-01 07:31:19 -05:00
LinuxServer-CI
67211293ab Bot Updating Templated Files 2022-05-01 07:30:02 -05:00
LinuxServer-CI
0b620f304c Bot Updating Package Versions 2022-04-15 00:49:00 +02:00
LinuxServer-CI
3c58da4f19 Bot Updating Package Versions 2022-04-03 14:28:49 +02:00
LinuxServer-CI
1cece84c50 Bot Updating Package Versions 2022-03-22 18:48:23 -05:00
LinuxServer-CI
69cf23d516 Bot Updating Package Versions 2022-03-13 07:27:31 -05:00
LinuxServer-CI
21f7dce24d Bot Updating Package Versions 2022-03-02 21:47:07 +01:00
LinuxServer-CI
da74981da3 Bot Updating Package Versions 2022-02-27 13:26:57 +01:00
33 changed files with 1045 additions and 480 deletions

View File

@@ -15,6 +15,6 @@ trim_trailing_whitespace = false
indent_style = space
indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

View File

@@ -1,40 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- Provide a general summary of the bug in the Title above -->
------------------------------
## Expected Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot)
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
## Docker logs
<!--- Provide a full docker log, output of "docker logs code-server" -->

77
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Executable file
View File

@@ -0,0 +1,77 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
- armhf
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs linuxserver.io"
label: Container logs
placeholder: |
Output of `docker logs linuxserver.io`
render: bash
validations:
required: true

View File

@@ -1,25 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- Provide a general summary of the request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->

31
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Executable file
View File

@@ -0,0 +1,31 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false

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

@@ -7,16 +7,18 @@ jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
- name: External Trigger
if: github.ref == 'refs/heads/master'
run: |
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." >> $GITHUB_STEP_SUMMARY
exit 0
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\`" >> $GITHUB_STEP_SUMMARY
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||')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
@@ -30,6 +32,7 @@ jobs:
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving last pushed version ****"
image="linuxserver/code-server"
tag="latest"
@@ -48,8 +51,12 @@ jobs:
| jq -r '.config.digest')
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}" \
| jq -r '.container_config')
"https://ghcr.io/v2/${image}/blobs/${digest}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
@@ -61,14 +68,18 @@ jobs:
exit 1
fi
echo "**** Last pushed version: ${IMAGE_VERSION} ****"
echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY
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
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
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" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
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|")
@@ -78,6 +89,7 @@ jobs:
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \

View File

@@ -2,14 +2,14 @@ name: External Trigger Scheduler
on:
schedule:
- cron: '41 * * * *'
- cron: '32 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
with:
fetch-depth: '0'
@@ -17,18 +17,18 @@ jobs:
run: |
echo "**** Branches found: ****"
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)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(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)
if [ "$br" == "$ls_branch" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml)
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
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
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-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
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
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
done

View File

@@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-code-server/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-code-server/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-code-server/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -7,20 +7,23 @@ jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
- name: Package Trigger
if: github.ref == 'refs/heads/master'
run: |
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." >> $GITHUB_STEP_SUMMARY
exit 0
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
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
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\`" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
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|")
@@ -30,6 +33,7 @@ jobs:
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \

View File

@@ -2,14 +2,14 @@ name: Package Trigger Scheduler
on:
schedule:
- cron: '00 12 * * 0'
- cron: '0 20 * * 6'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
with:
fetch-depth: '0'
@@ -17,18 +17,16 @@ jobs:
run: |
echo "**** Branches found: ****"
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)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(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=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml | yq -r '.ls_branch')
if [ "${br}" == "${ls_branch}" ]; then
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
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} "
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
@@ -38,9 +36,11 @@ jobs:
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
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
done
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"

10
.github/workflows/permissions.yml vendored Executable file
View File

@@ -0,0 +1,10 @@
name: Permission check
on:
pull_request_target:
paths:
- '**/run'
- '**/finish'
- '**/check'
jobs:
permission_check:
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@v3
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 }}

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
# set version label
ARG BUILD_DATE
@@ -8,30 +8,24 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config"
RUN \
echo "**** install node repo ****" && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
> /etc/apt/sources.list.d/nodesource.list && \
echo "**** install build dependencies ****" && \
apt-get update && \
apt-get install -y \
build-essential \
nodejs && \
echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y \
git \
jq \
libatomic1 \
nano \
net-tools \
netcat \
sudo && \
echo "**** install code-server ****" && \
if [ -z ${CODE_RELEASE+x} ]; then \
CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
fi && \
mkdir -p /app/code-server && \
curl -o \
@@ -39,22 +33,13 @@ RUN \
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-amd64.tar.gz" && \
tar xf /tmp/code-server.tar.gz -C \
/app/code-server --strip-components=1 && \
echo "**** patch 4.0.2 ****" && \
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
cd /app/code-server && \
npm i --production @node-rs/argon2; \
fi && \
echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
nodejs && \
apt-get clean && \
rm -rf \
/config/* \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/* \
/etc/apt/sources.list.d/nodesource.list
/var/tmp/*
# add local files
COPY /root /

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
# set version label
ARG BUILD_DATE
@@ -8,30 +8,24 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config"
RUN \
echo "**** install node repo ****" && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
> /etc/apt/sources.list.d/nodesource.list && \
echo "**** install build dependencies ****" && \
apt-get update && \
apt-get install -y \
build-essential \
nodejs && \
echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y \
git \
jq \
libatomic1 \
nano \
net-tools \
netcat \
sudo && \
echo "**** install code-server ****" && \
if [ -z ${CODE_RELEASE+x} ]; then \
CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
fi && \
mkdir -p /app/code-server && \
curl -o \
@@ -39,22 +33,13 @@ RUN \
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-arm64.tar.gz" && \
tar xf /tmp/code-server.tar.gz -C \
/app/code-server --strip-components=1 && \
echo "**** patch 4.0.2 ****" && \
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
cd /app/code-server && \
npm i --production @node-rs/argon2; \
fi && \
echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
nodejs && \
apt-get clean && \
rm -rf \
/config/* \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/* \
/etc/apt/sources.list.d/nodesource.list
/var/tmp/*
# add local files
COPY /root /

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy
# set version label
ARG BUILD_DATE
@@ -8,30 +8,24 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config"
RUN \
echo "**** install node repo ****" && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
> /etc/apt/sources.list.d/nodesource.list && \
echo "**** install build dependencies ****" && \
apt-get update && \
apt-get install -y \
build-essential \
nodejs && \
echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y \
git \
jq \
libatomic1 \
nano \
net-tools \
netcat \
sudo && \
echo "**** install code-server ****" && \
if [ -z ${CODE_RELEASE+x} ]; then \
CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
fi && \
mkdir -p /app/code-server && \
curl -o \
@@ -39,22 +33,13 @@ RUN \
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-armv7l.tar.gz" && \
tar xf /tmp/code-server.tar.gz -C \
/app/code-server --strip-components=1 && \
echo "**** patch 4.0.2 ****" && \
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
cd /app/code-server && \
npm i --production @node-rs/argon2; \
fi && \
echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
nodejs && \
apt-get clean && \
rm -rf \
/config/* \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/* \
/etc/apt/sources.list.d/nodesource.list
/var/tmp/*
# add local files
COPY /root /

194
Jenkinsfile vendored
View File

@@ -39,10 +39,11 @@ pipeline {
// Setup all the basic environment variables needed for the build
stage("Set ENV Variables base"){
steps{
sh '''docker pull quay.io/skopeo/stable:v1 || : '''
script{
env.EXIT_STATUS = ''
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()
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' ''',
@@ -56,7 +57,7 @@ pipeline {
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.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.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/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{
env.LS_RELEASE_NUMBER = sh(
@@ -228,19 +229,16 @@ pipeline {
script{
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
set -e
docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${S3_SECRET}\" \
-e ACCESS_KEY=\"${S3_KEY}\" \
-t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \
python /upload.py'''
-v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache py3-pip && \
pip install s3cmd && \
s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
}
}
}
@@ -277,7 +275,7 @@ pipeline {
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.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
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -294,7 +292,7 @@ pipeline {
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 templates"
echo "Deleting old and deprecated templates"
rm -Rf ${TEMPDIR}
exit 0
else
@@ -343,9 +341,11 @@ pipeline {
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, removing Unraid template"
git rm unraid/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Removing Deprecated Unraid Template' || :
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
@@ -377,6 +377,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
####################### */
@@ -440,7 +460,8 @@ pipeline {
}
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build \
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -453,7 +474,7 @@ pipeline {
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
--no-cache --pull -t ${IMAGE}:${META_TAG} \
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -470,7 +491,8 @@ pipeline {
stage('Build X86') {
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build \
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -483,7 +505,7 @@ pipeline {
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -497,7 +519,8 @@ pipeline {
sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
'''
sh "docker build \
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -510,7 +533,7 @@ pipeline {
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
@@ -531,7 +554,8 @@ pipeline {
sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
'''
sh "docker build \
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -544,7 +568,7 @@ pipeline {
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Code-server\" \
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
@@ -573,26 +597,12 @@ pipeline {
else
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
fi
if [ "${DIST_IMAGE}" == "alpine" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apk info -v > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "fedora" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
rpm -qa > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "arch" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
pacman -Q > /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
fi
touch ${TEMPDIR}/package_versions.txt
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${TEMPDIR}:/tmp \
ghcr.io/anchore/syft:latest \
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
@@ -679,6 +689,7 @@ pipeline {
]) {
script{
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json'
}
sh '''#! /bin/bash
set -e
@@ -705,10 +716,8 @@ pipeline {
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t ghcr.io/linuxserver/ci:latest \
python /ci/ci.py'''
python3 test_build.py'''
}
}
}
@@ -803,19 +812,19 @@ pipeline {
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
if [ "${CI}" == "false" ]; then
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -823,13 +832,13 @@ pipeline {
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -960,8 +969,67 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST 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}'"}' '''
sh '''#! /bin/bash
# Function to retrieve JSON data from URL
get_json() {
local url="$1"
local response=$(curl -s "$url")
if [ $? -ne 0 ]; then
echo "Failed to retrieve JSON data from $url"
return 1
fi
local json=$(echo "$response" | jq .)
if [ $? -ne 0 ]; then
echo "Failed to parse JSON data from $url"
return 1
fi
echo "$json"
}
build_table() {
local data="$1"
# Get the keys in the JSON data
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
# Check if keys are empty
if [ -z "$keys" ]; then
echo "JSON report data does not contain any keys or the report does not exist."
return 1
fi
# Build table header
local header="| Tag | Passed |\\n| --- | --- |\\n"
# Loop through the JSON data to build the table rows
local rows=""
for build in $keys; do
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
if [ "$status" = "true" ]; then
status="✅"
else
status="❌"
fi
local row="| "$build" | "$status" |\\n"
rows="${rows}${row}"
done
local table="${header}${rows}"
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
echo "$escaped_table"
}
# 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}\\"}"'''
}
}
}
@@ -975,12 +1043,12 @@ pipeline {
sh 'echo "build aborted"'
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}

View File

@@ -52,27 +52,17 @@ Find us at:
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. 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://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/).
Simply pulling `lscr.io/linuxserver/code-server` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
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.
The architectures supported by this image are:
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
## Version Tags
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
| Tag | Description |
| :----: | --- |
| latest | Stable releases |
| focal | DEPRECATED (no longer updated, `latest` is rebased on focal) - Stable releases, based on Ubuntu Focal |
| development | DEPRECATED (no longer updated) - Prereleases from their GitHub |
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ✅ | arm32v7-\<version tag\> |
## Application Setup
@@ -100,12 +90,12 @@ Here are some example snippets to help you get started creating a container.
version: "2.1"
services:
code-server:
image: lscr.io/linuxserver/code-server
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- TZ=Etc/UTC
- PASSWORD=password #optional
- HASHED_PASSWORD= #optional
- SUDO_PASSWORD=password #optional
@@ -126,7 +116,7 @@ docker run -d \
--name=code-server \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e TZ=Etc/UTC \
-e PASSWORD=password `#optional` \
-e HASHED_PASSWORD= `#optional` \
-e SUDO_PASSWORD=password `#optional` \
@@ -136,7 +126,8 @@ docker run -d \
-p 8443:8443 \
-v /path/to/appdata/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/code-server
lscr.io/linuxserver/code-server:latest
```
## Parameters
@@ -148,7 +139,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-p 8443` | web gui |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-e PASSWORD=password` | Optional web gui password, if `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth. |
| `-e HASHED_PASSWORD=` | Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below. |
| `-e SUDO_PASSWORD=password` | If this optional variable is set, user will have sudo access in the code-server terminal with the specified password. |
@@ -200,7 +191,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* 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`
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/code-server:latest`
## Updating Info
@@ -218,7 +209,7 @@ Below are the instructions for updating containers:
### Via Docker Run
* Update the image: `docker pull lscr.io/linuxserver/code-server`
* 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`
* 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)
@@ -266,6 +257,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **05.10.22:** - Install recommended deps to maintain parity with the older images.
* **29.09.22:** - Rebase to jammy, switch to s6v3. Fix chown logic to skip `/config/workspace` contents.
* **20.02.22:** - Install using the official tarballs.
* **29.12.21:** - Add `install-extension` as a helper for mods to install extensions.
* **06.12.21:** - Add `DEFAULT_WORKSPACE` env var.

View File

@@ -1,176 +1,654 @@
adduser3.118ubuntu2
apt2.0.6
apt-utils2.0.6
base-files11ubuntu5.4
base-passwd3.5.47
bash5.0-6ubuntu1.1
bsdutils1:2.34-0.1ubuntu9.3
bzip21.0.8-2
ca-certificates20210119~20.04.2
coreutils8.30-3ubuntu2
curl7.68.0-1ubuntu2.7
dash0.5.10.2-6
debconf1.5.73
debianutils4.9.1
diffutils1:3.7-3
dirmngr2.2.19-3ubuntu2.1
dpkg1.19.7ubuntu3
e2fsprogs1.45.5-2ubuntu1
fdisk2.34-0.1ubuntu9.3
findutils4.7.0-1ubuntu1
gcc-10-base10.3.0-1ubuntu1~20.04
git1:2.25.1-1ubuntu3.2
git-man1:2.25.1-1ubuntu3.2
gnupg2.2.19-3ubuntu2.1
gnupg-l10n2.2.19-3ubuntu2.1
gnupg-utils2.2.19-3ubuntu2.1
gpg2.2.19-3ubuntu2.1
gpg-agent2.2.19-3ubuntu2.1
gpgconf2.2.19-3ubuntu2.1
gpgsm2.2.19-3ubuntu2.1
gpgv2.2.19-3ubuntu2.1
gpg-wks-client2.2.19-3ubuntu2.1
gpg-wks-server2.2.19-3ubuntu2.1
grep3.4-1
gzip1.10-0ubuntu4
hostname3.23
init-system-helpers1.57
jq1.6-1ubuntu0.20.04.1
krb5-locales1.17-6ubuntu4.1
less551-1ubuntu0.1
libacl12.2.53-6
libapt-pkg6.02.0.6
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
libassuan02.5.3-7ubuntu2
libatomic110.3.0-1ubuntu1~20.04
libattr11:2.4.48-5
libaudit11:2.8.5-2ubuntu6
libaudit-common1:2.8.5-2ubuntu6
libblkid12.34-0.1ubuntu9.3
libbrotli11.0.7-6ubuntu0.1
libbsd00.10.0-1
libbz2-1.01.0.8-2
libc62.31-0ubuntu9.2
libcap-ng00.7.9-2.1build1
libc-bin2.31-0ubuntu9.2
libcbor0.60.6.0-0ubuntu1
libcom-err21.45.5-2ubuntu1
libcrypt11:4.4.10-10ubuntu4
libcurl3-gnutls7.68.0-1ubuntu2.7
libcurl47.68.0-1ubuntu2.7
libdb5.35.3.28+dfsg1-0.6ubuntu2
libdebconfclient00.251ubuntu1
libedit23.1-20191231-1
liberror-perl0.17029-1
libexpat12.2.9-1build1
libext2fs21.45.5-2ubuntu1
libfdisk12.34-0.1ubuntu9.3
libffi73.3-4
libfido2-11.3.1-1ubuntu2
libgcc-s110.3.0-1ubuntu1~20.04
libgcrypt201.8.5-5ubuntu1.1
libgdbm61.18.1-5
libgdbm-compat41.18.1-5
libgmp102:6.2.0+dfsg-4
libgnutls303.6.13-2ubuntu1.6
libgpg-error01.37-1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
libgssapi-krb5-21.17-6ubuntu4.1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
libhogweed53.5.1+really3.5.1-2ubuntu0.2
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
libidn2-02.2.0-2
libjq11.6-1ubuntu0.20.04.1
libk5crypto31.17-6ubuntu4.1
libkeyutils11.6-6ubuntu1
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2
libldap-2.4-22.4.49+dfsg-2ubuntu1.8
libldap-common2.4.49+dfsg-2ubuntu1.8
liblz4-11.9.2-2ubuntu0.20.04.1
liblzma55.2.4-1ubuntu1
libmount12.34-0.1ubuntu9.3
libncurses66.2-0ubuntu2
libncursesw66.2-0ubuntu2
libnettle73.5.1+really3.5.1-2ubuntu0.2
libnghttp2-141.40.0-1build1
libnpth01.6-1
libonig56.9.4-1
libp11-kit00.23.20-1ubuntu0.1
libpam0g1.3.1-5ubuntu4.3
libpam-modules1.3.1-5ubuntu4.3
libpam-modules-bin1.3.1-5ubuntu4.3
libpam-runtime1.3.1-5ubuntu4.3
libpcre2-8-010.34-7
libpcre32:8.39-12build1
libperl5.305.30.0-9ubuntu0.2
libprocps82:3.3.16-1ubuntu2.3
libpsl50.21.0-1ubuntu1
libreadline88.0-4
libroken18-heimdal7.7.0+dfsg-1ubuntu1
librtmp12.4+20151223.gitfa8646d.1-2build1
libsasl2-22.1.27+dfsg-2
libsasl2-modules2.1.27+dfsg-2
libsasl2-modules-db2.1.27+dfsg-2
libseccomp22.5.1-1ubuntu1~20.04.2
libselinux13.0-1build2
libsemanage13.0-1build2
libsemanage-common3.0-1build2
libsepol13.0-1
libsmartcols12.34-0.1ubuntu9.3
libsqlite3-03.31.1-4ubuntu0.2
libss21.45.5-2ubuntu1
libssh-40.9.3-2ubuntu2.2
libssl1.11.1.1f-1ubuntu2.10
libstdc++610.3.0-1ubuntu1~20.04
libsystemd0245.4-4ubuntu3.15
libtasn1-64.16.0-2
libtinfo66.2-0ubuntu2
libudev1245.4-4ubuntu3.15
libunistring20.9.10-2
libuuid12.34-0.1ubuntu9.3
libwind0-heimdal7.7.0+dfsg-1ubuntu1
libx11-62:1.6.9-2ubuntu1.2
libx11-data2:1.6.9-2ubuntu1.2
libxau61:1.0.9-0ubuntu1
libxcb11.14-2
libxdmcp61:1.1.3-0ubuntu1
libxext62:1.3.4-0ubuntu1
libxmuu12:1.1.3-0ubuntu1
libzstd11.4.4+dfsg-3ubuntu0.1
locales2.31-0ubuntu9.2
login1:4.8.1-1ubuntu5.20.04.1
logsave1.45.5-2ubuntu1
lsb-base11.1.0ubuntu2
mawk1.3.4.20200120-2
mount2.34-0.1ubuntu9.3
nano4.8-1ubuntu1
ncurses-base6.2-0ubuntu2
ncurses-bin6.2-0ubuntu2
netbase6.1
net-tools1.60+git20180626.aebd88e-1ubuntu1
openssh-client1:8.2p1-4ubuntu0.4
openssl1.1.1f-1ubuntu2.10
passwd1:4.8.1-1ubuntu5.20.04.1
patch2.7.6-6
perl5.30.0-9ubuntu0.2
perl-base5.30.0-9ubuntu0.2
perl-modules-5.305.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
procps2:3.3.16-1ubuntu2.3
publicsuffix20200303.0012-1
readline-common8.0-4
sed4.7-1
sensible-utils0.0.12+nmu1
sudo1.8.31-1ubuntu1.2
sysvinit-utils2.96-2.1ubuntu1
tar1.30+dfsg-7ubuntu0.20.04.1
tzdata2021e-0ubuntu0.20.04
ubuntu-keyring2020.02.11.4
util-linux2.34-0.1ubuntu9.3
xauth1:1.1-0ubuntu1
zlib1g1:1.2.11.dfsg-2ubuntu1.2
NAME VERSION TYPE
1to2 1.0.0 npm
@babel/runtime 7.20.7 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.6 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
@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
@vscode/iconv-lite-umd 0.7.0 npm
@vscode/ripgrep 1.15.0 npm
@vscode/vscode-languagedetection 1.0.21 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
adduser 3.118ubuntu5 deb
agent-base 4.2.0 npm
agent-base 4.3.0 npm
agent-base 6.0.2 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.9 deb
apt-utils 2.4.9 deb
are-we-there-yet 1.1.7 npm
are-we-there-yet 2.0.0 npm
argon2 0.30.3 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
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
brace-expansion 1.1.11 npm
braces 3.0.2 npm
bsdutils 1:2.37.2-4ubuntu3 deb
buffer 5.7.1 npm
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
bytes 3.1.1 npm
ca-certificates 20211016ubuntu0.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
clojure 1.0.0 npm
code-point-at 1.1.0 npm
code-server 4.12.0 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
concat-map 0.0.1 npm
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
cookie 0.4.0 npm
cookie-parser 1.4.5 npm
cookie-signature 1.0.6 npm
core-util-is 1.0.2 npm
core-util-is 1.0.3 npm
coreutils 8.32-4.1ubuntu1 deb
cpp 1.0.0 npm
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.10 deb
dart 1.0.0 npm
dash 0.5.11+git20210903+057cd650a4ed-3build1 deb
data-uri-to-buffer 3.0.1 npm
debconf 1.5.79ubuntu1 deb
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 3.0.1 npm
delegates 1.0.0 npm
depd 1.1.2 npm
destroy 1.0.4 npm
detect-libc 2.0.1 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.1 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
escape-html 1.0.3 npm
escodegen 1.14.3 npm
esprima 4.0.1 npm
estraverse 4.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
file-uri-to-path 2.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
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
ftp 0.3.10 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.1.0-2ubuntu1~22.04 deb
gcp-metadata 4.3.1 npm
get-caller-file 2.0.5 npm
get-intrinsic 1.1.1 npm
get-uri 3.0.2 npm
git 1.0.0 npm
git 1:2.34.1-1ubuntu1.8 deb
git-base 1.0.0 npm
git-man 1:2.34.1-1ubuntu1.8 deb
github 0.0.1 npm
github-authentication 0.0.2 npm
github-from-package 0.0.0 npm
glob 7.2.3 npm
gnupg 2.2.27-3ubuntu2.1 deb
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
gpg-wks-server 2.2.27-3ubuntu2.1 deb
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
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
html 1.0.0 npm
html-language-features 1.0.0 npm
http-errors 1.7.2 npm
http-errors 1.7.3 npm
http-errors 1.8.1 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
httpolyglot 0.1.2 npm
https-proxy-agent 2.2.4 npm
https-proxy-agent 5.0.0 npm
i18next 22.4.6 npm
iconv-lite 0.4.24 npm
ieee754 1.2.1 npm
inflight 1.0.6 npm
inherits 2.0.3 npm
inherits 2.0.4 npm
ini 1.0.0 npm
ini 1.3.8 npm
init-system-helpers 1.62 deb
ip 1.1.5 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 0.0.1 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.77.2 npm
js-debug-companion 1.0.18 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
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.9 deb
libassuan0 2.5.5-1build1 deb
libatomic1 12.1.0-2ubuntu1~22.04 deb
libattr1 1:2.5.1-1build1 deb
libaudit-common 1:3.0.7-1build1 deb
libaudit1 1:3.0.7-1build1 deb
libblkid1 2.37.2-4ubuntu3 deb
libbrotli1 1.0.9-2build6 deb
libbsd0 0.11.5-1 deb
libbz2-1.0 1.0.8-5build1 deb
libc-bin 2.35-0ubuntu3.1 deb
libc6 2.35-0ubuntu3.1 deb
libcap-ng0 0.7.9-2.2build3 deb
libcap2 1:2.44-1build3 deb
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.10 deb
libcurl4 7.81.0-1ubuntu1.10 deb
libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb
libdebconfclient0 0.261ubuntu1 deb
libedit2 3.1-20210910-1build1 deb
liberror-perl 0.17029-1 deb
libexpat1 2.4.7-1ubuntu0.2 deb
libext2fs2 1.46.5-2ubuntu1.1 deb
libffi8 3.4.2-4 deb
libfido2-1 1.10.0-1 deb
libgcc-s1 12.1.0-2ubuntu1~22.04 deb
libgcrypt20 1.9.4-3ubuntu3 deb
libgdbm-compat4 1.23-1 deb
libgdbm6 1.23-1 deb
libgmp10 2:6.2.1+dfsg-3ubuntu1 deb
libgnutls30 3.7.3-4ubuntu1.2 deb
libgpg-error0 1.43-3 deb
libgssapi-krb5-2 1.19.2-2ubuntu0.1 deb
libhogweed6 3.7.3-1build2 deb
libidn2-0 2.3.2-2build1 deb
libjq1 1.6-2.1ubuntu3 deb
libk5crypto3 1.19.2-2ubuntu0.1 deb
libkeyutils1 1.6.1-2ubuntu3 deb
libkrb5-3 1.19.2-2ubuntu0.1 deb
libkrb5support0 1.19.2-2ubuntu0.1 deb
libksba8 1.6.0-2ubuntu0.2 deb
libldap-2.5-0 2.5.14+dfsg-0ubuntu0.22.04.2 deb
libldap-common 2.5.14+dfsg-0ubuntu0.22.04.2 deb
liblz4-1 1.9.3-2build2 deb
liblzma5 5.2.5-2ubuntu1 deb
libmd0 1.0.4-1build1 deb
libmount1 2.37.2-4ubuntu3 deb
libncurses6 6.3-2 deb
libncursesw6 6.3-2 deb
libnettle8 3.7.3-1build2 deb
libnghttp2-14 1.43.0-1build3 deb
libnpth0 1.6-3build2 deb
libnsl2 1.3.0-2build2 deb
libonig5 6.9.7.1-2build1 deb
libp11-kit0 0.24.0-6build1 deb
libpam-modules 1.4.0-11ubuntu2.3 deb
libpam-modules-bin 1.4.0-11ubuntu2.3 deb
libpam-runtime 1.4.0-11ubuntu2.3 deb
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.1 deb
libprocps8 2:3.3.17-6ubuntu2 deb
libpsl5 0.21.0-1.2build2 deb
libreadline8 8.1.2-1 deb
librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb
libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb
libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb
libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb
libseccomp2 2.5.3-2ubuntu2 deb
libselinux1 3.3-1build2 deb
libsemanage-common 3.3-1build2 deb
libsemanage2 3.3-1build2 deb
libsepol2 3.3-1build1 deb
libsmartcols1 2.37.2-4ubuntu3 deb
libsqlite3-0 3.37.2-2ubuntu0.1 deb
libss2 1.46.5-2ubuntu1.1 deb
libssh-4 0.9.6-2build1 deb
libssl3 3.0.2-0ubuntu1.8 deb
libstdc++6 12.1.0-2ubuntu1~22.04 deb
libsystemd0 249.11-0ubuntu3.9 deb
libtasn1-6 4.18.0-4build1 deb
libtinfo6 6.3-2 deb
libtirpc-common 1.3.2-2ubuntu0.1 deb
libtirpc3 1.3.2-2ubuntu0.1 deb
libudev1 249.11-0ubuntu3.9 deb
libunistring2 1.0-1 deb
libuuid1 2.37.2-4ubuntu3 deb
libx11-6 2:1.7.5-1 deb
libx11-data 2:1.7.5-1 deb
libxau6 1:1.0.9-1build5 deb
libxcb1 1.14-3ubuntu3 deb
libxdmcp6 1:1.1.3-0ubuntu5 deb
libxext6 2:1.3.4-1build1 deb
libxmuu1 2:1.1.3-3 deb
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
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 5.1.1 npm
lru-cache 6.0.0 npm
lsb-base 11.1.0ubuntu4 deb
lua 1.0.0 npm
make 1.0.0 npm
make-dir 3.1.0 npm
markdown 1.0.0 npm
markdown-language-features 1.0.0 npm
markdown-math 1.0.0 npm
mawk 1.3.4.20200120-3 deb
md5 2.3.0 npm
media-preview 1.0.0 npm
media-typer 0.3.0 npm
merge-conflict 1.0.0 npm
merge-descriptors 1.0.1 npm
methods 1.1.2 npm
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
mimic-response 3.1.0 npm
minimatch 3.1.2 npm
minimist 1.2.6 npm
minipass 3.1.3 npm
minizlib 2.1.2 npm
mkdirp 0.5.5 npm
mkdirp 1.0.4 npm
mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb
ms 2.0.0 npm
ms 2.1.1 npm
ms 2.1.2 npm
nan 2.15.0 npm
nan 2.17.0 npm
nano 6.2-1 deb
napi-build-utils 1.0.2 npm
native-watchdog 1.4.2 npm
ncurses-base 6.3-2 deb
ncurses-bin 6.3-2 deb
negotiator 0.6.2 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.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-gyp-build 4.3.0 npm
node-pty 0.11.0-beta30 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.1 deb
openssl 3.0.2-0ubuntu1.9 deb
optionator 0.8.3 npm
os-tmpdir 1.0.2 npm
pac-proxy-agent 5.0.0 npm
pac-resolver 5.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
pend 1.2.0 npm
perl 1.0.0 npm
perl 5.34.0-3ubuntu1.1 deb
perl-base 5.34.0-3ubuntu1.1 deb
perl-modules-5.34 5.34.0-3ubuntu1.1 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
procps 2:3.3.17-6ubuntu2 deb
proto3-json-serializer 0.1.9 npm
protobufjs 6.11.3 npm
protobufjs 7.2.3 npm
proxy-addr 2.0.6 npm
proxy-agent 5.0.0 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
r 1.0.0 npm
range-parser 1.2.1 npm
raw-body 2.4.0 npm
raw-body 2.4.2 npm
razor 1.0.0 npm
rc 1.2.8 npm
readable-stream 1.1.14 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
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.0.0 npm
router 2.0.0-alpha.1 npm
ruby 1.0.0 npm
rust 1.0.0 npm
safe-buffer 5.1.2 npm
safe-buffer 5.2.1 npm
safe-compare 1.1.4 npm
safer-buffer 2.1.2 npm
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.3.8 npm
send 0.17.1 npm
sensible-utils 0.0.17 deb
serve-static 1.14.1 npm
set-blocking 2.0.0 npm
setprototypeof 1.1.0 npm
setprototypeof 1.1.1 npm
setprototypeof 1.2.0 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-proxy-agent 5.0.0 npm
socks-proxy-agent 5.0.1 npm
source-map 0.6.1 npm
spdlog 0.13.6 npm
split2 4.2.0 npm
sql 1.0.0 npm
statuses 1.5.0 npm
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 0.10.31 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-fs 2.1.1 npm
tar-stream 2.2.0 npm
tas-client-umd 0.1.6 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
theme-monokai 1.0.0 npm
theme-monokai-dimmed 1.0.0 npm
theme-quietlight 1.0.0 npm
theme-red 1.0.0 npm
theme-solarized-dark 1.0.0 npm
theme-solarized-light 1.0.0 npm
theme-tomorrow-night-blue 1.0.0 npm
to-regex-range 5.0.1 npm
toidentifier 1.0.0 npm
toidentifier 1.0.1 npm
tr46 0.0.3 npm
tslib 2.3.1 npm
tunnel-agent 0.6.0 npm
type-check 0.3.2 npm
type-is 1.6.18 npm
typescript 1.0.0 npm
typescript 5.0.4 npm
typescript-language-features 1.0.0 npm
tzdata 2023c-0ubuntu0.22.04.0 deb
ubuntu-keyring 2021.03.26 deb
universalify 0.1.2 npm
unpipe 1.0.0 npm
usrmerge 25ubuntu2 deb
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.17 npm
vscode-css-languageserver 1.0.0 npm
vscode-extensions 0.0.1 npm
vscode-html-languageserver 1.0.0 npm
vscode-js-profile-table 1.0.3 npm
vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.3.0-alpha.6 npm
vscode-oniguruma 1.7.0 npm
vscode-proxy-agent 0.12.0 npm
vscode-regexpp 3.1.0 npm
vscode-reh 1.77.3 npm
vscode-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.3 npm
wrap-ansi 7.0.0 npm
wrappy 1.0.2 npm
ws 8.13.0 npm
xauth 1:1.1-1build2 deb
xdg-basedir 4.0.0 npm
xml 1.0.0 npm
xregexp 2.0.0 npm
xterm 5.2.0-beta.30 npm
xterm-addon-canvas 0.4.0-beta.7 npm
xterm-addon-search 0.11.0 npm
xterm-addon-serialize 0.9.0 npm
xterm-addon-unicode11 0.5.0 npm
xterm-addon-webgl 0.15.0-beta.7 npm
xterm-headless 5.2.0-beta.30 npm
y18n 5.0.8 npm
yallist 3.1.1 npm
yallist 4.0.0 npm
yaml 1.0.0 npm
yargs 16.2.0 npm
yargs-parser 20.2.9 npm
yauzl 2.10.0 npm
yazl 2.4.3 npm
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb

View File

@@ -26,11 +26,9 @@ available_architectures:
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version
development_versions: true
development_versions: false
development_versions_items:
- { tag: "latest", desc: "Stable releases" }
- { tag: "focal", desc: "DEPRECATED (no longer updated, `latest` is rebased on focal) - Stable releases, based on Ubuntu Focal" }
- { tag: "development", desc: "DEPRECATED (no longer updated) - Prereleases from their GitHub" }
# container parameters
common_param_env_vars_enabled: true
@@ -77,6 +75,8 @@ app_setup_block: |
# changelog
changelogs:
- { date: "05.10.22:", desc: "Install recommended deps to maintain parity with the older images." }
- { date: "29.09.22:", desc: "Rebase to jammy, switch to s6v3. Fix chown logic to skip `/config/workspace` contents." }
- { date: "20.02.22:", desc: "Install using the official tarballs." }
- { date: "29.12.21:", desc: "Add `install-extension` as a helper for mods to install extensions." }
- { date: "06.12.21:", desc: "Add `DEFAULT_WORKSPACE` env var." }

View File

@@ -22,21 +22,10 @@ fi
[[ ! -f /config/.profile ]] && \
cp /root/.profile /config/.profile
# permissions
if [ -f "/usr/bin/find" ] && [ -f "/usr/bin/xargs" ]; then
CORES=$(nproc --all)
# Split workload between config and workspace
echo "setting permissions::configuration"
find /config -path /config/workspace -prune -false -o -type d -print0 | \
xargs --null -r --max-args=1 --max-procs=$((CORES*2*8)) \
chown -R abc:abc
echo "setting permissions::workspace"
chown abc:abc /config/workspace
else
# Set permissions on data mount
# do not decend into the workspace
chown -R abc:abc "$(ls /config -I workspace)"
chown abc:abc /config/workspace
# fix permissions (ignore contents of /config/workspace)
find /config -path /config/workspace -prune -o -exec chown abc:abc {} +
chown abc:abc /config/workspace
chmod 700 /config/.ssh
if [ -n "$(ls -A /config/.ssh)" ]; then
chmod 600 /config/.ssh/*
fi

View File

@@ -0,0 +1 @@
oneshot

View File

@@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-code-server/run

View File

@@ -0,0 +1 @@
3

View File

@@ -0,0 +1,26 @@
#!/usr/bin/with-contenv bash
if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then
AUTH="password"
else
AUTH="none"
echo "starting with no password"
fi
if [ -z ${PROXY_DOMAIN+x} ]; then
PROXY_DOMAIN_ARG=""
else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
fi
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
s6-setuidgid abc \
/app/code-server/bin/code-server \
--bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \
--auth "${AUTH}" \
"${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}"

View File

@@ -0,0 +1 @@
longrun

View File

@@ -1,25 +0,0 @@
#!/usr/bin/with-contenv bash
if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then
AUTH="password"
else
AUTH="none"
echo "starting with no password"
fi
if [ -z ${PROXY_DOMAIN+x} ]; then
PROXY_DOMAIN_ARG=""
else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
fi
exec \
s6-setuidgid abc \
/app/code-server/bin/code-server \
--bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \
--auth "${AUTH}" \
"${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}"