Compare commits

..

25 Commits

Author SHA1 Message Date
LinuxServer-CI
fb68e8ec88 Bot Updating Package Versions 2021-11-07 13:32:31 +01:00
LinuxServer-CI
65509e965e Bot Updating Templated Files 2021-10-26 23:48:51 +02:00
Roxedus
3e3ed6e20f Merge pull request #86 from linuxserver/master-fix 2021-10-26 23:47:27 +02:00
Roxedus
9b7a3aba52 Announce focal 2021-10-26 22:45:47 +02:00
LinuxServer-CI
d418e2444a Bot Updating Package Versions 2021-10-17 14:29:34 +02:00
LinuxServer-CI
ad2469e77d Bot Updating Package Versions 2021-10-03 14:32:30 +02:00
LinuxServer-CI
580ad0130e Bot Updating Templated Files 2021-10-03 14:24:15 +02:00
LinuxServer-CI
aa8b978f9a Bot Updating Templated Files 2021-10-03 14:23:17 +02:00
LinuxServer-CI
7fe76cb84f Bot Updating Package Versions 2021-09-26 14:28:20 +02:00
aptalca
44f7b9fc5f Merge pull request #73 from gjrtimmer/fix/chown
fix apply chown permissions in parallel for large workspace
2021-09-16 13:43:44 -04:00
aptalca
442dac7b54 update changelog 2021-09-16 13:08:53 -04:00
G.J.R. Timmer
2ef2329327 fix chown 2021-09-16 16:56:35 +02:00
LinuxServer-CI
e95b42b57a Bot Updating Package Versions 2021-09-15 22:51:44 +02:00
LinuxServer-CI
2dee5b2a47 Bot Updating Package Versions 2021-09-05 14:29:07 +02:00
LinuxServer-CI
17e0bbf080 Bot Updating Package Versions 2021-08-29 14:30:51 +02:00
LinuxServer-CI
a9ea1fe773 Bot Updating Templated Files 2021-08-29 14:22:54 +02:00
LinuxServer-CI
323745a36d Bot Updating Package Versions 2021-08-22 14:31:27 +02:00
LinuxServer-CI
17af5070b3 Bot Updating Package Versions 2021-08-15 14:29:27 +02:00
LinuxServer-CI
514f668726 Bot Updating Package Versions 2021-08-11 23:51:47 +02:00
LinuxServer-CI
a5fa8c5058 Bot Updating Package Versions 2021-08-08 14:34:36 +02:00
LinuxServer-CI
3e5681a624 Bot Updating Package Versions 2021-08-01 14:30:01 +02:00
LinuxServer-CI
d721fd11f9 Bot Updating Package Versions 2021-07-25 14:29:17 +02:00
G.J.R. Timmer
d76a6d56cd Fix xargs do not run if empty 2021-07-14 10:08:05 +02:00
G.J.R. Timmer
a1608a1d3c Fix shellcheck warnings 2021-07-14 10:08:05 +02:00
G.J.R. Timmer
b54982550b fix apply chown permissions in parallel for large workspace 2021-07-14 10:08:05 +02:00
14 changed files with 258 additions and 255 deletions

View File

@@ -24,7 +24,7 @@
## Readme ## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit. If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-code-server/edit/focal/readme-vars.yml). Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-code-server/edit/master/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play. These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-code-server) Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-code-server)
@@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Update the changelog ## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-code-server/tree/focal/root), add an entry to the changelog If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-code-server/tree/master/root), add an entry to the changelog
```yml ```yml
changelogs: changelogs:

View File

@@ -21,7 +21,7 @@
------------------------------ ------------------------------
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-code-server/blob/focal/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications - [ ] I have read the [contributing](https://github.com/linuxserver/docker-code-server/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------ ------------------------------

View File

@@ -4,24 +4,24 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
external-trigger-focal: external-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.3 - uses: actions/checkout@v2.3.3
- name: External Trigger - name: External Trigger
if: github.ref == 'refs/heads/focal' if: github.ref == 'refs/heads/master'
run: | run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_FOCAL }}" ]; then if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_FOCAL is set; skipping trigger. ****" echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger. ****"
exit 0 exit 0
fi fi
echo "**** External trigger running off of focal branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_FOCAL\". ****" echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER\". ****"
echo "**** Retrieving external version ****" echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '."dist-tags".latest' | sed 's|^|v|') EXT_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '."dist-tags".latest' | sed 's|^|v|')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****" echo "**** Can't retrieve external version, exiting ****"
FAILURE_REASON="Can't retrieve external version for code-server branch focal" FAILURE_REASON="Can't retrieve external version for code-server branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-code-server/actions/runs/${{ github.run_id }}" GHA_TRIGGER_URL="https://github.com/linuxserver/docker-code-server/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}], "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
@@ -64,13 +64,13 @@ jobs:
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 ****"
exit 0 exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/focal/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 ****"
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 ****"
response=$(curl -iX POST \ response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/focal/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|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****" echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****" echo "**** Sleeping 10 seconds until job starts ****"

View File

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

View File

@@ -4,25 +4,25 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
package-trigger-focal: package-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.3 - uses: actions/checkout@v2.3.3
- name: Package Trigger - name: Package Trigger
if: github.ref == 'refs/heads/focal' if: github.ref == 'refs/heads/master'
run: | run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_CODE_SERVER_FOCAL }}" ]; then if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_CODE_SERVER_FOCAL is set; skipping trigger. ****" echo "**** Github secret PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger. ****"
exit 0 exit 0
fi fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/focal/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 ****"
exit 0 exit 0
fi fi
echo "**** Package trigger running off of focal branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_CODE_SERVER_FOCAL\". ****" echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER\". ****"
response=$(curl -iX POST \ response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/focal/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|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****" echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****" echo "**** Sleeping 10 seconds until job starts ****"

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -16,7 +16,7 @@ RUN \
apt-get install -y \ apt-get install -y \
gnupg && \ gnupg && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \ echo 'deb https://deb.nodesource.com/node_14.x bionic main' \
> /etc/apt/sources.list.d/nodesource.list && \ > /etc/apt/sources.list.d/nodesource.list && \
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \ echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
@@ -25,11 +25,10 @@ RUN \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
build-essential \ build-essential \
libsecret-1-dev \
libx11-dev \ libx11-dev \
libxkbfile-dev \ libxkbfile-dev \
pkg-config \ libsecret-1-dev \
python3 && \ pkg-config && \
echo "**** install runtime dependencies ****" && \ echo "**** install runtime dependencies ****" && \
apt-get install -y \ apt-get install -y \
git \ git \
@@ -45,7 +44,6 @@ RUN \
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \ | jq -r '."dist-tags".latest' | sed 's|^|v|'); \
fi && \ fi && \
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \ CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
npm config set python python3 \
yarn config set network-timeout 600000 -g && \ yarn config set network-timeout 600000 -g && \
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \ yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
yarn cache clean && \ yarn cache clean && \
@@ -58,7 +56,6 @@ RUN \
pkg-config && \ pkg-config && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \
/config/* \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* /var/tmp/*

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -16,7 +16,7 @@ RUN \
apt-get install -y \ apt-get install -y \
gnupg && \ gnupg && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \ echo 'deb https://deb.nodesource.com/node_14.x bionic main' \
> /etc/apt/sources.list.d/nodesource.list && \ > /etc/apt/sources.list.d/nodesource.list && \
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \ echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
@@ -25,11 +25,10 @@ RUN \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
build-essential \ build-essential \
libsecret-1-dev \
libx11-dev \ libx11-dev \
libxkbfile-dev \ libxkbfile-dev \
pkg-config \ libsecret-1-dev \
python3 && \ pkg-config && \
echo "**** install runtime dependencies ****" && \ echo "**** install runtime dependencies ****" && \
apt-get install -y \ apt-get install -y \
git \ git \
@@ -45,7 +44,6 @@ RUN \
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \ | jq -r '."dist-tags".latest' | sed 's|^|v|'); \
fi && \ fi && \
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \ CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
npm config set python python3 \
yarn config set network-timeout 600000 -g && \ yarn config set network-timeout 600000 -g && \
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \ yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
yarn cache clean && \ yarn cache clean && \
@@ -58,7 +56,6 @@ RUN \
pkg-config && \ pkg-config && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \
/config/* \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* /var/tmp/*

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -16,7 +16,7 @@ RUN \
apt-get install -y \ apt-get install -y \
gnupg && \ gnupg && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \ echo 'deb https://deb.nodesource.com/node_14.x bionic main' \
> /etc/apt/sources.list.d/nodesource.list && \ > /etc/apt/sources.list.d/nodesource.list && \
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \ echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
@@ -25,11 +25,10 @@ RUN \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
build-essential \ build-essential \
libsecret-1-dev \
libx11-dev \ libx11-dev \
libxkbfile-dev \ libxkbfile-dev \
pkg-config \ libsecret-1-dev \
python3 && \ pkg-config && \
echo "**** install runtime dependencies ****" && \ echo "**** install runtime dependencies ****" && \
apt-get install -y \ apt-get install -y \
git \ git \
@@ -45,7 +44,6 @@ RUN \
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \ | jq -r '."dist-tags".latest' | sed 's|^|v|'); \
fi && \ fi && \
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \ CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
npm config set python python3 \
yarn config set network-timeout 600000 -g && \ yarn config set network-timeout 600000 -g && \
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \ yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
yarn cache clean && \ yarn cache clean && \
@@ -58,7 +56,6 @@ RUN \
pkg-config && \ pkg-config && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \
/config/* \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* /var/tmp/*

34
Jenkinsfile vendored
View File

@@ -137,10 +137,10 @@ pipeline {
} }
} }
} }
// If this is a focal build use live docker endpoints // If this is a master build use live docker endpoints
stage("Set ENV live build"){ stage("Set ENV live build"){
when { when {
branch "focal" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
} }
steps { steps {
@@ -163,7 +163,7 @@ pipeline {
// If this is a dev build use dev docker endpoints // If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){ stage("Set ENV dev build"){
when { when {
not {branch "focal"} not {branch "master"}
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
} }
steps { steps {
@@ -240,7 +240,7 @@ pipeline {
// Use helper containers to render templated files // Use helper containers to render templated files
stage('Update-Templates') { stage('Update-Templates') {
when { when {
branch "focal" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
expression { expression {
env.CONTAINER_NAME != null env.CONTAINER_NAME != null
@@ -251,13 +251,13 @@ pipeline {
set -e set -e
TEMPDIR=$(mktemp -d) TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=focal -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update # Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f focal git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile git add Jenkinsfile
git commit -m 'Bot Updating Templated Files' git commit -m 'Bot Updating Templated Files'
@@ -280,7 +280,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f focal git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}" git rm "${i}"
done done
@@ -301,7 +301,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f focal git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
@@ -357,7 +357,7 @@ pipeline {
// Exit the build if the Templated files were just updated // Exit the build if the Templated files were just updated
stage('Template-exit') { stage('Template-exit') {
when { when {
branch "focal" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true' environment name: 'FILES_UPDATED', value: 'true'
expression { expression {
@@ -396,7 +396,7 @@ pipeline {
// Add package to Scarf.sh and set permissions // Add package to Scarf.sh and set permissions
stage("Scarf.sh package registry"){ stage("Scarf.sh package registry"){
when { when {
branch "focal" branch "master"
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps{ steps{
@@ -565,7 +565,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison // Take the image we just built and dump package versions for comparison
stage('Update-packages') { stage('Update-packages') {
when { when {
branch "focal" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
@@ -602,7 +602,7 @@ pipeline {
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github" 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 if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f focal git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/ cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/ cd ${TEMPDIR}/${LS_REPO}/
wait wait
@@ -626,7 +626,7 @@ pipeline {
// Exit the build if the package file was just updated // Exit the build if the package file was just updated
stage('PACKAGE-exit') { stage('PACKAGE-exit') {
when { when {
branch "focal" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true' environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
@@ -647,7 +647,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push // Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') { stage('PACKAGECHECK-exit') {
when { when {
branch "focal" branch "master"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false' environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
@@ -880,7 +880,7 @@ pipeline {
// If this is a public release tag it in the LS Github // If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') { stage('Github-Tag-Push-Release') {
when { when {
branch "focal" branch "master"
expression { expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} }
@@ -892,14 +892,14 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\ -d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\ "object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to focal",\ "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\ "type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag" echo "Pushing New release for Tag"
sh '''#! /bin/bash sh '''#! /bin/bash
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\ echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "focal",\ "target_commitish": "master",\
"name": "'${META_TAG}'",\ "name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json printf '","draft": false,"prerelease": false}' >> releasebody.json

View File

@@ -1,5 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY --> <!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-code-server/blob/focal/.github/CONTRIBUTING.md --> <!-- Please read the https://github.com/linuxserver/docker-code-server/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
@@ -36,7 +36,7 @@ Find us at:
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/code-server) [![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/code-server)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/code-server) [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/code-server)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/code-server) [![Docker Stars](https://img.shields.io/docker/stars/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/code-server)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-code-server%2Fjob%2Ffocal%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/focal/) [![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-code-server%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fcode-server%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/code-server/latest/index.html) [![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fcode-server%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/code-server/latest/index.html)
[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. [Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser.
@@ -70,7 +70,8 @@ This image provides various versions that are available via tags. `latest` tag u
| Tag | Description | | Tag | Description |
| :----: | --- | | :----: | --- |
| latest | Stable releases | | latest | Stable releases |
| focal | Stable releases, on a focal baseiamge | | focal | Stable releases, based on Ubuntu Focal |
| development | DEPRECATED (no longer updated) - Prereleases from their GitHub |
## Application Setup ## Application Setup
@@ -261,7 +262,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **12.07.21:** - Rebase to focal * **16.09.21:** - Fix slow `chown` on large workspace (contents of workspace folder no longer chowned).
* **11.07.21:** - Bump node to 14 to fix builds * **11.07.21:** - Bump node to 14 to fix builds
* **08.05.21:** - Fix doc link * **08.05.21:** - Fix doc link
* **04.02.20:** - Allow setting gui password via hash using env var `HASHED_PASSWORD`. * **04.02.20:** - Allow setting gui password via hash using env var `HASHED_PASSWORD`.

View File

@@ -6,7 +6,7 @@ external_type: na
custom_version_command: "curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '.\"dist-tags\".latest' | sed 's|^|v|'" custom_version_command: "curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '.\"dist-tags\".latest' | sed 's|^|v|'"
release_type: stable release_type: stable
release_tag: latest release_tag: latest
ls_branch: focal ls_branch: master
repo_vars: repo_vars:
- CONTAINER_NAME = 'code-server' - CONTAINER_NAME = 'code-server'
- BUILD_VERSION_ARG = 'CODE_RELEASE' - BUILD_VERSION_ARG = 'CODE_RELEASE'

View File

@@ -1,190 +1,185 @@
adduser3.118ubuntu2 adduser3.116ubuntu1
apt2.0.6 apt1.6.14
apt-utils2.0.6 apt-utils1.6.14
base-files11ubuntu5.4 base-files10.1ubuntu2.11
base-passwd3.5.47 base-passwd3.5.44
bash5.0-6ubuntu1.1 bash4.4.18-2ubuntu1.2
bsdutils1:2.34-0.1ubuntu9.1 bsdutils1:2.31.1-0.4ubuntu3.7
bzip21.0.8-2 bzip21.0.6-8.1ubuntu0.2
ca-certificates20210119~20.04.2 ca-certificates20210119~18.04.2
coreutils8.30-3ubuntu2 coreutils8.28-1ubuntu1
curl7.68.0-1ubuntu2.7 curl7.58.0-2ubuntu3.16
dash0.5.10.2-6 dash0.5.8-2.10
debconf1.5.73 debconf1.5.66ubuntu1
debianutils4.9.1 debianutils4.8.4
diffutils1:3.7-3 diffutils1:3.6-1
dirmngr2.2.19-3ubuntu2.1 dirmngr2.2.4-1ubuntu1.4
dpkg1.19.7ubuntu3 dpkg1.19.0.5ubuntu2.3
e2fsprogs1.45.5-2ubuntu1 e2fsprogs1.44.1-1ubuntu1.3
fdisk2.34-0.1ubuntu9.1 fdisk2.31.1-0.4ubuntu3.7
file1:5.38-4 file1:5.32-2ubuntu0.4
findutils4.7.0-1ubuntu1 findutils4.6.0+git+20170828-2
gcc-10-base10.3.0-1ubuntu1~20.04 gcc-8-base8.4.0-1ubuntu1~18.04
git1:2.25.1-1ubuntu3.2 git1:2.17.1-1ubuntu0.9
git-man1:2.25.1-1ubuntu3.2 git-man1:2.17.1-1ubuntu0.9
gnupg2.2.19-3ubuntu2.1 gnupg2.2.4-1ubuntu1.4
gnupg-l10n2.2.19-3ubuntu2.1 gnupg-l10n2.2.4-1ubuntu1.4
gnupg-utils2.2.19-3ubuntu2.1 gnupg-utils2.2.4-1ubuntu1.4
gpg2.2.19-3ubuntu2.1 gpg2.2.4-1ubuntu1.4
gpg-agent2.2.19-3ubuntu2.1 gpg-agent2.2.4-1ubuntu1.4
gpgconf2.2.19-3ubuntu2.1 gpgconf2.2.4-1ubuntu1.4
gpgsm2.2.19-3ubuntu2.1 gpgsm2.2.4-1ubuntu1.4
gpgv2.2.19-3ubuntu2.1 gpgv2.2.4-1ubuntu1.4
gpg-wks-client2.2.19-3ubuntu2.1 gpg-wks-client2.2.4-1ubuntu1.4
gpg-wks-server2.2.19-3ubuntu2.1 gpg-wks-server2.2.4-1ubuntu1.4
grep3.4-1 grep3.1-2build1
gzip1.10-0ubuntu4 gzip1.6-5ubuntu1.1
hostname3.23 hostname3.20
init-system-helpers1.57 init-system-helpers1.51
jq1.6-1ubuntu0.20.04.1 jq1.5+dfsg-2
krb5-locales1.17-6ubuntu4.1 krb5-locales1.16-2ubuntu0.2
less551-1ubuntu0.1 less487-0.1
libacl12.2.53-6 libacl12.2.52-3build1
libapt-pkg6.02.0.6 libapt-inst2.01.6.14
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1 libapt-pkg5.01.6.14
libassuan02.5.3-7ubuntu2 libasn1-8-heimdal7.5.0+dfsg-1
libattr11:2.4.48-5 libassuan02.5.1-2
libaudit11:2.8.5-2ubuntu6 libattr11:2.4.47-2build1
libaudit-common1:2.8.5-2ubuntu6 libaudit11:2.8.2-1ubuntu1.1
libblkid12.34-0.1ubuntu9.1 libaudit-common1:2.8.2-1ubuntu1.1
libbrotli11.0.7-6ubuntu0.1 libblkid12.31.1-0.4ubuntu3.7
libbsd00.10.0-1 libbsd00.8.7-1ubuntu0.1
libbz2-1.01.0.8-2 libbz2-1.01.0.6-8.1ubuntu0.2
libc62.31-0ubuntu9.2 libc62.27-3ubuntu1.4
libcap-ng00.7.9-2.1build1 libcap-ng00.7.7-3.1
libc-bin2.31-0ubuntu9.2 libc-bin2.27-3ubuntu1.4
libcbor0.60.6.0-0ubuntu1 libcom-err21.44.1-1ubuntu1.3
libcom-err21.45.5-2ubuntu1 libcurl3-gnutls7.58.0-2ubuntu3.16
libcrypt11:4.4.10-10ubuntu4 libcurl47.58.0-2ubuntu3.16
libcurl3-gnutls7.68.0-1ubuntu2.7 libdb5.35.3.28-13.1ubuntu1.1
libcurl47.68.0-1ubuntu2.7 libdebconfclient00.213ubuntu1
libdb5.35.3.28+dfsg1-0.6ubuntu2 libedit23.1-20170329-1
libdebconfclient00.251ubuntu1 liberror-perl0.17025-1
libedit23.1-20191231-1 libexpat12.2.5-3ubuntu0.2
liberror-perl0.17029-1 libext2fs21.44.1-1ubuntu1.3
libexpat12.2.9-1build1 libfdisk12.31.1-0.4ubuntu3.7
libext2fs21.45.5-2ubuntu1 libffi63.2.1-8
libfdisk12.34-0.1ubuntu9.1 libgcc11:8.4.0-1ubuntu1~18.04
libffi73.3-4 libgcrypt201.8.1-4ubuntu1.3
libfido2-11.3.1-1ubuntu2 libgdbm51.14.1-6
libgcc-s110.3.0-1ubuntu1~20.04 libgdbm-compat41.14.1-6
libgcrypt201.8.5-5ubuntu1.1 libgmp102:6.1.2+dfsg-2
libgdbm61.18.1-5 libgnutls303.5.18-1ubuntu1.5
libgdbm-compat41.18.1-5 libgpg-error01.27-6
libgmp102:6.2.0+dfsg-4 libgssapi3-heimdal7.5.0+dfsg-1
libgnutls303.6.13-2ubuntu1.6 libgssapi-krb5-21.16-2ubuntu0.2
libgpg-error01.37-1 libhcrypto4-heimdal7.5.0+dfsg-1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1 libheimbase1-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.17-6ubuntu4.1 libheimntlm0-heimdal7.5.0+dfsg-1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1 libhogweed43.4.1-0ubuntu0.18.04.1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1 libhx509-5-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1 libidn2-02.0.4-1.1ubuntu0.2
libhogweed53.5.1+really3.5.1-2ubuntu0.2 libjq11.5+dfsg-2
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1 libk5crypto31.16-2ubuntu0.2
libidn2-02.2.0-2 libkeyutils11.5.9-9.2ubuntu2
libjq11.6-1ubuntu0.20.04.1 libkrb5-26-heimdal7.5.0+dfsg-1
libk5crypto31.17-6ubuntu4.1 libkrb5-31.16-2ubuntu0.2
libkeyutils11.6-6ubuntu1 libkrb5support01.16-2ubuntu0.2
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2 libksba81.3.5-2
libldap-2.4-22.4.49+dfsg-2ubuntu1.8 libldap-2.4-22.4.45+dfsg-1ubuntu1.10
libldap-common2.4.49+dfsg-2ubuntu1.8 libldap-common2.4.45+dfsg-1ubuntu1.10
liblz4-11.9.2-2ubuntu0.20.04.1 liblz4-10.0~r131-2ubuntu3.1
liblzma55.2.4-1ubuntu1 liblzma55.2.2-1.3
libmagic11:5.38-4 libmagic11:5.32-2ubuntu0.4
libmagic-mgc1:5.38-4 libmagic-mgc1:5.32-2ubuntu0.4
libmount12.34-0.1ubuntu9.1 libmount12.31.1-0.4ubuntu3.7
libmpdec22.4.2-3 libncurses56.1-1ubuntu1.18.04
libncurses66.2-0ubuntu2 libncursesw56.1-1ubuntu1.18.04
libncursesw66.2-0ubuntu2 libnettle63.4.1-0ubuntu0.18.04.1
libnettle73.5.1+really3.5.1-2ubuntu0.2 libnghttp2-141.30.0-1ubuntu1
libnghttp2-141.40.0-1build1 libnpth01.5-3
libnpth01.6-1 libonig46.7.0-1
libonig56.9.4-1 libp11-kit00.23.9-2ubuntu0.1
libp11-kit00.23.20-1ubuntu0.1 libpam0g1.1.8-3.6ubuntu2.18.04.3
libpam0g1.3.1-5ubuntu4.2 libpam-modules1.1.8-3.6ubuntu2.18.04.3
libpam-modules1.3.1-5ubuntu4.2 libpam-modules-bin1.1.8-3.6ubuntu2.18.04.3
libpam-modules-bin1.3.1-5ubuntu4.2 libpam-runtime1.1.8-3.6ubuntu2.18.04.3
libpam-runtime1.3.1-5ubuntu4.2 libpcre32:8.39-9
libpcre2-8-010.34-7 libperl5.265.26.1-6ubuntu0.5
libpcre32:8.39-12build1 libprocps62:3.3.12-3ubuntu1.2
libperl5.305.30.0-9ubuntu0.2 libpsl50.19.1-5build1
libprocps82:3.3.16-1ubuntu2.3 libpython2.7-minimal2.7.17-1~18.04ubuntu1.6
libpsl50.21.0-1ubuntu1 libpython2.7-stdlib2.7.17-1~18.04ubuntu1.6
libpython3.8-minimal3.8.10-0ubuntu1~20.04.1 libpython-stdlib2.7.15~rc1-1
libpython3.8-stdlib3.8.10-0ubuntu1~20.04.1 libreadline77.0-3
libpython3-stdlib3.8.2-0ubuntu2 libroken18-heimdal7.5.0+dfsg-1
libreadline88.0-4 librtmp12.4+20151223.gitfa8646d.1-1
libroken18-heimdal7.7.0+dfsg-1ubuntu1 libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
librtmp12.4+20151223.gitfa8646d.1-2build1 libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
libsasl2-22.1.27+dfsg-2 libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
libsasl2-modules2.1.27+dfsg-2 libseccomp22.5.1-1ubuntu1~18.04.1
libsasl2-modules-db2.1.27+dfsg-2 libselinux12.7-2build2
libseccomp22.5.1-1ubuntu1~20.04.1 libsemanage12.7-2build2
libselinux13.0-1build2 libsemanage-common2.7-2build2
libsemanage13.0-1build2 libsepol12.7-1
libsemanage-common3.0-1build2 libsmartcols12.31.1-0.4ubuntu3.7
libsepol13.0-1 libsqlite3-03.22.0-1ubuntu0.4
libsmartcols12.34-0.1ubuntu9.1 libss21.44.1-1ubuntu1.3
libsqlite3-03.31.1-4ubuntu0.2 libssl1.0.01.0.2n-1ubuntu5.7
libss21.45.5-2ubuntu1 libssl1.11.1.1-1ubuntu2.1~18.04.13
libssh-40.9.3-2ubuntu2.2 libstdc++68.4.0-1ubuntu1~18.04
libssl1.11.1.1f-1ubuntu2.8 libsystemd0237-3ubuntu10.52
libstdc++610.3.0-1ubuntu1~20.04 libtasn1-64.13-2
libsystemd0245.4-4ubuntu3.13 libtinfo56.1-1ubuntu1.18.04
libtasn1-64.16.0-2 libudev1237-3ubuntu10.52
libtinfo66.2-0ubuntu2 libunistring20.9.9-0ubuntu2
libudev1245.4-4ubuntu3.13 libuuid12.31.1-0.4ubuntu3.7
libunistring20.9.10-2 libwind0-heimdal7.5.0+dfsg-1
libuuid12.34-0.1ubuntu9.1 libx11-62:1.6.4-3ubuntu0.4
libwind0-heimdal7.7.0+dfsg-1ubuntu1 libx11-data2:1.6.4-3ubuntu0.4
libx11-62:1.6.9-2ubuntu1.2 libxau61:1.0.8-1ubuntu1
libx11-data2:1.6.9-2ubuntu1.2 libxcb11.13-2~ubuntu18.04
libxau61:1.0.9-0ubuntu1 libxdmcp61:1.1.2-3
libxcb11.14-2 libxext62:1.3.3-1
libxdmcp61:1.1.3-0ubuntu1 libxmuu12:1.1.2-2
libxext62:1.3.4-0ubuntu1 libzstd11.3.3+dfsg-2ubuntu1.2
libxmuu12:1.1.3-0ubuntu1 locales2.27-3ubuntu1.4
libzstd11.4.4+dfsg-3ubuntu0.1 login1:4.5-1ubuntu2
locales2.31-0ubuntu9.2 lsb-base9.20170808ubuntu1
login1:4.8.1-1ubuntu5.20.04.1 mawk1.3.3-17ubuntu3
logsave1.45.5-2ubuntu1 mime-support3.60ubuntu1
lsb-base11.1.0ubuntu2 mount2.31.1-0.4ubuntu3.7
mawk1.3.4.20200120-2 multiarch-support2.27-3ubuntu1.4
mime-support3.64ubuntu1 nano2.9.3-2
mount2.34-0.1ubuntu9.1 ncurses-base6.1-1ubuntu1.18.04
nano4.8-1ubuntu1 ncurses-bin6.1-1ubuntu1.18.04
ncurses-base6.2-0ubuntu2 netbase5.4
ncurses-bin6.2-0ubuntu2 net-tools1.60+git20161116.90da8a0-1ubuntu1
netbase6.1 nodejs14.18.1-1nodesource1
net-tools1.60+git20180626.aebd88e-1ubuntu1 openssh-client1:7.6p1-4ubuntu0.5
nodejs14.18.1-deb-1nodesource1 openssl1.1.1-1ubuntu2.1~18.04.13
openssh-client1:8.2p1-4ubuntu0.3 passwd1:4.5-1ubuntu2
openssl1.1.1f-1ubuntu2.8 patch2.7.6-2ubuntu1.1
passwd1:4.8.1-1ubuntu5.20.04.1 perl5.26.1-6ubuntu0.5
patch2.7.6-6 perl-base5.26.1-6ubuntu0.5
perl5.30.0-9ubuntu0.2 perl-modules-5.265.26.1-6ubuntu0.5
perl-base5.30.0-9ubuntu0.2 pinentry-curses1.1.0-1
perl-modules-5.305.30.0-9ubuntu0.2 procps2:3.3.12-3ubuntu1.2
pinentry-curses1.1.0-3build1 publicsuffix20180223.1310-1
procps2:3.3.16-1ubuntu2.3 python2.7.15~rc1-1
publicsuffix20200303.0012-1 python2.72.7.17-1~18.04ubuntu1.6
python33.8.2-0ubuntu2 python2.7-minimal2.7.17-1~18.04ubuntu1.6
python3.83.8.10-0ubuntu1~20.04.1 python-minimal2.7.15~rc1-1
python3.8-minimal3.8.10-0ubuntu1~20.04.1 readline-common7.0-3
python3-minimal3.8.2-0ubuntu2 sed4.4-2
readline-common8.0-4 sensible-utils0.0.12
sed4.7-1 sudo1.8.21p2-3ubuntu1.4
sensible-utils0.0.12+nmu1 sysvinit-utils2.88dsf-59.10ubuntu1
sudo1.8.31-1ubuntu1.2 tar1.29b-2ubuntu0.2
sysvinit-utils2.96-2.1ubuntu1 tzdata2021e-0ubuntu0.18.04
tar1.30+dfsg-7ubuntu0.20.04.1 ubuntu-keyring2018.09.18.1~18.04.2
tzdata2021a-2ubuntu0.20.04 util-linux2.31.1-0.4ubuntu3.7
ubuntu-keyring2020.02.11.4 xauth1:1.0.10-1
util-linux2.34-0.1ubuntu9.1 xz-utils5.2.2-1.3
xauth1:1.1-0ubuntu1
xz-utils5.2.4-1ubuntu1
yarn1.22.15-1 yarn1.22.15-1
zlib1g1:1.2.11.dfsg-2ubuntu1.2 zlib1g1:1.2.11.dfsg-0ubuntu2

View File

@@ -29,7 +29,8 @@ available_architectures:
development_versions: true development_versions: true
development_versions_items: development_versions_items:
- { tag: "latest", desc: "Stable releases" } - { tag: "latest", desc: "Stable releases" }
- { tag: "focal", desc: "Stable releases, on a focal baseiamge" } - { tag: "focal", desc: "Stable releases, based on Ubuntu Focal" }
- { tag: "development", desc: "DEPRECATED (no longer updated) - Prereleases from their GitHub" }
# container parameters # container parameters
common_param_env_vars_enabled: true common_param_env_vars_enabled: true
@@ -75,7 +76,7 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "12.07.21:", desc: "Rebase to focal" } - { date: "16.09.21:", desc: "Fix slow `chown` on large workspace (contents of workspace folder no longer chowned)." }
- { date: "11.07.21:", desc: "Bump node to 14 to fix builds" } - { date: "11.07.21:", desc: "Bump node to 14 to fix builds" }
- { date: "08.05.21:", desc: "Fix doc link" } - { date: "08.05.21:", desc: "Fix doc link" }
- { date: "04.02.20:", desc: "Allow setting gui password via hash using env var `HASHED_PASSWORD`." } - { date: "04.02.20:", desc: "Allow setting gui password via hash using env var `HASHED_PASSWORD`." }

View File

@@ -18,5 +18,20 @@ if [ -n "${SUDO_PASSWORD}" ] || [ -n "${SUDO_PASSWORD_HASH}" ]; then
fi fi
# permissions # permissions
chown -R abc:abc \ if [ -f "/usr/bin/find" ] && [ -f "/usr/bin/xargs" ]; then
/config 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
fi