aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github
AgeCommit message (Collapse)Author
2024-12-09fix: specify ubuntu-22.04 during GH actions transition period to ubuntu-24.04deadprogram
See https://github.com/actions/runner-images/issues/10636 Signed-off-by: deadprogram <[email protected]>
2024-12-04ci: cache the Go cache across buildsAyke van Laethem
This should hopefully make the build slightly faster.
2024-11-14ci: use TinyGo version in artifact filesAyke van Laethem
This avoids needing to rename them ourselves (which is kinda annoying) and also avoids mistakes in the process.
2024-10-28ci: remove 'shell: bash' lines from MacOS buildAyke van Laethem
Unlike Windows, we can just use the default shell here.
2024-10-22Add sponsor button to key repositoriesDaniel Esteban
2024-10-19ci: use macos-13 instead of macos-12 for amd64 buildsAyke van Laethem
The macos-12 runner is being deprecated, so we have to switch to a new runner: https://github.com/actions/runner-images/issues/10721 The next one is macos-13, which is still amd64.
2024-10-17nix: use LLVM 18 instead of LLVM 17Ayke van Laethem
This should fix some CI issues we're currently having. Thanks to @sylv-io for discovering that we need to remove LLVM to avoid an Xtensa backend linker error.
2024-08-20ci: update apt repo for sizediff toolchainAyke van Laethem
This was still at jammy (22.04), while the CI container was noble (24.04). Somehow this didn't break, but it certainly isn't ideal to install packages across Ubuntu versions!
2024-08-17ci: use Go 1.23Ayke van Laethem
2024-08-12GNUmakefile: add spellfix target, use it. (#4387)dkegel-fastly
TODO: Remove the go.mod/go.sum in internal/tools once doing so doesn't break CI (e.g. once we drop support for go 1.19) * builder/cc1as.h: fix typo found by 'make spell' * GNUmakefile: remove exception for inbetween, fix instance now found by 'make spell' * GNUmakefile: remove exception for programmmer, fix instance now found by 'make spell' * go.mod: use updated misspell. GNUmakefile: add spellfix target, use it. * ignore directories properly when invoking spellchecker. * make spell: give internal/tools its own go.mod, as misspell requires newer go * make lint: depend on tools and run the installed revive (which was perhaps implied by the change that added revive to internal/tools, but not required in GNUmakefile until we gave internal/tools its own temporary go.mod) * .github: now that 'make spell' works well, run it from CI * GNUmakefile: make spell now aborts if it finds misspelt words, so what it finds doesn't get lost in CI logs * GNUmakefile: tools: avoid -C option on go generate to make test-llvm15-go119 circleci job happy, see https://cs.opensource.google/go/go/+/2af48cbb7d85e5fdc635e75b99f949010c607786 * internal/tools/go.mod: fix format of go version to leave out patchlevel, else go complains.
2024-07-22all: add linux/mipsle supportAyke van Laethem
This adds linux/mipsle (little endian Mips) support to TinyGo. It also adds experimental linux/mips (big-endian) support. It doesn't quite work yet, some parts of the standard library (like the reflect package) currently seem to assume a little-endian system.
2024-07-20fix: set ubuntu version to 24.04 to try to address #4347deadprogram
Signed-off-by: deadprogram <[email protected]>
2024-07-02wasi preview 2 support (#4027)Damian Gryski
* all: wasip2 support Co-authored-by: Randy Reddig <[email protected]>
2024-05-24LLVM 18 supportAyke van Laethem
2024-05-18fix fpm ci installionleongross
Signed-off-by: leongross <[email protected]>
2024-04-30build: update llvm cache to use tagged LLVM source versiondeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-04-13lint: add "make lint" target, run it from ciDan Kegel
See https://github.com/tinygo-org/tinygo/issues/4225 Runs in both circleci and github, circleci is run on branch push, github is run on PR Revive builds so fast, don't bother installing it; saves us wondering which one we get Uses tools.go idiom to give control over linter versions to go.mod. Also pacifies linter re AppendToGlobal as a token first fix. TODO: gradually expand the number of directories that are linted, uncomment more entries in revive.toml, and fix or suppress the warnings lint finds. TODO: add linters "go vet" and staticcheck NOT TODO: don't add metalinters like golangci-lint that pull in lots of new of dependencies; we'd rather not clutter go.mod that much, let alone open ourselves up to the additional attack surface.
2024-03-24ci: don't add --recursive when updating submodulesAyke van Laethem
It's not generally needed. It was added in https://github.com/tinygo-org/tinygo/pull/3958 to fix an issue with binaryen that has since been fixed in a different way, so we don't need the googletest dependency anymore.
2024-02-28build: only use GHA cache for docker dev builds, ignore the previous saved ↵deadprogram
build-context Signed-off-by: deadprogram <[email protected]>
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]>