Commit Graph

48 Commits

Author SHA1 Message Date
Andrew Kelley
0d7a9c4806 CI: update tarballs
This time the LLVM builds have assertions enabled.

Also the zig builds support `-rtlib=none` for disabling compiler-rt.
2024-09-19 18:20:21 -07:00
Andrew Kelley
c234655e35 CI: update tarballs to LLVM 19.1.0rc4
oops, I forgot to enable LLVM assertions though
2024-09-19 18:20:21 -07:00
Jacob Young
f34b198251 Dwarf: implement and test decls 2024-09-10 12:27:56 -04:00
Jacob Young
4cc16fd6f7 Dwarf: fix and test inline function bugs 2024-08-28 04:25:08 -04:00
Jacob Young
8c3f6c72c0 Dwarf: fix and test string format 2024-08-27 02:09:59 -04:00
Jacob Young
4a132d4bce Type: fix inconsistency between zig fmt and @typeName 2024-08-22 20:08:04 -04:00
Jacob Young
49e6041391 Dwarf: fix and test unions 2024-08-18 16:21:10 -04:00
Alex Rønne Petersen
1045537141 Revert "ci: Enable -Dtest-slow-targets."
This reverts commit 55cc9dda66.
2024-08-18 12:35:57 -04:00
Jacob Young
ef11bc9899 Dwarf: rework self-hosted debug info from scratch
This is in preparation for incremental and actually being able to debug
executables built by the x86_64 backend.
2024-08-16 15:22:55 -04:00
Alex Rønne Petersen
55cc9dda66
ci: Enable -Dtest-slow-targets. 2024-08-14 07:03:23 +02:00
Andrew Kelley
89e4c38fe3 CI: update tarballs to one that has LLVM assertions enabled 2024-07-19 15:43:35 -07:00
Andrew Kelley
651225c2d4 add -Denable-tidy flag and use it in the CI
Eliminates a TODO from the CI scripts; makes it easier to check validity
of html when working on the langref locally.
2024-06-17 00:10:35 -07:00
Andrew Kelley
cb1d1bdf59 make zig build test check for conforming formatting
There was already `zig build test-fmt` but now `zig build test` depends
on that one.

The CI scripts no longer need explicit logic since they already do
`zig build test`.
2024-06-16 19:31:59 -07:00
Andrew Kelley
74f52954b9 update tarballs to 0.13.0-dev.130+98a30acad 2024-05-08 23:17:08 -07:00
Andrew Kelley
e07ad33f1d update CI tarballs for LLVM 18
Also makes the windows CI scripts fetch the tarballs from the network if
not already on disk.
2024-05-08 19:37:29 -07:00
Andrew Kelley
1b90888f57 migrate langref documentation generation to the build system 2024-04-25 00:09:24 -07:00
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
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
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
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
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
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
5ba703b030 CI: update tarballs to LLVM 16.0.0-rc1 2023-01-29 18:57:58 -07:00
Manlio Perillo
e2d7b2bf33 ci: remove extra whitespace 2022-12-30 15:01:54 -05:00
Andrew Kelley
e2e96eb13b CI: update x86_64 and aarch64 LLVM tarballs with assertions enabled 2022-12-27 23:13:34 -07:00
Andrew Kelley
b911b54aeb CI: fix path to langref when running tidy 2022-12-14 14:26:02 -07:00
Andrew Kelley
83361e4a9b CI: test updating the wasm binary
Make sure that no commit regresses the ability to upgrade our wasm
binary. Otherwise, somebody in the future is going to have a Bad Day.
2022-12-08 02:01:46 -05:00
Andrew Kelley
0f2a7d3b54 CI: don't pass -Denable-stage1 when building stage4 2022-12-06 12:27:28 -07:00
Andrew Kelley
bdb6fb5763 CI: use cache directories local to the CI run
Override the cache directories because they won't actually help other CI
runs which will be testing alternate versions of zig, and ultimately
would just fill up space on the hard drive for no reason.

In practice we did see one of the CI servers fill up too many files
inside ~/.cache/zig, which caused certain file system operations to
start returning ENOSPC, despite the hard drive having plenty of space
left.
2022-12-04 15:45:15 -07:00
Andrew Kelley
af4361f57a CI: update tarballs to 0.11.0-dev.448+e6e459e9e
Notably this contains a fix to zig cc that enables the syntax
`-Wl,-z,stack-size=0x10000`.
2022-12-02 17:31:33 -05:00
Andrew Kelley
9f9f1aadc7 CI: add aarch64-linux-debug job and flatten dirs 2022-12-01 00:37:47 -07:00