Comments (4)
Hey all,
Thank you for the Issue. We've gotten this request before. Normally, I would tell you it's coming, link off the to feature request, and close this. I think this request is especially desired by Node.js users so I will leave this Issue open until it is completed.
To get to the point, this will happen in the near future though I don't current'y have a date. You can track this request here on this GitHub Issue or the CircleCI Feature Request I created for this. You can upvote there to help push this along.
I do want to provide a little info as to why this isn't complete yet and why PR #132 wasn't merged. For the next-gen Convenience Images (the images on Docker Hub that are prefixed with cimg/
, we have a shared build system for all of the images. This shared build system is used to build all Dockerfiles as well as the tags that each image will get.
This system do not yet support major version only tags. There's a few version for this:
- In the past, users using this kind of tag, getting a larger update that they expected (from the software upstream, not us) and then blaming us for the breaking change. Limiting to minor versions so far has helped us mitigate some of these problems.
- We need to occasionally change software in an image. For the Node.js image for example, it's not just the Node.js version that we pay attention to. There's npm, Yarn, Docker, git, and the Ubuntu base image itself. We don't make these changes to an image once it's tag has been published for stability, but we have to eventually. We try to do these within major versions as to limit the interruptions. Having a major version only tag, as requested, increases the likelihood that a future build of yours may break without any changes from you. This will be a trade off that we want to make extremely clear and upfront before we support major version only tags.
- There's other related work that needs to happen to our build system regarding versions. For example, there's the effort to add beta and RC releases to Convenience Images. This requires more complex logic to support beta and release candidate images for a particular major version, while still keeping to alias pointing only as stable releases.
To sum up, support is coming for this, and the Node.js image will be the first image to get this support when it comes.
from cimg-node.
Closing this for now but please read my previous comment.
from cimg-node.
@felicianotech Just to check β a year ago you said it was coming soon, and last month you closed it referring to the previous comment. Does that mean it is still coming soon? This would be super helpful.
from cimg-node.
It may not be mentioned as prominently as it should be in CircleCI docs, but the Node orb can install any version that nvm
accepts. I've used this workaround a couple of time.
So a pipeline like this may accomplish your goals:
version: 2.1
executors:
linux:
docker:
- image: cimg/base:stable
orbs:
node: circleci/node@5
jobs:
run-tests:
parameters:
node-version:
type: string
executor: linux
steps:
- checkout
- node/install:
node-version: << parameters.node-version >>
- node/install-packages
- run:
name: Run tests
command: npm run test:ci
workflows:
version: 2
test:
jobs:
- run-tests:
matrix:
parameters:
node-version: [ "12", "14", "16", "latest"]
(I didn't test this)
For Windows/OSX jobs I think nvm is still present. The general idea works, but you might not be able to use docker.
from cimg-node.
Related Issues (20)
- Latest version of image run out of memory HOT 2
- Recent versions of image cause jest to fail HOT 1
- permissions on node 16:17 HOT 1
- Using the image in other CI tools HOT 3
- shallow checkout HOT 5
- /home/circleci/.local/bin is in path but doesnβt exist by default HOT 2
- Can you create this image please? HOT 1
- Publish major version (only) tag pointing at the latest build for a major node version HOT 1
- Base Ubuntu version changing HOT 2
- cimg/node:16.18 & cimg/node:16.19: "Mongod instance closed with code \"127\"" was thrown, throw an Error :) HOT 2
- Migrating from circleci/node:16.13-browsers to cimg/node:16-13 HOT 2
- Feature Request: Update open JDK to the next LTS HOT 4
- Feature Request: Include Bun (bun install) HOT 1
- Bug Report: Missing Node.js 20.6.1 release
- Feature Request: cimg/node browsers arm64 support HOT 2
- Bug Report: wrong LTS version HOT 3
- Feature Request: Update open JDK in -browsers image to the next LTS (17)
- Bug Report: automated-wf is broken
- Feature Request: variant with browsers and test drivers preinstalled
- Feature Request: February Node security releases HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cimg-node.