aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github
AgeCommit message (Collapse)Author
2024-02-20ci: switch to Go 1.22Ayke van Laethem
2024-02-11ci: update from Node.js 16 to Node.js 18Ayke van Laethem
Node.js 16 is no longer supported, so we can drop support for it as well. This also means updating a whole lot of GitHub Actions versions, because they were updated to work on Node.js 20 instead. For most actions this should be a relatively small change, but the upload-aftifact action has had some major changes (which should generally improve things a lot).
2024-02-07build: remove more files from host on Docker build to avoid running out of ↵deadprogram
disk space Signed-off-by: deadprogram <[email protected]>
2024-02-05gi: add macOS ARM64 builderAyke van Laethem
This means we can finally release native arm64 builds of TinyGo on macOS! Also update from macOS 11 to macOS 12, because macOS 11 is not supported anymore.
2024-01-20all: switch to LLVM 17 by defaultAyke van Laethem
2024-01-20ci: fix sizediff error when changing the LLVM versionAyke van Laethem
2024-01-12build: use llvm-17 base image correctly for faster docker dev buildsdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-01-05build: add step to build LLVM 17 base imagedeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-01-05all: statically link to LLVM 17 instead of LLVM 16Ayke van Laethem
We can now finally do it, now that Espressif has updated their fork.
2023-12-18build: another try to handle python unlink/link due to homebrewdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-12-17build: fix for macos homebrew as discussed in ↵deadprogram
https://github.com/Homebrew/brew/issues/15621 Signed-off-by: deadprogram <[email protected]>
2023-12-04sizediff: cleanup before checkout of branche to allow for new/removed files ↵deadprogram
to be able to still run thru size tests Signed-off-by: deadprogram <[email protected]>
2023-11-29builds: update all GH action workflows to use latest versionsdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-11-28builds: free space before doing docker build jobdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-11-04Bump wasi-libc to SDK 20Elliott Sales de Andrade
The version 17 SDK adds `getpagesize`, so use it instead of hardcoding a number (even if their implementation is _also_ a hardcoded number.)
2023-11-02compileopts, targets, main: support Wasmtime v14 (#3972)Randy Reddig
compileopts, targets, main: support Wasmtime v14
2023-10-24build: pin wasmtime version used for testing to v13.0.0deadprogram
Signed-off-by: deadprogram <[email protected]>
2023-10-23ci: work-around for broken links in github runnersKenneth Bell
2023-10-16Binaryen116 (#3958)Flavio Castelli
dependencies: update binaryen submodule to version 116 Signed-off-by: Flavio Castelli <[email protected]> Co-authored-by: DarkByteBen <[email protected]>
2023-10-14all: add Nix flake fileAyke van Laethem
This adds a flake.nix file that makes it possible to quickly create a development environment. You can download Nix here, for use on your Linux or macOS system: https://nixos.org/download.html After you have installed Nix, you can enter the development environment as follows: nix develop This drops you into a bash shell, where you can install TinyGo simply using the following command: go install That's all! Assuming you've set up your $PATH correctly, you can now use the tinygo command as usual: tinygo version You can also do many other things from this environment. Building and flashing should work as you're used to: it's not a VM or container so there are no access restrictions.
2023-10-06all: add initial LLVM 17 supportAyke van Laethem
This allows us to test and use LLVM 17, now that it is available in Homebrew. Full support for LLVM 17 (including using it by default) will have to wait until Espressif rebases their Xtensa fork of LLVM.
2023-10-04ci: use matrix instead of duplicating the Linux cross jobAyke van Laethem
This reduces a lot of copy-pasted code (that was in fact different in a small way!)
2023-09-21ci: redo LLVM build on WindowsAyke van Laethem
MinGW got updated, so it looks like we need to do a new LLVM build.
2023-09-18all: switch to LLVM 16Ayke van Laethem
This commit adds support for LLVM 16 and switches to it by default. That means three LLVM versions are supported at the same time: LLVM 14, 15, and 16. This commit includes work by QuLogic: * Part of this work was based on a PR by QuLogic: https://github.com/tinygo-org/tinygo/pull/3649 But I also had parts of this already implemented in an old branch I already made for LLVM 16. * QuLogic also provided a CGo fix here, which is also incorporated in this commit: https://github.com/tinygo-org/tinygo/pull/3869 The difference with the original PR by QuLogic is that this commit is more complete: * It switches to LLVM 16 by default. * It updates some things to also make it work with a self-built LLVM. * It fixes the CGo bug in a slightly different way, and also fixes another one not included in the original PR. * It does not keep compiler tests passing on older LLVM versions. I have found this to be quite burdensome and therefore don't generally do this - the smoke tests should hopefully catch most regressions.
2023-08-17wasm: add support for GOOS=wasip1Ayke van Laethem
This adds true GOOS=wasip1 support in addition to our existing -target=wasi support. The old support for WASI isn't removed, but should be treated as deprecated and will likely be removed eventually to reduce the test burden.
2023-08-10build: switch GH actions builds to use Go 1.21 final releasedeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-08-04all: Go 1.21 supportAyke van Laethem
2023-06-17ci: update Node.js from version 14 to version 16Ayke van Laethem
Node.js 14 is not maintained anymore, so we can drop support for it.
2023-06-16ci: rename release-double-zipped to something more usefulAyke van Laethem
The Linux artifacts have clear names (linux-amd64-double-zipped etc), but the MacOS and Windows ones didn't. This patch renames these artifact names to be more readable, especially when downloading the artifacts.
2023-06-07build: only make comment on sizediff job when run from the main repo, take 2deadprogram
Signed-off-by: deadprogram <[email protected]>
2023-05-31build: only make comment on sizediff job when run from the main repodeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-05-23build: explicitly pass the github token to GH actiondeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-05-20build: add issues write permission to sizediff jobdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-05-17build: update GH actions-comment-pull-request to v2.3.1deadprogram
Signed-off-by: deadprogram <[email protected]>
2023-05-16build: add write permission to sizediff GH actions job to always be able to ↵deadprogram
add comments Signed-off-by: deadprogram <[email protected]>
2023-05-14ci: add comment with binary size differenceAyke van Laethem
This makes reviewing PRs a lot easier because I don't have to run this myself :) This only uses the drivers repo so far, which is a good starting point but doesn't include binary size changes for WebAssembly for example. A future change could add some real-world programs to get a better idea of the real-world impact. To be clear: the intention is not to just look at the number at the bottom. It is important to look at the actual size difference to see the overall pattern (like, the difference may be due to a few outlier).
2023-03-30build: add GH workflow to build LLVM image when neededdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-03-19docker: correct path for GHCR dev container builddeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-03-13builder: add test to check for changes in binary sizeAyke van Laethem
This test only applies when using the built-in LLVM version. This way, we have a stable LLVM version to test against. Distribution versions of LLVM (especially Debian) tend to be patched in a way that affect the results.
2023-03-07ci: build LLVM with thread support on WindowsAyke van Laethem
This should fix a number of concurrency/threading issues. I had to force-disable concurrency in the linker using a hack. I'm not entirely sure what the cause is, possibly the MinGW version (version 12 appears to work for me, while version 11 as used on the GitHub runner image seems to be broken). There are a few ways to fix this in a better way: * Fix the underlying cause (possibly by upgrading to MinGW-w64 12). * Add the `--threads` flag to the LLD MinGW linker, so we can use a regular parameter instead of this hack.
2023-03-07build/linux: switch to ubuntu-20.04 for arm builds since ubuntu-18.04 is ↵deadprogram
deprecated for GH actions runner Signed-off-by: deadprogram <[email protected]>
2023-02-20ci: don't pass -v to `go test`Ayke van Laethem
It can be difficult to find what went wrong in a test. Omitting -v should make it easier to see the failing tests and the output for them (note that output is still printed for tests that fail).
2023-02-18build/docker: use build context from pre-saved LLVM container to avoid ↵deadprogram
rebuilding Signed-off-by: deadprogram <[email protected]>
2023-02-18build/linux: install wasmtime directly from github releasedeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-02-18build/docker: trigger all builds in tinygo ecosystem repos using GH actionsdeadprogram
Signed-off-by: deadprogram <[email protected]>
2023-02-17build: always cache LLVM source/build even if the tests fail to avoid extra ↵Ron Evans
rebuilds (#3453) builds/macos, linux, windows: update to explicit restore/save for LLVM source and LLVM builds
2023-02-11ci: don't link with libzstd in release buildsv0.27.0Ayke van Laethem
libzstd was added in LLVM 15, but we don't currently use it. So let's disable it in LLVM just like libzlib. See: https://reviews.llvm.org/D128465
2023-02-07ci: switch to actions/checkout@v3Ayke van Laethem
I saw the following warning on GitHub Actions: Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Updating seems quite reasonable to me.
2023-02-03ci: switch to Go 1.20Ayke van Laethem
2022-11-21build: update docker GH action to use latest docker action versionsdeadprogram