theia-ide / theia-apps

Theia applications examples - docker images, desktop apps, packagings
Apache License 2.0
1.04k stars 345 forks source link

python: update python image #403

Closed vince-fugnitto closed 4 years ago

vince-fugnitto commented 4 years ago

Description

The following commit updates the theia-python-docker image to a multi-stage build approach, where we build the application in the first stage and copy it over to the second (first layer is not preserved).

Signed-off-by: vince-fugnitto vincent.fugnitto@ericsson.com

marcdumais-work commented 4 years ago

Looks like there is a little issue:

 ---> 5e8028f39893
Step 15/20 : COPY --from=0 --chown=theia:theia /home/theia /home/theia
unable to convert uid/gid chown string to host mapping: can't find uid for user theia: no such user: theia

https://travis-ci.com/github/theia-ide/theia-apps/jobs/382992574#L13929

marcdumais-work commented 4 years ago

I think there is no theia user in this image. If we try to stay as close as possible to original, you can just omit --chown=theia:theia from the COPY. You may need to get rid of USER theia too (a few lines down).

marcdumais-work commented 4 years ago

BTW, this is a case I think where using /home/theia to store the app can be misleading. Normally we assume that a user exists when we see it has a home folder entry, but it's not true here. Ref: recently opened issue that asks to move the app elsewhere.

marcdumais-work commented 4 years ago

CI now passes on the modified image

marcdumais-work commented 4 years ago

I noticed that the full and python images did not pass CI last night, both apparently because of a python-related issue. That's new AFAIK. I'll restart Ci on this PR to see if it happens here too.

marcdumais-work commented 4 years ago

Full finished but did not test because there were no changes in this PR... so inconclusive for that one

vince-fugnitto commented 4 years ago

I noticed that the full and python images did not pass CI last night, both apparently because of a python-related issue. That's new AFAIK. I'll restart Ci on this PR to see if it happens here too.

I got it to work locally again (and on CI), I'm just not sure if it was an intermittent issue or not. The main difference was using pip3 to install the python-language-server: change.

&& pip3 install python-language-server flake8 autopep8 \

I also tested the extension locally and the extension does work correctly for python projects.

marcdumais-work commented 4 years ago

The main difference was using pip3 to install the python-language-server

Kind of makes sense - the various related tools will probably drop Python 2 soon

vince-fugnitto commented 4 years ago

The main difference was using pip3 to install the python-language-server

Kind of makes sense - the various related tools will probably drop Python 2 soon

I opened a theia-full pr to verify if it works for it as well: https://github.com/theia-ide/theia-apps/pull/407