46 Commits

Author SHA1 Message Date
Andrew Kelley
87aa052e23 ci: pass --override-lib-dir to emit std lib docs
Otherwise we get errors from conflicting std libs.
2021-01-07 02:58:27 -07:00
Andrew Kelley
ee1b370404 ci: don't use ninja on linux
I got this error when re-running the cmake line setting
-DZIG_EXECUTABLE:

```
ninja: warning: multiple rules generate zig1.o. builds involving
this target will not be correct; continuing anyway
[-w dupbuild=warn]
```

But it works fine with make.
2021-01-07 00:38:48 -07:00
Andrew Kelley
a279cf81b2 ci: add missing target/mcpu args to zig cc
In the previous commit, I forgot to add these.
2021-01-07 00:18:28 -07:00
Andrew Kelley
ce5222d945 ci: rework linux script
* no longer depend on apt.llvm.org, instead we rely on a zig-bootstrap
   tarball with pre-built Zig, LLVM, LLD, and Clang. Similar to the
   Windows Dev Kit but for Linux. This also makes the script no longer
   depend on Docker, libxml2, or GCC.
 * remove bash retry logic; it was only needed for flaky apt.llvm.org
   and isn't needed for the other resources we download.
 * build and upload the experimental std lib automatically generated
   docs. langref.html is moved to docs/langref.html because the std lib
   docs are in docs/std/.
 * the superfluous "zig" directory in $prefix/lib/zig/std/std.zig is
   removed from the tarball.
 * update_download_page makes a commit in the www.ziglang.org repository
   updating data/releases.json so that repository can manage deploys.
2021-01-06 23:40:17 -07:00
Jay Petacat
993f4b5a06 ci: fix git describe
git describe is used for version string creation, but it had to be
reverted in commit 69da6ba because it was broken in CI builds.
Azure Pipelines and Drone perform shallow clones by default.
This change reconfigures them to fetch history and tags. It adds tens of
seconds, which is negligible compared to overall build and test time.

Related: #6466, #6509, #7601
2021-01-01 20:41:39 -07:00
Michael Dusan
ae0af5e5a6
ci linux: bump qemu-5.2.0 2020-12-09 21:31:31 -05:00
LemonBoy
55838bc291 ci: Use eval to make retry() work for pipelines too 2020-12-04 17:31:27 +01:00
LemonBoy
2282eb1be1 ci: Use -nv flag for wget
-nv, --no-verbose   turn off verboseness, without being quiet
2020-12-04 13:11:45 +01:00
LemonBoy
77031baf98 ci: Prevent some more CI failures
Many times the CI pipeline fails in the early stages because the APT
repo for LLVM is being updated.
Add a retry mechanism for some more APT commands.
2020-12-04 13:11:45 +01:00
LemonBoy
471e26425a ci: Retry apt-get install at most three times
Try harder instead of failing after the first invocation fails.
2020-12-02 12:14:11 +01:00
Frank Denis
bb14bd35bd Update wasmtime to version 0.20
The version we were using in CI is now getting quite old, and we
want to make sure that the code we produce is compatible with
current versions of Wasmtime.
2020-11-04 20:28:54 +01:00
Andrew Kelley
74e3ffa9b4 ci: update llvm 10 => 11 2020-10-12 18:38:28 -07:00
Andrew Kelley
561ed38f12 ci: drop the cmake patch for linux
hopefully they've solved the polly plugin thing by now on apt.llvm.org.
2020-09-21 12:40:19 -07:00
Michael Dusan
05f80311bc
ci linux: bump qemu-5.1.0 2020-08-14 14:38:54 -04:00
xackus
2064e84cdd ci: check langref.html for html errors 2020-07-08 19:34:44 +00:00
Michael Dusan
c2f547f91f
ci linux: bump qemu-5.0.0-49ee115552
update qemu to upstream with mremap patch
2020-06-08 16:20:39 -04:00
Noam Preil
3b4e29f1ad [CI] Use ninja on Azura and Drone 2020-05-29 13:34:15 -04:00
Jakub Konka
40812063cc Disable tests requiring Wasmtime be default; require -Denable-wasmtime flag otherwise 2020-05-18 16:12:03 +02:00
Jakub Konka
14510f412d Download and unpack wasmtime on Linux 2020-05-18 16:10:32 +02:00
Michael Dusan
5fb8d7dcdc
ci linux: bump qemu-5.0.0-z2
closes #5245
see 1b41e31a5c
2020-05-02 04:39:36 -04:00
Michael Dusan
e97181e362
ci linux: bump qemu 5.0.0-rc4 → 5.0.0 2020-04-29 17:01:12 -04:00
Michael Dusan
79809a0e54
ci: bump static-qemu 5.0.0-rc3 → 5.0.0-rc4 2020-04-22 18:02:50 -04:00
Michael Dusan
57a2c5a63c ci: bump static-qemu 5.0.0-rc1 → 5.0.0-rc2 2020-04-08 21:00:17 -04:00
Michael Dusan
deef063bbf use static-qemu linux-x86_64 tarball
- no longer install qemu via apt-get
- wget hosted tarball, extract and prepend to path
2020-04-02 11:04:40 -04:00
Andrew Kelley
10223eaea0
ci: workaround for apt.llvm.org packaging bug 2020-03-22 17:03:53 -04:00
Andrew Kelley
40f4101802
ci: fix ubuntu package name for lld 2020-03-22 15:44:39 -04:00
Andrew Kelley
8d1659bb39
ci: again fix the cache tarball URLs 2020-03-22 15:35:54 -04:00
Andrew Kelley
adf5af1bc5
ci: update cache tarball URLs 2020-03-22 15:14:46 -04:00
Andrew Kelley
211e1b1ced
ci: update to llvm 10 2020-01-22 17:54:58 -05:00
Andrew Kelley
9daa7e1e19
CI: update llvm apt sources to correct ubuntu version
In the pipelines.yml file we request Ubuntu 18.04 Bionic Beaver, but in
the script we were still using the Xenial apt.llvm.org sources.
2019-12-20 13:40:07 -05:00
Andrew Kelley
5001faa690
ci: stop assuming that azure will complete last
Each of the 3 CI services now trigger a sr.ht build via
the on_master_success script. The sr.ht build checks if all builds have
completed successfully by trying to download the JSON file for the
particular version. If all builds have completed successfully then this
sr.ht job will update the download page.
2019-11-03 14:00:28 -05:00
Andrew Kelley
c5e26b8673
ci: force git name-rev to be 9 on all targets 2019-10-25 03:27:00 -04:00
Andrew Kelley
695a746aa0
ci: use x86_64 namespaced docker image
I took a risk that docker had implemented namespacing with regards to
architectures correctly, but of course they didn't. So the CI docker
image for x86_64 was clobbered by an aarch64 image with the same name.

Now we're doing arch namespaces with the tag name, so here's the x86_64
one.
2019-10-24 20:46:07 -04:00
Andrew Kelley
ffef5d26b6
significantly increase test coverage
* add zig build option `-Dskip-libc` to skip tests that build libc
   (e.g. if you don't want to wait for musl to build)
 * add `-Denable-wine` option which uses wine to run cross compiled
   windows tests on non-windows hosts
 * add `-Denable-qemu` option which uses qemu to run cross compiled
   foreign architecture tests
 * add `-Denable-foreign-glibc=path` option which combined with
   `-Denable-qemu` enables running cross compiled tests that link
   against glibc. See
   https://github.com/ziglang/zig/wiki/Updating-libc#glibc for how to
   produce this directory.
 * the test matrix is done manually. release test builds are only
   enabled by default for the native target. this should save us some CI
   time, while still providing decent coverage of release builds.
   - add test coverage for `x86_64-linux-musl -lc` (building musl libc)
   - add test coverage for `x86_64-linux-gnu -lc` (building glibc)
   - add test coverage for `aarch64v8_5a-linux-none`
   - add test coverage for `aarch64v8_5a-linux-musl -lc` (building musl libc)
   - add test coverage for `aarch64v8_5a-linux-gnu -lc` (building glibc)
   - add test coverage for `arm-linux-none`
   - test coverage for `arm-linux-musleabihf -lc` (building musl libc) is
     disabled due to #3286
   - test coverage for `arm-linux-gnueabihf -lc` (building glibc) is disabled
     due to #3287
   - test coverage for `x86_64-windows-gnu -lc` (building mingw-w64) is
     disabled due to #3285
 * enable qemu testing on the Linux CI job. There's not really a good
   reason to enable wine, since we have a Windows CI job as well.
 * remove the no longer needed `--build-file ../build.zig` from CI
   scripts
 * fix bug in glibc compilation where it wasn't properly reading the abi
   list txt files, resulting in "key not found" error.
 * std.build.Target gains:
   - isNetBSD
   - isLinux
   - osRequiresLibC
   - getArchPtrBitWidth
   - getExternalExecutor
 * zig build system gains support for enabling wine and enabling qemu.
   `artifact.enable_wine = true;`, `artifact.enable_qemu = true;`. This
   communicates that the system has these tools installed and the build
   system will use them to run tests.
 * zig build system gains support for overriding the dynamic linker of
   an executable artifact.
 * fix std.c.lseek prototype. makes behavior tests for
   arm-linux-musleabihf pass.
 * disable std lib tests that are failing on ARM. See #3288, #3289
 * provide `std.os.off_t`.
 * disable some of the compiler_rt symbols for arm 32 bit. Fixes
   compiler_rt tests for arm 32 bit
 * add __stack_chk_guard when linking against glibc. Fixes std lib tests
   for aarch64-linux-gnu
 * workaround for "unable to inline function" using `@inlineCall`. Fixes
   compiler_rt tests for arm 32 bit.
2019-09-22 11:22:17 -04:00
Andrew Kelley
00cd988438
update CI scripts llvm 8 to 9 2019-09-19 17:04:27 -04:00
mrkishi
fdddd13106 add cache-control headers to tarballs on ci 2019-06-04 23:25:24 -04:00
Andrew Kelley
1f9ebf49f8
ci: stop doing the branch redirect thing
Now that we have https://ziglang.org/download/index.json

See #1046
2019-04-05 17:33:58 -04:00
Andrew Kelley
692086f898
ci: add missing cache control headers and update download/index.json 2019-04-03 16:04:24 -04:00
Andrew Kelley
bf4701562c
ci: add FreeBSD to download page 2019-03-20 23:19:18 -04:00
Andrew Kelley
c00216701c Merge remote-tracking branch 'origin/master' into llvm8 2018-12-23 17:04:26 -05:00
Andrew Kelley
bbdc12891b
ci: workaround azure quirk with set -x 2018-11-29 11:05:56 -05:00
Andrew Kelley
197ffe0092 update ci scripts for llvm 8 2018-11-05 10:58:53 -05:00
Andrew Kelley
973e0abe79
ci: full test suite 2018-11-05 10:10:27 -05:00
Andrew Kelley
e64e8d62dd
ci: display environment variables 2018-11-05 09:46:31 -05:00
Andrew Kelley
caf1ec9474
ci: fix shasum commands 2018-11-04 23:26:23 -05:00
Andrew Kelley
c2df9236c4
ci: use azure for all CI
* appveyor and travis are removed
 * add a job to update the download page when all
   targets pass. closes #1046
2018-11-04 22:32:59 -05:00