617 Commits

Author SHA1 Message Date
Jacob Young 71ccdb5a66 ci: add self-hosted x86_64 windows 2024-04-14 21:26:09 -04:00
Jakub Konka f8989a9c69 ci: bump QEMU to 8.2.1 on x86_64-linux machines 2024-02-23 10:30:34 +01:00
Jacob Young 2291560424 c_import: extract behavior tests that use @cImport
This introduces the new test step `test-c-import`, and removes the
ability of the behavior tests to `@cImport` paths relative to `test`.
This allows the behavior tests to be run without translate c.
2024-02-20 18:44:43 +01:00
Andrew Kelley d40b71a39f CI: update wasmtime to v10.0.2
The newest release changes the CLI; let's wait until that breaking
change finds its way into system package managers before updating to it.
2024-02-11 13:38:56 -07:00
Jakub Konka 83bbc39c15 ci: enable testing of non-llvm bootstrapping on x86_64-macos 2024-02-09 13:17:35 +01:00
Jakub Konka 7b4561170a ci: re-enable reproducibility for x86_64-macos 2024-01-29 13:16:58 +01:00
Andrew Kelley e92cc155fd CI: update aarch64-windows tarball
Contains the mingw upgrade to use ucrt.
2024-01-08 12:05:37 -07:00
Andrew Kelley 046f7550df CI: update windows tarballs for mingw upgrade
The tarballs have to be rebuilt because now we want to use the ucrt.
2024-01-08 11:52:38 -07:00
Jacob Young 98b633ff17 Reapply "Merge pull request #17824 from kcbanner/fixup_msvc_fmax"
This reverts commit 2b58978360.
2024-01-03 02:41:21 -05:00
Andrew Kelley 7cec11a66b CI: update windows scripts to new CLI module syntax 2024-01-01 19:49:08 -07:00
Andrew Kelley 2b58978360 Revert "Merge pull request #17824 from kcbanner/fixup_msvc_fmax"
This reverts commit 7161ed79c4, reversing
changes made to 3f2a65594e.

Unfortunately, this sat in the PR queue too long and the merge broke the
zig1.wasm bootstrap process.
2024-01-01 17:49:57 -07:00
Andrew Kelley 7161ed79c4 Merge pull request #17824 from kcbanner/fixup_msvc_fmax
cbe: add a system for avoiding collisions with C compiler intrinsics
2024-01-01 15:36:16 -08:00
Andrew Kelley f545fc28b3 build: pass --abbrev to git rather than relying on global config
For computing the zig version number, pass --abbrev=9 rather than
requiring the user to set their git configuration in order to make zig
versions match the standard.
2023-12-19 00:54:48 -08:00
Andrew Kelley f8b38a174f adjust building from source without LLVM process
The idea here is that the zig2 executable is perhaps the more useful
deliverable until we implement our own optimization passes. This will
allow system packages to provide Zig, and use it to compile Zig
projects, all without LLVM!
2023-11-14 02:17:51 -05:00
Andrew Kelley f45aac4903 CI: test building from source without LLVM 2023-11-12 17:30:24 -07:00
kcbanner 58789cb054 Revert "CI: disable MSVC C backend checks"
This reverts commit 7c5d01b95e.
2023-11-05 20:34:13 -05:00
Andrew Kelley 7c5d01b95e CI: disable MSVC C backend checks
Tracking issue: #17817
2023-11-01 11:42:47 -07:00
Andrew Kelley edcb17daf8 CI: -Dskip-release on x86_64-windows-debug
This script is sometimes timing out, so let's test fewer things to save
time. The x86_64-windows-release script does include test coverage for
release builds of the standard library, behavior tests, etc.
2023-10-18 14:45:13 -07:00
Andrew Kelley 6ba7d0c435 reapply "CI: update x86_64 windows tarballs"
This reverts commit 272a57eeed,
reapplying commit bb98ffbe7f.
2023-10-14 00:35:59 -07:00
Andrew Kelley 272a57eeed Revert "CI: update x86_64 windows tarballs"
This reverts commit bb98ffbe7f.

This caused master branch to fail the CI. We do need to figure out why
these assertions are tripping but let's do it in a branch other than
master.
2023-09-22 12:53:36 -07:00
Andrew Kelley 867e61e10b CI: update macos tarballs
Updates from LLVM release/17.x to 17.0.1
2023-09-22 09:43:31 -07:00
Andrew Kelley bb98ffbe7f CI: update x86_64 windows tarballs
Updates from LLVM release/17.x to 17.0.1
2023-09-22 09:42:15 -07:00
Andrew Kelley 0345d78663 CI: install ninja on windows
The new CI images provided by GitHub no longer provide ninja.exe, so
this commit installs it explicitly, using the suggested method from
GitHub.

See https://github.com/actions/runner-images/issues/8343 for more
details.
2023-09-21 14:18:55 -07:00
Andrew Kelley fe63d15d07 CI: update all tarball URLs
These contain LLVM 17 as well as a fix to zig to add
`-fno-sanitize=function` to the clang command line.
2023-09-19 09:37:53 -07:00
Andrew Kelley 75b8b21cc1 CI: update bootstrap tarballs to latest
Updates llvm libraries to 17.0.0rc3 which contain bug fixes that
affected the zig test suite.
2023-09-19 09:37:53 -07:00
Andrew Kelley 0bd1058d5a CI: update x86_64-linux tarball 2023-09-19 09:37:32 -07:00
Andrew Kelley 7e2b6b0f1b Revert "ci: use zig build check-fmt instead of zig fmt --check"
This reverts commit 4d1432299f.

Please don't hard-code unrelated concerns this way. build.zig should not
have awareness of the naming conventions for cmake build directories.
2023-09-12 14:32:05 -07:00
Wooster 4d1432299f ci: use zig build check-fmt instead of zig fmt --check
We already have a zig build step for this: test-fmt.

* Rename the test-fmt step to check-fmt.
  test-fmt sounds like it runs tests for `zig fmt` itself (lib/std/zig/render.zig).
* Use it instead of `zig fmt --check` in the CI scripts.
* Also use it in CI scripts that didn't have this check before.
2023-09-09 15:49:18 +03:00
Andrew Kelley d7e74f7cbf CI: fix path to output langref
Apparently tidy doesn't exit with failure status if the input file is
not found? wtf tidy
2023-08-03 09:52:15 -07:00
Andrew Kelley 6e4fff6ba6 move installation logic to the build script where it belongs
* build.zig: introduce `-Dflat` option which makes the installation
  match what we want to ship for our download tarballs. This allows
  deleting a bunch of shell script logic from the CI.
  - for example it puts the executable directly in prefix/zig rather
    than prefix/bin/zig and it additionally includes prefix/LICENSE.
* build.zig: by default also install std lib documentation to doc/std/
  - this can be disabled by `-Dno-autodocs` similar to how there is
    already `-Dno-langref`.
* build.zig: add `std-docs` and `langref` steps which build and install
  the std lib autodocs and langref to prefix/doc/std and
  prefix/doc/langref.html, respectively.

* std.Build: implement proper handling of `-femit-docs` using the
  LazyPath system. This is a breaking change.
  - this is a partial implementation of #16351
* frontend: fixed the handling of Autodocs with regards to caching and
  putting the artifacts in the proper location to integrate with the
  build system.
  - closes #15864

* CI: delete the logic for autodocs since it is now handled by build.zig
  and is enabled by default.
  - in the future we should strive to have nearly all the CI shell
    script logic deleted in favor of `zig build` commands.
* CI: pass `-DZIG_NO_LIB=ON`/`-Dno-lib` except for the one command where
  we want to actually generate the langref and autodocs. Generating the
  langref takes 14 minutes right now (why?!) so we don't want to do that
  more times than necessary.

* Autodoc: fixed use of a global variable. It works fine as a local
  variable instead.
  - note that in the future we will want to make Autodoc run
    simultaneously using the job system, but for now the principle of
    YAGNI dictates that we don't have an init()/deinit() API and instead
    simply call the function that does the things.
* Autodoc: only do it when there are no compile errors
2023-07-22 00:16:27 -07:00
Andrew Kelley 128fd7dd02 CI: -x86_64-macos-debug, +aarch64-macos-debug
It's easier to get M1 hardware for testing than x86_64-macos. This
addresses the current bottleneck in our CI pipeline.
2023-06-21 00:37:58 -07:00
Andrew Kelley 5b9e528bc5 CI: give aarch64-linux a maxrss parameter
to avoid getting OOM killed. We need to have a high number of GitHub
Actions runners simultaneously active, otherwise the hardware ends up
underutilized. But with zig build running in parallel now, this
sometimes results in memory usage spikes that have been causing the
runner to get killed.

This number is the total physical memory (251G) divided by the number of
runners we have active (11).

See related commit 2d41dac57d which did
the same but for our x86_64-linux machines.
2023-04-25 12:46:39 -07:00
Andrew Kelley 0e394cf922 Merge pull request #15192 from motiejus/build-release
zig build: change "-Drelease" to "-Doptimize"
2023-04-18 20:36:56 -07:00
Andrew Kelley 2d41dac57d CI: give x86_64-linux a maxrss parameter
to avoid getting OOM killed. It's been happening regularly recently. We
need to have a high number of GitHub Actions runners simultaneously
active, otherwise the hardware ends up underutilized. But with zig build
running in parallel now, this sometimes results in memory usage spikes
that have been causing the runner to get killed.

This number is the total physical memory (126G) divided by the number of
runners we have active (6).
2023-04-17 10:38:27 -07:00
Andrew Kelley 72dcad6f02 Revert "ci: let's not skip non native tests on macos!"
This reverts commit a34752c941.

With #15277 merged, the macOS CI will still run the self-hosted x86_64
tests even with -Dskip-non-native. This was the main motivation for the
commit.

It would be nice to keep this flag enabled, however, we don't have
enough CI computing power, and the macOS CI lags behind with these extra
tests enabled.
2023-04-16 23:48:42 -07:00
Motiejus Jakštys 7abc3738a2 zig build: change "-Drelease" to "-Doptimize"
I find myself quite often creating ReleaseSafe builds and putting them
to production for certain experiments:
- Debug info are for stack traces. An ongoing example where those would
  help is #14815.
- Safety checks would have saved a couple of mine and @kubkon's hours in
  #15098.

This is a breaking change for scripts that make Zig releases -- I will
submit another PR to zig-bootstrap and release-cutter after this is
merged.
2023-04-16 23:55:51 +03:00
Jakub Konka a34752c941 ci: let's not skip non native tests on macos! 2023-04-13 16:44:22 +02:00
Andrew Kelley 271f24f047 CI: disable reproducibility check on x86_64-macos 2023-04-06 13:58:25 -07:00
Andrew Kelley eccf39c995 CI: update aarch64-macos tarball 2023-04-06 08:40:36 -07:00
Andrew Kelley 467a1498e4 CI: update x86_64-macos tarballs to llvm 16.0.1 2023-04-06 01:29:19 -07:00
Andrew Kelley aea45bdf25 CI: update macos tarball to llvm 16.0.0-rc4 2023-03-17 14:55:00 -07:00
Andrew Kelley 1ed569e0b2 Merge remote-tracking branch 'origin/master' into llvm16 2023-03-16 17:33:24 -07:00
Andrew Kelley 2c326c87b1 build.zig: install the langref to $prefix/doc/langref.html
and update the CI scripts to match.
2023-03-15 10:48:14 -07:00
Andrew Kelley 8d4067e7a3 CI: take advantage of zig build concurrency
I ain't afraid of no ghost.

This reverts commit 14a176b9b16e07a66a2f9cd485aaf80fed0f5a12.
2023-03-15 10:48:14 -07:00
Andrew Kelley c641af3cba CI: use -j1 like a coward
Zig's build script has several race conditions preventing proper
concurrent builds from working. By using -j1 for now, finishing this
branch (concurrent zig builds) is untangled from the separate problem of
correcting concurrency issues with zig's own build script.

In other words, let's solve one problem at a time.
2023-03-15 10:48:12 -07:00
Andrew Kelley 12b74b2c05 CI: more aggressively check zig1 bootstrapping
This would have caught the problem we are seeing in #14799.
2023-03-09 01:26:21 -05:00
Andrew Kelley 778ca2ae6b update CI tarballs to LLVM16 2023-03-04 13:59:55 -07:00
Andrew Kelley d399f8a489 Merge remote-tracking branch 'origin/master' into llvm16 2023-02-27 16:10:48 -07:00
mlugg 09a84c8384 Update std.Build to new module CLI, update zig1 and CMakeLists
Resolves: #14667
2023-02-21 01:59:37 +00:00
Andrew Kelley fab9b7110e Merge remote-tracking branch 'origin/master' into llvm16 2023-02-03 12:49:40 -07:00