New extraInitContainers configuration added.
It allows to pass template with a list of containers to execute before
main code-server container started. Main container will only start when
all init containers are completed (exited with 0 code).
Additionally changes the way extraContainers is used - instead of
toYaml use tpl, because this allows to
reference any values from extraContainers string.
* Check the logged user instead of $USER
Given that `sudo usermod --login "$DOCKER_USER" coder` and `sudo groupmod -n "$DOCKER_USER" coder` modify the container's disk it'll persist across restarts, but environment variables will be reset to whatever state they had at the end of `Dockerfile`. In this case, `$USER` is set to `coder`, so this branch will always be true.
By checking with the output of `whoami`, which gets it's information from `/etc/passwd`, we make sure to get the real logged user and not the one defined by $USER.
We also move `USER="$DOCKER_USER"` out of the branch, since we always want this to happen at entry-point. If we don't do this assignment, $USER will contain `coder` upon restart.
* Update entrypoint.sh
Check `$DOCKER_USER` was defined before copying it to `$USER`.
Nearly completely replace the original GitHub actions workflow.
Changes:
- Move from `.sh` files in `ci/steps` to steps in the workflow.
- Move from using docker images for environment to manual setup.
- Upgrade nfpm to v2.3.1
BREAKING CHANGE: official arm64 builds no longer support CentOS 7.
If you need to use CentOS 7 on arm64, build `code-server` locally.
For docs, see the yarn/npm section in `docs/install.md`.
native-keymap and keytar are only used in the electron process,
so we don't need them. This allows us to drop our dependencies on
libx11-dev, libxkbfile-dev, and libsecret-dev.