Commit Graph

29 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen
e28e47659c Docker: use a entrypoint script (#1227)
In favor of `/etc/bash.bashrc`, which is only read for interactive
shells.
2023-07-06 07:44:01 -07:00
Derek Schuff
d7327b4850 Update node, 15.14.0 -> 16.20.0 (#1232)
This allows us to use the native ARM64 version on MacOS.
Also update the test scripts to work on ARM64 mac, and skip tests that aren't relevant.
2023-06-20 18:57:05 +00:00
Kleis Auke Wolthuizen
e411325bff Docker: remove redundant EMSDK_NODE env (#1225) 2023-06-01 13:13:00 -07:00
Kleis Auke Wolthuizen
57539391aa Docker: remove remnant of fastcomp (#1226)
The fastcomp backend was removed in Emscripten v2.0.0.
2023-06-01 08:24:59 -07:00
Sam Clegg
dd8bbe5e82 Update node version 14.15.5 -> 15.14.0 (#829) 2023-04-11 18:17:46 +00:00
Fredrik Orderud
edc4dc5b20 docker image: Change base to Ubuntu 22.04 LTS (jammy) (#1135)
Done to upgrade from CMake 3.16.3 to 3.22.1. CMake 3.21 or newer is needed to build the Qt 6.4.1 sources with emscripten.

Also update to libidn12 to resolve an "Unable to locate package libidn11" error.
2022-11-21 12:18:04 -08:00
Sam Clegg
3d87d5ea81 Avoid exporting EM_CONFIG for modern SDK versions (#1110)
Newer versions of emscipten, starting all the way back in 1.39.13, can
automatically locate the `.emscripten` config file that emsdk creates so
there is no need for the explicit EM_CONFIG environment variable.  Its
redundant and adds unnessary noisce/complexity.

Really, adding emcc to the PATH is all the is needed these days.

One nice thing about this change is that it allows folks to run
whichever emcc they want to and have it just work, even if they have
configured emsdk.   Without this change, if I activate emsdk and I run
`some/other/emcc` then emsdk's `EM_CONFIG` will still be present and
override the configuration embedded in `some/other/emcc`.

e.g. in the same shell, with emsdk activated, I can run both these
commands and have them both just work as expected.

```
$ emcc --version
$ /path/to/my/emcc --version
```
2022-10-06 14:13:13 -07:00
Sam Clegg
24e78812e0 Minor node version update v14.15.5 -> v14.18.2 (#953)
The newer versions of eslint require 14.17.0 or above.  This
updates our node version to the latest in the 14.XX series.

I don't expect any user-visible changes.
2022-01-09 07:43:39 -08:00
Kleis Auke Wolthuizen
d8a1fd7099 Simplify and improve .dockerignore. NFC. (#934) 2021-11-17 11:44:38 -08:00
Piotr Paczkowski (trzeci.eu)
2e7eaf7233 Correct README.md about building arguments of docker image. Fixes #748 (#777) 2021-03-28 08:25:23 -07:00
Mark Callow
cf2e3371cd Base on Ubuntu Focal. (#747) 2021-03-10 18:07:02 -08:00
Sam Clegg
9d00a82b6a Remove update-tags phase (#738)
Its not really very useful to cache the tot release in a local text
file.  Instead just fetch the revsion each time `install tot` is run.

This avoids folks accidentally installing "old" tot releases.

Also, make the output a little less chatty when looking up tot version.
2021-03-05 09:19:42 -08:00
Sam Clegg
9e96410d7f Update node version to 14.15.5 (latest TLS release) (#708)
See https://github.com/WebAssembly/binaryen/issues/3551
2021-02-12 16:47:20 -08:00
Harald Reingruber
8234fb3b95 Add git-lfs package to emsdk Docker image (#665)
Having LFS support already in the image saves some build time and allows a more consistent experience to other CI build images.
2020-12-11 13:26:07 -08:00
Sam Clegg
bfdfd61656 Fix sanity file generation in Dockerfile (#610)
We no longer ship the sanify file as part of the SDK but
expect it be generated on first use:
  https://github.com/WebAssembly/waterfall/pull/656

Also remove the Dockerfile itself from the docker image if
we include it then whenever you change anything in the
Dockerfile it invalides all the layers and forces a
completely rebuild.  This makes iterating on the image
very slow.
2020-09-10 16:14:40 -07:00
Kleis Auke Wolthuizen
645d276b5c Docker improvements (#571)
- Copy the current checkout to the Dockerfile.
- Add .dockerignore to exclude files while copying.
- Test tip-of-tree build within CI.
- Run the test suite outside the Docker image.
- Perform extra sanity tests.
- Switch to make commands for CircleCI.
- Improve Docker README.
2020-09-02 10:50:52 -07:00
Sam Clegg
147abfe46c Make emscripten directory world writable (#578)
Without this emscripten will default to using $HOME for the
emscripten cache rather than the embedded one.
2020-07-31 13:41:13 -07:00
Kleis Auke Wolthuizen
de08462b17 Cleanup Dockerfile. NFC. (#569)
- Remove unnecessary dependencies from build stage.
- Move binutils installation to first layer.
- Adjust indents and spacing.
- Merge ENV declarations into a single line.
- Split apt-get commands over multiple lines
2020-07-25 11:04:20 -07:00
Kleis Auke Wolthuizen
b5077e4642 Fix sanity file location within Dockerfile (#568)
Starting from 1.39.20 the .emscripten_sanity file has
been moved to upstream/emscripten/cache/sanity.txt.
2020-07-23 12:49:48 -07:00
Sam Clegg
d4383f4767 Fix docker build to not depend on emsdk_set_env.sh (#554)
This was an internal script that we used to generate up
until #544.   Now we avoid writing that file at all and
emsdk_env.sh is instead sourced directly.

This should fix the docker CI issues we have been having.
2020-07-14 16:22:16 -07:00
Piotr Paczkowski (trzeci.eu)
7f77b615c2 Add standard workdir for Dockerimage (#534)
As requested by @curiousdannii in https://github.com/trzecieu/emscripten-docker/issues/58#issuecomment-648760800
2020-06-27 01:51:21 +02:00
Sam Clegg
eff1d2e2f1 Drop "-upstream" suffix from docker image name (#530) 2020-06-24 16:55:32 -07:00
Sam Clegg
47c669a002 Update node directory in Dockerfile (#532) 2020-06-24 15:12:58 -07:00
Sam Clegg
dc74092927 Revert testing changes 2020-06-23 20:35:53 -07:00
Sam Clegg
25416b8ff7 Testing circleci auto-publish of docker image (#531) 2020-06-23 18:50:16 -07:00
Sam Clegg
d50b1d86f6 Simplify docker image in several ways (#523)
- `--embeddded` mode is the now the default
- embedded cache and ports is also the default
- emsdk now fully polulates the cache by default so no need to do that.
- always "activate" the SDK avoiding that need things to work without
  that.
- avoid making extra symlinks.
- remove python2
2020-06-22 17:19:12 -07:00
Piotr Paczkowski (trzeci.eu)
ede26f1709 Add host network for building image (#514)
Without --network host It's impossible to build images
2020-06-04 13:02:17 -07:00
Nikolas Garofil
4dce416efa Docker fixes and updates (#461)
Dockerfile:
- Use the most recent stable debian (buster) instead of the previous one
- Build version 1.39.11 by default instead of 1.38.43
- Fix small typo in the comments

Makefile and README.MD: Fix incorrect name of image on dockerhub.
2020-04-06 08:58:16 -07:00
Piotr Paczkowski (trzeci.eu)
c56422590b Added dockerfiles form trzeci/emscripten-docker (#368)
As a continuation from: https://github.com/emscripten-core/emscripten/issues/8742

This PR provides adopted Dockerfile from https://github.com/trzecieu/emscripten-docker/blob/master/docker/trzeci/emscripten-fastcomp/Dockerfile which supports builds:
  * fastcomp
  * upstream

Features:
* An image can be build with fastcomp and upstream version of Emscripten SDK
* It applies some extra size optimizations (that might be removed in sake of clarity / stability)
* It creates conventional `1000:1000` user `emscripten`
* It creates extra entrypoint that mitigates running as non-root user (Some context: https://trzeci.eu/fixing-permission-of-files-created-from-docker/)
* It has simple-stupid tests performed during building
2019-10-11 11:21:47 -07:00