Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[code] support previous and current ubuntu LTS #3969

Merged
merged 1 commit into from
Apr 22, 2021

Conversation

akosyakov
Copy link
Member

@akosyakov akosyakov commented Apr 16, 2021

What it does

How to test

@akosyakov akosyakov force-pushed the akosyakov/code-support-ubuntu-lts-3832 branch 10 times, most recently from 429734b to 8a1142c Compare April 16, 2021 09:01
@akosyakov akosyakov changed the title support previous and current ubuntu LTS [code] support previous and current ubuntu LTS Apr 16, 2021
@akosyakov akosyakov force-pushed the akosyakov/code-support-ubuntu-lts-3832 branch 17 times, most recently from af71051 to e428e64 Compare April 21, 2021 14:52
@akosyakov akosyakov force-pushed the akosyakov/code-support-ubuntu-lts-3832 branch from e428e64 to edc7808 Compare April 21, 2021 14:52
@akosyakov akosyakov marked this pull request as ready for review April 21, 2021 14:53
@markfirmware
Copy link

@akosyakov Will this provide something like

image: gitpod/workspace-18.04-full-vnc

in .gitpod.yml?

I have a vnc use case that needs 18.04 and I would like to see the image maintained at gitpod. (My use case also requires a small update on top of 18.04 which is performed by a sudo in the workspace.)

@akosyakov
Copy link
Member Author

No, it is about building VS Code in such way that it can run on workspace images based on ubuntu 18.04 as well as 20.04. It is not about changing workspace images.

Could you file an issue for your request? I am not sure that it makes sense everything is moving to 20.04 and 18.04 won't be relevant in a year probably.

@jankeromnes
Copy link
Contributor

jankeromnes commented Apr 22, 2021

Taking a look now. 👀

test against ubuntu 18.04: https://akosyakov-code-support-ubuntu-lts-3832.staging.gitpod-dev.com/#https://gitlab.com/tonka3000/simple-cpp-abi-project

Note: This repository currently seems to use 17.10 instead (but it's still a relevant test, since it reproduces #3832):

$ cat /etc/issue
Ubuntu 17.10

@jankeromnes
Copy link
Contributor

jankeromnes commented Apr 22, 2021

/werft run

👍 started the job as gitpod-build-akosyakov-code-support-ubuntu-lts-3832.29

Copy link
Contributor

@jankeromnes jankeromnes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good and works as advertised. Many thanks @akosyakov! 💯

I've aded a few questions below and in-line, but please feel free to merge as is. ✅

In both cases that run, scm and ouput view for remote server channel are functional.

With both repos, scm works and output view for remote server channel seems to work. It does log a few errors, but I think they're unrelated. Still sharing them here FYI:

[2021-04-22 10:19:20.519] [main] [error] Extension 'hangxingliu.vscode-nginx-conf-hint' not found.
[2021-04-22 10:19:21.582] [main] [error] code server: failed to install intial extensions resolved by Code server: {}
[2021-04-22 10:19:40.242] [main] [error] Error: ENOENT: no such file or directory, stat '/ide/vs/workbench/contrib/output/common/outputLinkComputer.js'

Also, the window channel keeps logging this in a loop (also for both repos):

[2021-04-22 12:24:56.304] [window] [error] Not Found: WorkerScriptLoader.prototype.load/<@https://amaranth-rhinoceros-pxopwqbp.ws-dev.akosyakov-code-support-ubuntu-lts-3832.staging.gitpod-dev.com/out/vs/base/worker/workerMain.js#outputLinkComputer:707:31

@@ -4,7 +4,10 @@

# we use latest major version of Node.js distributed VS Code. (see about dialog in your local VS Code)
# ideallay we should use exact version, but it has criticla bugs in regards to grpc over http2 streams
FROM node:12.21.0 AS node_installer
ARG NODE_VERSION=12.21.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: Why not 12.22.1? https://nodejs.org/dist/latest-v12.x/

Copy link
Member Author

@akosyakov akosyakov Apr 22, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will bump it up with next vscode upgrade in May, ok?

Comment on lines +36 to +43
ARG NODE_VERSION
ENV NVM_DIR /root/.nvm
RUN curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | sh \
&& . $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& npm install -g yarn node-gyp
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
Copy link
Contributor

@jankeromnes jankeromnes Apr 22, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: Why re-install Node.js via NVM here (with nvm.sh being quite slow) instead of doing something like this?

COPY --from=node_installer /ide/node /ide/node
ENV PATH="/ide/node/bin:$PATH"

This is unimportant though, as this NVM/Node.js install doesn't seem to be captured in the final FROM scratch image below.

Since this works it's good as is. 👍

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just did not think about it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

code: support ubuntu lts as a baseline
3 participants