Commit Graph

15 Commits

Author SHA1 Message Date
Alon Zakai
5da4a1ae99 Move testing into a bash file on the side (#266) 2019-06-05 10:19:20 -07:00
Alon Zakai
1d3522678c Refactor test code into python (#264)
Keep the basic workflow test (checking what a user would do to get started) in bash, but otherwise it's more convenient for most tests to be in python.
2019-06-04 16:01:25 -07:00
Alon Zakai
0490c5f7aa Support getting specific releases from emscripten-releases, by their version (#251)
This makes

emsdk install 1.38.33

work (1.38.33 is from the new builders).

Also works with the old notation, sdk-1.38.33-64bit, and also supports -(upstream|fastcomp).
2019-05-29 14:14:42 -07:00
Alon Zakai
3595b073f3 Switch over to emscripten-releases for 'latest' (#250)
This makes emsdk [install|activate] latest get the latest fastcomp release from emscripten-releases, replacing our usage of the old mozilla build infrastructure.

This is only for "latest", so there should be no change to older releases.

This does remove non-release old stuff from the mozilla infrastructure, like "nightly" builds (that I don't think were even working?). After this PR, only old releases should be used from there.

Context: we've asked that people test the emscripten-releases builds for 1.38.33, and fixed a few issues people found. There are no open showstoppers, so this is us moving to the next step, serving latest builds from the new infrastructure.
2019-05-29 10:38:43 -07:00
Alon Zakai
7b8322f45e Remove waterfall integration (#246)
We can remove this now that we have emscripten-releases working and use it everywhere we used the emsdk's waterfall integration.

In particular this should fix the current lkgr.json errors people are seeing (by removing all the lkgr stuff), which I believe started when I refactored that code while doing the releases work - I must have gotten something wrong on non-linux OSes. But anyhow, easier to remove that unnecessary code than fix it at this point.
2019-05-24 14:04:43 -07:00
Alon Zakai
e1c8f791a9 Support for tip-of-tree (tot) builds (#245)
emsdk install tot-upstream will install the very latest build from emscripten-releases. These builds are useful for emscripten github CI.

There isn't a latest or lkgr for emscripten-releases currently. What this does instead is get the git repo, and check if builds exist for the latest commits there, returning the latest of those.

This also makes us not update the emscripten-version.txt file if we are not an actual version. That is, for a tot build we leave that file unchanged in the emscripten checkout.

There is also a tot-fastcomp for fastcomp.
2019-05-24 10:23:01 -07:00
Alon Zakai
7c9b5090bf Fix emsdk on python3 - the values() of a dict is a view there, not a list (#241)
Also add both python2 and 3 testing on CI here.

Fixes #240.
2019-05-23 11:01:49 -07:00
Alon Zakai
e2434062a8 Prepare for emscripten-releases (#237)
Updated to our current initial plan here:

* Add emscripten-releases-tags.txt which is a JSON file with a map of tag name to git hash in the emscripten-releases repo. Right now this file is just checked in here; in the future we may make the emsdk update it from git tags with update-tags etc.
* That file contains a "latest" tag, which is fetched for when getting latest-releases-[upstream|fastcomp]. We may want that to eventually be updated based on the latest green stuff on the bots perhaps.
* Rename the current sdk-[upstream|fastcomp]-* etc. to sdk-waterfall-[upstream\|fastcomp]-*. Then we'll have sdk-releases-[upstream|fastcomp]-* etc. This is just an internal name change - emsdk install latest-upstream still works as before, and still uses the waterfall (so we don't break our github CI).
* Add support for emsdk install latest-releases-[upstream\|fastcomp]
* Add a test using the actual emscripten-releases builds
2019-05-22 17:23:04 -07:00
Alon Zakai
ea5d631a54 Deduplicate activated configs in the .emscripten file (#198)
While doing so, we:

* keep the latest activation (e.g., the user may have activated latest and then latest-upstream, then the upstream LLVM is what is desired).
* keep the order of keys fixed (so the relative order of lines in the .emscripten file is fixed)

This adds some assertions in the Dockerfile, to verify we have one LLVM_ROOT command, and it is the right one.

Fixes #194
2019-01-18 16:29:08 -08:00
Alon Zakai
5a8f59737d Remove wasm.js reference (#207)
We removed it in Binaryen #1858. The reference here broke source installs using the emsdk.

Fixes #206
2019-01-09 09:04:03 -08:00
Alon Zakai
38dcc11b1d Re-land #200 : waterfall fastcomp support (#204)
(This was reverted by mistake. It had a bad commit message though, so relanding with a nicer one is nice anyhow.)

With this, we can do emsdk install latest-fastcomp and it installs fastcomp from the waterfall. That is, we then have 3 main sdks people might want to use:

* latest which installs fastcomp-llvm (plus emscripten etc.) from the mozilla infrastructure. (fetches the last emscripten version there)
* latest-upstream which installs upstream-llvm (plus emscripten etc.) from the waterfall infrastructure. (fetches the last known good revision (lkgr) there)
* latest-fastcomp which installs fastcomp-llvm (plus emscripten etc.) from the waterfall infrastructure. (fetches the last known good revision (lkgr) there)

The first and last are currently somewhat overlapping in that both fetch a build of fastcomp. However, as we transition away from the mozilla infrastructure, we could just make latest an alias for latest-fastcomp. (And later, when we're ready to switch to the wasm backend by default, the alias could switch to latest-upstream.)
2019-01-08 13:46:53 -08:00
Alon Zakai
b0fda89ec2 Revert "Add 'latest-fastcomp' sdk (#200)" (#202)
This reverts commit b4de632f3f.

This caused the ec2 mozilla builders to fail due to bundling lkgr.json. Reverting til we figure it out.
2019-01-08 13:28:17 -08:00
Alon Zakai
b4de632f3f Add 'latest-fastcomp' sdk (#200)
* add a 'fastcomp' sdk, which provides fastcomp from the waterfall

* fix

* fix

* fix?

* fix

* fix

* fix

* logging

* fix?

* cleanup
2019-01-08 12:37:39 +02:00
Alon Zakai
889c1516fb Enable "emsdk [install|activate] latest-upstream" (#195)
This makes it possible to tell the emsdk to get "latest-upstream", which fetches the latest lkgr from there. This will probably be a common use pattern, I expect we may want to recommend users start trying out the wasm backend that way soon. This will also let us simplify this code: https://github.com/kripken/emscripten/blob/incoming/.circleci/config.yml#L334

Aside from adding the "latest-upstream" alias, this PR has

* A few minor cleanups in the emsdk code.
( Minor restructuring of how we define the upstream stuff in the manifest: It seemed odd to have 3 things (clang, emscripten, binaryen) that are all coming from a single archive from the waterfall. Simpler to have just one - the archive is one big lump, there's no way to download just part of it.
* Also add node 8.9.1 as a dependency of the upstream sdk, which makes things usable out of the box (node.js is the one thing not provided by the waterfall archive).
2018-12-20 09:58:37 -08:00
Alon Zakai
5ea31e96a9 Travis CI (#155)
* try using travis

* comments

* docker

* fix

* fix
2018-07-05 16:21:47 +03:00