Commit Graph

1093 Commits

Author SHA1 Message Date
walkingeyerobot
ce1d281ce6 Fix bazel ci (#1504)
This is a temporary fix until I can do
https://bazel.build/external/migration
2024-12-14 02:39:55 +00:00
emscripten-bot
3d6d8ee910 Release 3.1.74 (#1502)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/c2655005234810c7c42e02a18e4696554abe0352
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/88e95307accc1f4b247b86b7a0c0e6beaf07f844
(asserts)
2024-12-13 18:10:21 -08:00
Christian Clauss
095c488961 Python lint: Use flake8 --extend-ignore instead of --ignore (#1498) 2024-12-06 15:20:31 -08:00
Christian Clauss
b644e2e6bb Python lint: Upgrade to flake8=7.1.1 (#1497) 2024-12-06 11:20:43 -08:00
Christian Clauss
ac2adfeac4 Fix typos discovered by codespell (#1496)
# https://pypi.org/project/codespell
% `codespell`
```
./emsdk.py:1459: thier ==> their
./test/test.bat:1: equivilent ==> equivalent
./test/test.py:198: Specificlly ==> Specifically
./scripts/update_bazel_workspace.py:2: revisons ==> revisions
./scripts/update_node.py:11: direcotry ==> directory
./bazel/emscripten_toolchain/BUILD.bazel:57: implictly ==> implicitly
./docker/Dockerfile:87: terninal ==> terminal
```
2024-12-06 09:26:36 -08:00
Eric Higgins
c7d78534d2 bazel: update rules_nodejs and migrate to rules_js (#1436)
This finishes the work started in
https://github.com/emscripten-core/emsdk/pull/1388 by fixing CI. It
avoids a breaking change by:
* Using the latest rules_js 1.x.x version, instead of updating to
rules_js 2 (which removes support for bazel 5).
* Copying the contents of
[rules_js_dependencies](https://github.com/aspect-build/rules_js/blob/main/js/repositories.bzl)
instead of calling it, as the call would need to be added by users in
their `WORKSPACE` files

Context from the previous PR:

> Bazel's Node.js dependency comes from
[rules_nodejs](https://github.com/bazelbuild/rules_nodejs/). Previously,
bazel/deps.bzl was using rules_nodejs 5.8.0, released in 2022 and only
supported Node.js toolchains up to 18.12.1.

> This PR bumps rules_nodejs to latest 6.1.1. It also replaces
build_bazel_rules_nodejs with
[rules_js](https://github.com/aspect-build/rules_js), since npm_install
that bazel/emscripten_deps.bzl used was deprecated. The README of
rules_nodejs now recommends migrating to rules_js for everything other
than the Node.js toolchain:
(371e8cab15)

> Impetus
Our repo builds with Bazel and uses Emscripten and Node.js. Tried to
upgrade Node.js 18 to Node.js 20 and saw that emsdk didn't support
rules_nodejs 6+ in the same workspace.

Similarly, it's not possible to update to rules_js v2 in a workspace
that also references `emsdk`.
2024-12-05 02:59:04 -05:00
emscripten-bot
6abe5123c3 Release 3.1.73 (#1492)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/b363a836e75a245c548b7a6a021822d8c9e4c6df
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/86f3e54628089634c6b73039955388296e920291
(asserts)
2024-11-28 01:32:35 +00:00
Derek Schuff
cbbb7f359a Enable auto-merge for bot-created PRs (#1490)
This still requires a human to review, but one less button to click.
2024-11-19 11:32:28 -08:00
emscripten-bot
75eb9522ae Release 3.1.72 (#1489)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/7a360458327cd24c2a7aab428bdbcb5bca8810e4
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/92d39398c0016e73821548a4cd9df3df1358f6d9
(asserts)
2024-11-19 01:07:33 +00:00
Derek Schuff
e7fd5fd445 Add "release" label to PRs created for releases (#1486)
This allows filtering PRs to more easily find releases.
2024-11-05 22:11:30 +00:00
emscripten-bot
59108b0e22 Release 3.1.71 (#1484)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/7ee0f9488f152e9e9cf0d4d243970e03742f1a5c
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/15b142643065fe241138c6785cb8e384504f76e8
(asserts)
2024-11-04 23:20:14 +00:00
Derek Schuff
019b660d67 Update release tagging workflow to handle external triggering (#1482)
When triggered from Chromium CI, the credential is for the
emscripten-bot account.
2024-11-04 13:11:27 -08:00
Sam Clegg
d63e0d425a Don't install java when installing windows sdk (#1324)
We use the native version of closure compiler these days so we don't
need to install java on windows IIUC.

See https://github.com/emscripten-core/emscripten/pull/20919
2024-10-29 14:07:17 -07:00
emscripten-bot
2514ec738d Release 3.1.70 (#1481)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/6fa6145af41e835f3d13edf7d308c08e4573357a
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/11444ec05e2cc64ef42c4f33c6e3a2a7534694f2
(asserts)
2024-10-25 00:57:41 +00:00
juj
861ce44b24 Pin python requests library to 2.32.3. (latest at the time of writing) (#1478) 2024-10-19 01:30:52 +03:00
juj
1e2f1a239e Update Node from 18.20.3 LTS to 20.18.0 in precompiled releases. (#1476)
Update Node from 18.20.3 LTS to 20.18.0 in precompiled releases. This
does have an effect of retroactively updating Node version also to old
releases, but this is expected to be fine.
2024-10-19 00:48:45 +03:00
juj
5e398ab4bc Update Node to 20.18.0 LTS and add support for Windows on ARM64 to Node packages. (#1473)
Earlier Node 18.20.3 LTS did not yet support Windows on ARM64 builds.

Node 20.18.0 LTS is released on
https://nodejs.org/en/blog/release/v20.18.0.

This update currently only affects the "compiled from source" builds,
and not the Google precompiled releases.
2024-10-19 00:20:02 +03:00
juj
8a99ae8698 Use zip_cmd() and unzip_cmd() in update_node.py as well. (#1471)
This way update_node.py can be called on Windows host machines as well.
2024-10-18 23:34:04 +03:00
juj
eda31dc972 Only upload node with gsutil in update_node.py if --upload is passed. (#1472)
This allows running the script locally.

Is there some kind of automated script that needs a matching update, or
was this always run manually?
2024-10-18 23:29:38 +03:00
juj
dc6e0d42c4 Remove temp zip after uncompressing in update_python.py (#1470)
Remove temp zip after uncompressing in update_python.py to avoid
confusing it with the output artifact zip. Adjust comments.
2024-10-18 23:03:08 +03:00
juj
2ba3fcabb9 Remove old unsupported MinGW and Gnu grep tools. (#1468) 2024-10-18 12:17:40 +03:00
juj
53249b91e7 Remove old unused node.js versions from manifest. (#1467) 2024-10-17 20:41:30 +03:00
juj
35439da1cd Include psutil module in the python build to enable emrun to track when browser process finishes. (#1464)
Without this, emrun web server will be left running after user code
quits the page abnormally without calling `exit()` (e.g. due to a page
awwsnap crash), and there are multiple processes in use by the browser.

emrun has a graceful fallback to weaker browser process detection when
psutil is not available, so this is easy to miss if not running emrun
with --verbose:
814ec05f74/emrun.py (L330-L339)
2024-10-17 19:47:19 +03:00
juj
2c42698bcd Remove old Python versions from manifest: no package uses these python versions anymore. (#1465) 2024-10-17 19:47:11 +03:00
Derek Schuff
8e661c80d4 Add release reviewers to release creation PRs (#1455) 2024-10-14 17:27:03 -07:00
slowriot
50dffe11fa Add git pull to README.md (#1460)
Minor addition to bring README.md in line with the web documentation.
Resolves #1447.
2024-10-14 15:55:16 -07:00
github-actions[bot]
a36df02dc4 Release 3.1.69 (#1456)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/8fe01288bc35668c13316324336ea00195dfb814
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/cf6f9d1b4026ec7aec33aceb68077c704b52b068
(asserts)

---------

Co-authored-by: Derek Schuff <dschuff@chromium.org>
Co-authored-by: dschuff <1122856+dschuff@users.noreply.github.com>
2024-10-11 18:27:36 -07:00
github-actions[bot]
54ef088329 Release 3.1.68 (#1453)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/b52d8c9150dc7d4c8e4a7a08c7a9b4006c9abe49
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/1565c9e5a4547215a1b63013607bf7a1cbb3d9d3
(asserts)

Co-authored-by: emscripten-bot <179889221+emscripten-bot@users.noreply.github.com>
2024-09-30 08:35:23 -07:00
Victor
f809c11ce3 [NFC] Fix a typo in README.md (#1451) 2024-09-19 10:01:24 -07:00
github-actions[bot]
a2383b3358 Release 3.1.67 (#1448)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/4ae62984ea36ef0e5bfcbd0ed9b62f04bee6426a
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/7cfc00962efe07f2e2ff3383f59519dc5bea4f82
(asserts)

Co-authored-by: emscripten-bot <179889221+emscripten-bot@users.noreply.github.com>
2024-09-16 22:35:23 -07:00
Derek Schuff
20edf66145 Switch token name in release action (#1446)
Rename secret from test to production name
2024-09-09 19:56:11 -07:00
github-actions[bot]
a72a42afc3 Release 3.1.66 (#1445)
With emscripten-releases revisions:

https://chromium.googlesource.com/emscripten-releases/+/243eae09cf5c20c4fde51a620b92f483255c8214
(LTO)

https://chromium.googlesource.com/emscripten-releases/+/c5d25114210455d19cb9232171824292005a5080
(asserts)

Co-authored-by: emscripten-bot <179889221+emscripten-bot@users.noreply.github.com>
2024-09-10 00:57:00 +00:00
juj
a3fb5e8198 Fix 'emsdk install sdk-main-64bit' to produce a functioning installation. (#1444) 2024-09-03 18:02:32 +00:00
Derek Schuff
122b38f2ce Automatically dispatch emscripten release tag action (#1442)
This PR add several features to release automation:

1. The existing tag-release job has an output that indicates whether the
triggering commit
    is a release (i.e. whether it matches the regex)
2. The new followup job runs a new script which fetches the recent
emscripten-releases
revisions, reads the DEPS file from the 'latest' release in
emscripten-releases-tags.json
to find the corresponding emscripten revision and writes it into the
environment
2. The final step reads the emscripten revision from the environment and
creates a
workflow_dispatch event to run the tag-release.yml job on the emscripten
repo
2024-08-29 17:07:00 -07:00
Derek Schuff
d09b3c3815 Add Actions workflow to automatically create release tags (#1439)
For commits created by the new create-release.yml workflow, we can add
the corresponding release tag. This only runs for changes to the tag
JSON file (and the workflow itself) and only acts on changes created by
the automation (so that it won't interfere if we want to do things
manually).
2024-08-23 10:46:25 -07:00
Derek Schuff
f010ca9fdc Add a github actions workflow to create a release PR (#1437)
The action runs the existing create_release.py script in a new mode
created for github actions. Rather than using local git commands, it
uses a public action for creating a PR in the repository. The action can
be triggered from the website or via the CLI tool, for example

gh workflow run create-release.yml -R emscripten-core/emsdk -F
lto-sha=abc123 -F nonlto-sha=234567
2024-08-22 22:14:14 +00:00
Sam Clegg
3eb3e02dfd 3.1.65 (#1438) 2024-08-22 15:08:35 -07:00
Kiryl
63d09a889e [bazel] Fix some inaccuracies in bazel readme. NFC (#1434)
Edit some version variables to make correct installation and text under.
2024-08-20 09:25:41 -07:00
Sam Clegg
476dc4e01f Add missing comma from #1429 (#1433)
Turns out this is what was causing the OOM when building binaryen since
we were clobbering the EMSDK_NUM_CORES environment variable by mistake.

See #1429
2024-07-31 18:59:43 -07:00
mtb
fad40cf1f4 fix: improve Fish shell support (and Cshell) (#1429)
I faced the same issue mentioned in #1299, this PR fixes the issue by
taking in account specific `set` and `unset` syntax for Fish shell.

The post install instruction (i.e : `./emsdk activate latest`) provides
wrong instructions in Fish shell and Cshell cases.
This should be fixed by this PR too, although the code is a bit
redundant and it could be more cleaner.
2024-07-31 17:41:32 -07:00
Kirill
cc7ef523f6 [bazel] Update README.md (#1427)
Provides simpler using and less errors
2024-07-24 15:36:24 -04:00
Alon Zakai
0b3bcbc3b0 3.1.64 (#1426) 2024-07-22 12:40:15 -07:00
Sam Clegg
772828321a 3.1.63 (#1425) 2024-07-12 09:23:42 -07:00
Sam Clegg
0fde048800 3.1.62 (#1421) 2024-07-02 11:06:41 -07:00
Michael Allwright
82d41a76d3 [Bazel] Support generating a secondary cache (#1405)
This is a working solution for generating a separate Emscripten cache.
Note that this requires an additional entry in the workspace as follows:
```starlark
load("@emsdk//:emscripten_cache.bzl", emsdk_emscripten_cache = "emscripten_cache")
emsdk_emscripten_cache()
```
When used like this, the default Emscripten cache will be used. However,
if the entry is as follows:
```starlark
load("@emsdk//:emscripten_cache.bzl", emsdk_emscripten_cache = "emscripten_cache")
emsdk_emscripten_cache(flags = ["--lto"])
```
Then embuilder will be called to build all system libraries and ports
(i.e., the `ALL` option to embuilder) with the LTO option enabled. This
can take awhile, so I have also made possible to specify which libraries
you want to build explicitly:
```starlark
load("@emsdk//:emscripten_cache.bzl", emsdk_emscripten_cache = "emscripten_cache")
emsdk_emscripten_cache(
    flags = ["--lto"],
    libraries = [
        "crtbegin",
        "libprintf_long_double-debug",
        "libstubs-debug",
        "libnoexit",
        "libc-debug",
        "libdlmalloc",
        "libcompiler_rt",
        "libc++-noexcept",
        "libc++abi-debug-noexcept",
        "libsockets"
    ]
)
```

Resolves #807, resolves #971, resolves #1099, resolves #1362, resolves
#1401
2024-07-01 09:23:07 -07:00
Alexander Köplinger
7fbd555dbe Use "command -v" instead of "which" to detect python executable (#1419)
On a Linux distro that doesn't have the `which` program installed we're
getting the following error:

    $ ./emsdk install latest
    ./emsdk: line 39: exec: python: not found

It's failing to detect the installed `python3` and falls back to using
`python`, but this distro doesn't provide a python -> python3 symlink so
we fail.

Fix this by using `command -v` instead which is a POSIX standard.
The same change went into emscripten a couple years ago:
https://github.com/emscripten-core/emscripten/pull/15071
2024-07-01 09:22:28 -07:00
Daniel Kalmar
a33daf378c Ensure temporary files have proper unique names for bazel builds. (#1415)
This attempts to fix #1386.
2024-06-27 13:50:03 -04:00
Sam Clegg
8caaa25afb Add some logging after download is finished. NFC (#1413)
Also move some code outside of the `using` block.
2024-06-25 13:04:03 -07:00
Sam Clegg
a6db8d2872 Add logging of sys.executable on startup. NFC (#1412) 2024-06-25 13:03:25 -07:00
Derek Schuff
4b9e83d629 Remove Intel mac CircleCI configuration (#1409)
Also switch bazel-mac to the arm64 config.
The CircleCI Intel mac config will be turned down soon.
2024-06-20 16:16:05 -07:00