@@ -4,6 +4,9 @@ result the CI is pretty complicated and also pretty large! Hopefully this can
44serve as a guide through the sea of scripts in this directory and elsewhere in
55this project.
66
7+ Note that this documentation is quite outdated. See CI config and scripts
8+ in the ` ci ` directory how we run CI now.
9+
710# Files
811
912First up, let's talk about the files in this directory:
@@ -15,30 +18,10 @@ First up, let's talk about the files in this directory:
1518
1619* ` dox.sh ` - build the documentation of the crate and publish it to gh-pages.
1720
18- * ` landing-page-*.html ` - used by ` dox.sh ` to generate a landing page for all
19- architectures' documentation.
20-
21- * ` run-qemu.sh ` - see discussion about QEMU below
22-
23- * ` mips ` , ` rumprun ` - instructions to build the docker image for each respective
24- CI target
25-
2621# CI Systems
2722
28- Currently this repository leverages a combination of Travis CI and AppVeyor for
29- running tests. The triples tested are:
30-
31- * AppVeyor
32- * ` {i686,x86_64}-pc-windows-{msvc,gnu} `
33- * Travis
34- * ` {i686,x86_64,mips,aarch64}-unknown-linux-gnu `
35- * ` {x86_64,aarch64}-unknown-linux-musl `
36- * ` arm-unknown-linux-gnueabihf `
37- * ` arm-linux-androideabi `
38- * ` {i686,x86_64}-apple-{darwin,ios} `
39- * ` x86_64-rumprun-netbsd `
40- * ` x86_64-unknown-freebsd `
41- * ` x86_64-unknown-openbsd `
23+ Currently this repository leverages a combination of Azure Pipelines and Cirrus CI
24+ for running tests. You can find tested triples in [ Pipelines config] or [ Cirrus config] .
4225
4326The Windows triples are all pretty standard, they just set up their environment
4427then run tests, no need for downloading any extra target libs (we just download
@@ -62,7 +45,9 @@ The remaining architectures look like:
6245* The BSD builds, currently OpenBSD and FreeBSD, use QEMU to boot up a system
6346 and compile/run tests. More information on that below.
6447
65- [ android-docker ] : https://github.com/rust-lang/rust-buildbot/blob/master/slaves/android/Dockerfile
48+ [ Pipelines config ] : https://github.com/rust-lang/libc/blob/master/ci/azure.yml
49+ [ Cirrus config ] : https://github.com/rust-lang/libc/blob/master/.cirrus.yml
50+ [ android-docker ] : https://github.com/rust-lang/libc/blob/master/ci/docker/x86_64-linux-android/Dockerfile
6651
6752## QEMU
6853
@@ -88,9 +73,7 @@ working for these platforms, but the gist of it looks like:
8873 We may be able to get it working but it might be difficult at that point to
8974 ensure that the libc definitions align with what you'd get on the BSD itself.
9075 As a result, we try to do compiles within the BSD distro.
91- * On Travis we can't run a VM-in-a-VM, so we resort to userspace emulation
92- (QEMU).
93- * Unfortunately on Travis we also can't use KVM, so the emulation is super slow.
76+ * We resort to userspace emulation (QEMU).
9477
9578With all that in mind, the way BSD is tested looks like:
9679
@@ -109,7 +92,7 @@ There's some pretty specific instructions for setting up each image (detailed
10992below), but the main gist of this is that we must avoid a vanilla ` cargo run `
11093inside of the ` libc-test ` directory (which is what it's intended for) because
11194that would compile ` syntex_syntax ` , a large library, with userspace emulation.
112- This invariably times out on Travis , so we can't do that.
95+ This invariably times out on CI , so we can't do that.
11396
11497Once all those hoops are jumped through, however, we can be happy that we're
11598testing almost everything!
@@ -194,7 +177,6 @@ Helpful links
194177* https://blog.nekoconeko.nl/blog/2015/06/04/creating-an-openstack-freebsd-image.html
195178* https://www.freebsd.org/doc/handbook/serialconsole-setup.html
196179
197-
198180### QEMU setup - OpenBSD
199181
2001821 . Download CD installer
@@ -233,4 +215,3 @@ Helpful links:
233215
234216Hopefully that's at least somewhat of an introduction to everything going on
235217here, and feel free to ping @alexcrichton with questions!
236-
0 commit comments