diff --git a/.github/promote-images.yml b/.github/promote-images.yml index da19233c0..9a02dd465 100644 --- a/.github/promote-images.yml +++ b/.github/promote-images.yml @@ -14,6 +14,7 @@ workspace-nix: "2023.*" workspace-node: "2023.*" workspace-node-lts: "2023.*" + workspace-node-18: "2023.*" workspace-python: "2023.*" workspace-python-3.8: "2023.*" workspace-python-3.9: "2023.*" diff --git a/.github/sync-containers.yml b/.github/sync-containers.yml index b179676d0..c30edf1f7 100644 --- a/.github/sync-containers.yml +++ b/.github/sync-containers.yml @@ -11,6 +11,7 @@ sync: - nix - node - node-lts + - node-18 - python - python-3.8 - python-3.9 diff --git a/CHANGELOG.md b/CHANGELOG.md index f821f1546..e83601f30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ A curated, chronologically ordered list of notable changes in [Gitpod's default workspace images](https://hub.docker.com/u/gitpod). +## 2023-10-19 + +- Node 20 replaces Node 18 as the current LTS +- Introduce Node `21.0.0` in `workspace-node` +- Introduce `workspace-node-18` for those, who aren't ready to upgrade just yet + ## 2023-10-12 - Reintroduce `gitpod/workspace-python-3.10`, `gitpod/workspace-python-3.9` and `gitpod/workspace-python-3.8` diff --git a/README.md b/README.md index a0f3d9e88..ea12c0541 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Build from Main](https://github.com/gitpod-io/workspace-images/actions/workflows/push-main.yml/badge.svg)](https://github.com/gitpod-io/workspace-images/actions/workflows/push-main.yml) Ready-to-use Docker images for [gitpod.io](https://www.gitpod.io) workspaces. -All images are available on [Gitpod's Dockerhub page](https://hub.docker.com/u/gitpod). +All images are available on [Gitpod's Docker Hub page](https://hub.docker.com/u/gitpod). For an example of how to use these images, please take a look at the [documentation](https://www.gitpod.io/docs/configure/workspaces/workspace-image#configure-a-public-docker-image). @@ -53,13 +53,26 @@ Each contains a set of chunks: a common base, and a language, and includes Docke - [`gitpod/workspace-java-17`](https://hub.docker.com/r/gitpod/workspace-java-17) ✅ - [`gitpod/workspace-node`](https://hub.docker.com/r/gitpod/workspace-node) ✅ - [`gitpod/workspace-node-lts`](https://hub.docker.com/r/gitpod/workspace-node-lts) ✅ +- [`gitpod/workspace-node-18`](https://hub.docker.com/r/gitpod/workspace-node-18) ✅ - [`gitpod/workspace-python`](https://hub.docker.com/r/gitpod/workspace-python) ✅ +- [`gitpod/workspace-python-3.8`](https://hub.docker.com/r/gitpod/workspace-python-3.8) ✅ +- [`gitpod/workspace-python-3.9`](https://hub.docker.com/r/gitpod/workspace-python-3.9) ✅ +- [`gitpod/workspace-python-3.10`](https://hub.docker.com/r/gitpod/workspace-python-3.10) ✅ +- [`gitpod/workspace-python-3.11`](https://hub.docker.com/r/gitpod/workspace-python-3.11) ✅ +- [`gitpod/workspace-python-3.12`](https://hub.docker.com/r/gitpod/workspace-python-3.12) ✅ - [`gitpod/workspace-ruby-3`](https://hub.docker.com/r/gitpod/workspace-ruby-3) ✅ - [`gitpod/workspace-ruby-3.0`](https://hub.docker.com/r/gitpod/workspace-ruby-3.0) ✅ - [`gitpod/workspace-ruby-3.1`](https://hub.docker.com/r/gitpod/workspace-ruby-3.1) ✅ - [`gitpod/workspace-rust`](https://hub.docker.com/r/gitpod/workspace-rust) ✅ - [`gitpod/workspace-elixir`](https://hub.docker.com/r/gitpod/workspace-elixir) ✅ +#### Versions we'll maintain + +For images dedicated to Java, Node, Python and Ruby, their lifecycle generally works as follows: + +- If an image does not have a version in its name, we try to keep it at its latest stable version +- If an image is versioned (like `workspace-python-3.12`), we'll support it until it reached End of Life + ### 🎬 No upgrade planned ⚠️ These images are no longer being published, and are not planned for Upgrade: diff --git a/chunks/lang-node/chunk.yaml b/chunks/lang-node/chunk.yaml index 706282642..4a89d162e 100644 --- a/chunks/lang-node/chunk.yaml +++ b/chunks/lang-node/chunk.yaml @@ -5,3 +5,6 @@ variants: - name: "20" args: NODE_VERSION: 20.8.1 + - name: "21" + args: + NODE_VERSION: 21.0.0 diff --git a/dazzle.yaml b/dazzle.yaml index 502420a24..dd67b1350 100644 --- a/dazzle.yaml +++ b/dazzle.yaml @@ -12,7 +12,7 @@ combiner: - lang-c - lang-go:1.21 - lang-java:11 - - lang-node:18 + - lang-node:20 - tool-brew - name: c ref: @@ -37,7 +37,7 @@ combiner: - lang-clojure - lang-go:1.21 - lang-java:11 - - lang-node:18 + - lang-node:20 - lang-python:3.12 - lang-ruby:3.2 - lang-rust:1 @@ -64,9 +64,15 @@ combiner: ref: - base chunks: - - lang-node:20 + - lang-node:21 - tool-chrome - name: node-lts + ref: + - base + chunks: + - lang-node:20 + - tool-chrome + - name: node-18 ref: - base chunks: @@ -160,7 +166,7 @@ combiner: - lang-clojure - lang-go:1.21 - lang-java:11 - - lang-node:18 + - lang-node:20 - lang-ruby:3.2 - lang-rust:1 - tool-brew @@ -175,7 +181,7 @@ combiner: - lang-clojure - lang-go:1.21 - lang-java:11 - - lang-node:18 + - lang-node:20 - lang-ruby:3.2 - lang-rust:1 - tool-brew diff --git a/tests/lang-node.yaml b/tests/lang-node.yaml index 3eeed93d1..000cdc2e8 100644 --- a/tests/lang-node.yaml +++ b/tests/lang-node.yaml @@ -4,7 +4,8 @@ assert: - status == 0 - stdout.indexOf("v18") != -1 || - stdout.indexOf("v20") != -1 + stdout.indexOf("v20") != -1 || + stdout.indexOf("v21") != -1 - desc: it should have yarn command: [yarn --version] entrypoint: [bash, -i, -c]