We keep all the changes for both this fork and the upstream changes we merged. Anything in the In this fork
section with breaking changes (BREAKING
) should read the linked issue for migration guide, although if you go alone,
please proceed at your own risk.
This section contains different changes we made in the images under the gitpodified-workspace-images
RHQCR namespace, incluuding the stuff
happened in this repository. Keep scrolling for the upstream's changelog entries. For fully chronological changelogs, please see the Git commit
log/history for recaptime-dev-mainline
branch. Dates written here in this section is in Philippine Standard Time.
- FEAT: Merge upstream changes since gitpod-io#593
- CHORE: Move
zshrc.d
files from old full directory into base image. - CHORE Another round of upstream changes merging with the addition of utility tools related to Skopeo and Dazzle
- CI: Update GitLab CI config to handle Dazzle builds
- CHORE: More updates sm the devkt scripts and
- STYLE: Run pre-commit on all files and do some commit linter changes
- CHORE: Add more tools to the workspace Dockerfile
- CHORE/FIX/CI: More chaos management while fixing the broken
pre-commit run --all-files
warmup on Alpine Linux. - FEAT: Add more packages to Homebrew layer and add Bashbox to the mix.
- DOCS: Expand contributing guidelines and add one scope to the Conventional Commits VSCE settings in workspace settings ofr the repo
- CHORE: Another round of merging changes from upstream.
- CI add an custom Docker image for CI, initially use Alpine Linux as the base and then Debian 11 using the
buildpacks-deps
image of it. - CHORE: Update envrc file to add more GitLab CI-related environment variables
- CHORE: Update GitLab issue templates btw.
- CHORE: Another round of merging changes from upstream, with some resolving conflicts in root gitignore file.
- CHORE: Add support for custom tags and handle selective builds via wrapper
- CI: Update base config for local registry setup.
- FEAT: Add bashbox to
ws-full
image. - CHORE: Configure Conventional Commits VSC extension and even add it to Gitpod config's
vscode.extensions
key. - CI: Make
pull-image
CI script executable. - CHORE: Update
pull-image
script to support skipping pulling images from remote repositories. - CHORE: Disable autocommit in Conventional Commits extension
- CHORE: Fix syntax issue on
docker-build
CI script and implemented an quick refinement ondocker-cli-login
script. - FEAT: Bale build-artifacts tag name and other metadata to
ws-base
andws-full
images - FIX: More chaotic fixes to syntax errors on
docker-build
script.
After the bloddy debugging hell last week, the build works, but the tagging gone brr.
- CHORE: Enable debugging mode in
docker-build
CI script. - CI: Add support for selectively build an specific image when
CI_SELECTIVE_BUILD
is set to true.- Currently supports just one context dir for now and we also setup an symlink at
selective-build-push
by the way.
- Currently supports just one context dir for now and we also setup an symlink at
- FIX: Fix an CI config bug in reason why
ws-full:build
failed to run ifws-base:build
doesn't exist. - CHORE: Improve help text and skip failed-to-push tags in
publish-image
CI script. - FEAT: Use Zsh as default shell, currently on
ws-full
. - REFRACTOR: Revamp some global configs into default key.s
- Because global
variables
isn't deprecated yet, we did an quick fix on that.
- Because global
- CHORE: Add
commit-trigger-build-file
script with symlinkcreate-dummy-commit
for generating.trigger-build
file. - CHORE: Move base Zsh config and OhMyZsh install step to base image and add image metadata for debugging purposes and to allow auditing in the future.
- FEAT: Support build args logic stuff for
docker-build
CI script. - CHORE: Update README with some additions and raise failure threshold for Hadolint to
warning
. - CHORE/MERGE: Branch sync with upstream main branch from commit https://github.com/gitpod-io/workspace-images/commit/f2d623ca9d270c2ce8560d2ca0f9ce71b105aff2.
- CHORE: Optmize Rust layer to install additional tooling in one layer.
- FIX: Fix an bug on sourcing Nixery stuff in dash during build.
- CI: Handle image caching and trigger rebuilds in scheduled jobs
- FIX: Fix missing pyenv and Python shims on both Dockerfile and adding an Python-specific zshrc on
ws-full
.
Work still continues even on New Year's Day, but things will slow down a bit since the lead dev will do schoolwork by Sunday or Monday.
- CHORE: Add Docker-in-Docker related variables, as per https://pythonspeed.com/articles/gitlab-build-docker-image/.
- DOCS: Add authoring guidelines, among other things to contributing docs.
- CI: Add an while-loop script to time in when Docker daemon goes up, also lock daemon image to 20.10.12 in Alpine 3.15.
- FIX: Update default DIND port to probe to
2375
.1 - FEAT: Sleep for another 15s after TCP socket is up in
wait-docker-tcp
CI script - FIX Ensure
ws-base:build
actually builds image frombase/Dockerfile
, not fromfull/Dockerfile
. - CHORE: Add more usage text on
docker-build
, fix an bug inpublish-image
and disabled SC2086 inlint-scripts
- We do not lnger rely on the sluggified value of
git rev-parse --abbrev-ref HEAD
and instead rely onCI_COMMIT_REF_SLUG
variable instead if we're inside an GitLab CI runner.
- We do not lnger rely on the sluggified value of
- CI: Enable linting our CI scripts thrugh the
lint-scripts
script.
Last-minute changelogs before the ball drops to 2022 were included in the last weekdays of 2021.
- CI: Add
DOCKER_HOST
variable to fixIs Docker daemon running
error on CI. - FEAT/CI: Add
run-in-doppler
script as we're slowly migrating our secret management to Doppler. - BREAKING/CI: Switch the image we using for builds to Alpine edge. The problem here why CI takes 4 minutes pulling 2-3 GBs of hentai from Red Hat Quay Container Registry
(just kidding, @ajhalili2006 didn't hid some sort of Linus S*x Tips inside the image), among moving
before_script
commands to the base config. - FIX: Fix syntax errors on
docker-cli-login
script finally after bloody 2~ days of debugging. - CHORE: Update global
before_script
again into an one-item stuff in multi-line style. - CI: Add
ws-base:build
job to the docker-build CI config, fix job rules forws-dotnet:lint
and addfindutils
Alpine package. - FIX: Add compartibility if-then statement for var name migration stuff, fixed quick typo on ws-base:buid's needs key.
- CHORE: Enable command debugging via
set -x
to find whyws-*:build
fails under the usage ofdocker-build
script. - FIX: Improve arg checking on
docker-build
script, may update later if needed.
- REFRACTOR: Refractored lint metascript for CI to fix some syntax issues and re-enabled
ws-full:build
step.- The
docker-build
script doesn't exist yet, so will be WIP for now.
- The
- CI: Change default ws-image build artifacts repo to
quay.io/gitpodified-workspace-images/build-artifacts
as we use the bot account. Also adddocker-build
while the ws-team upstream is working on upgrading the repo to per-chunk basis.- See commit https://github.com/gitpod-io/dazzle/commit/ceaa19ef6562e03108c8ea9474d2c627a452a7ca for details. We may need to setup an Docker registry as an service on GitLab CI for this to work.
- CI: Fix
docker-cli-login
script stuff.
- CHORE: Bump Node.js LTS to
v16.13.1
and gopls tov0.7.4
- REFRACTOR: Manually merge gitpod-io#587 by hand.
- CHORE: Move back other .NET-related Dockerfiles in subdirectories to the main
dotnet
, withDockerfile
as the file extension for syntax detection. - FIX: Finally fix an bug on recursive SC script on why it only scans directories, along with improvements.
- CI: Update
needs
and addrules
for the Docker linting stage in GitLab CI, extending previous work in https://gitlab.com/gitpodify/gitpodified-workspace-images/commit/1e7d07a400f10aac5e45a40adab245e4b8e4a069.- Additional fixes were commited to avoid missing job deps in the future.
- CHORE: Add support for exporting vars from
.env
file. The.env.exmple
file provided should help contributors and core devs to also add more vars as needed to simulate GitLab CI environment withoutgitlab-runner
binary. - CHORE: Update gitignore to ignore swap and dotenv files.
- CHORE: Add devkit scripts with symlinked
scripts
for ease + update Hadolint config
- CI: Add needs option to each job to control job order in GitLab CI.
- CI: Fix an bug on recursive ShellCheck script on also linting Dockerfiles with an
! -path
directive.
- FEAT: Add
uuid
Ubuntu package to base image
- CHORE: Add an little trick in .envrc file to automagically simulate merge request events without GitLab Runner CLI.
- DOCS: Squash spelling bugs and list which packages we use is required or not in contributing docs
- CHORE: Add if-then logic on
.envrc
for settingCI_PIPELINE_SOURCE
tomerge_request_event
. - CI: Update root GitLab CI config to reflect filename changes since https://gitlab.com/gitpodify/gitpodified-workspace-images/-/commit/0988751df8385ea407b27706b9b0bed5d0543261.
- FEAT: Add ShellCheck, Hadolint and direnv to the full image.
- FEAT: Actually rebased against upstream default branch to keep things in sync.
- CHORE: Add some new variables automagically populated through
direnv
to simulate GitLab CI environment for scripts on localhost and Gitpod. - DOCS: Update docs again regarding not using Dazzle in both README and in contributing docs. Also add some more docs on usage and FAQ.
- CHORE: Move the
shell-tools-and-hadolint
Dazzle layer before the prologue and also fix some stuff infull
Dockerfile. - CI: Add Hadolint config for ignoring some warnings and errors, particularly
sudo
usage.
- CI: Ditch Circle CI config and switch to GitHub Actions for meanwhile. Image builds are now handled by Quay for the
base
directory for now. - CHORE: Migrated all Dockerfiles' base image to their RHQCR counterparts on
gitpodified-workspace-images
- CHORE: Update security policy, contributing guidelines and README
- CHORE: Seperate changelog entries for this fork from upstream changes
A curated, chronologically ordered list of notable changes in the upstream's default workspace images, as we'll keep stuff in sync.
- Release workspace-full latest tag built using dazzle v2
- Upgrade to dazzle v2 & use GitHub Actions for build
- Bump Go version to 1.16.6
- Bump rust to 1.54.0
- Bump node.js to v14.17.4
- Bump docker-compose to 1.29.2
- Add golangci-lint
- Add ripgrep
- Add cargo-workspaces to cargo utils
- Add git-lfs
- Bump Go version to 1.16.5
- Bump nvm.sh to v0.38.0
- Introduce pre-commit checks
- Run shellcheck in shell scripts
- Bump Node.js version following a security alert: gitpod-io/workspace-images#243
- Upgrade all Go tools to get the latest
gopls
, and remove brokengolangci-lint
gitpod-io/workspace-images#237 - Make Python 3 the default
python
version (usepyenv local 2.7.17
to go back to Python 2) gitpod-io/workspace-images#214
- Downgrade Ruby
2.7.1
→2.6.6
(because Solargraph doesn't support latest Bundler2.1.4
yet) e9281a20
- Upgrade to Rust
1.43.1
gitpod-io/workspace-images#230 - Fix the persistence of Ruby gems in
/workspace/.rvm
with a custom.rvmrc
gitpod-io/workspace-images#223 - Upgrade RVM's Ruby from
2.5
→2.5.8
and2.6
→2.7.1
gitpod-io/workspace-images#213
- Fix Ubuntu 20.04 based
gitpod/workspace-dotnet
andgitpod/workspace-dotnet-vnc
images by installing .NET Core SDK 3.1 binaries gitpod-io/workspace-images#218
- Best practice: Don't stay as
USER root
ingitpod/workspace-full-vnc
gitpod-io/workspace-images#215 - Add bash auto-completion for
cargo
gitpod-io/workspace-images#216
- Upgrade Pyenv's Python from
3.7.7
→3.8.2
gitpod-io/workspace-images#212 - Drop support of .NET
2.2
, because it reached end-of-life on 2019-12-23
- Fix PostgreSQL image and pin to PostgreSQL version
12
gitpod-io/workspace-images#209 - Upgrade Rust
1.41.1
→1.42.0
gitpod-io/workspace-images#207 - Fix MySQL image by updating mysql.cnf for MySQL
8
, fixes gitpod-io/gitpod#1399
- Upgrade from Ubuntu
19.04
→ Ubuntu20.04 LTS
, because19.04
reached end-of-life and all its apt packages got deleted gitpod-io/gitpod#1398 - Upgrade Java
11.0.5.fx-zulu
→11.0.6.fx-zulu
- Make noVNC (virtual desktop) automatically reconnect if the connection is dropped, and enable noVNC toolbar gitpod-io/workspace-images#170
- Upgrade Node.js from
v10
→v12 LTS
(to pin a specific version, see this workaround)
Inspired by keepachangelog.com.
Footnotes
-
Another one bites the dust, since we used the wrong port again with
2376
. Thanks GitLab Docs for the troubleshooting! ↩