@@ -4,6 +4,9 @@ result the CI is pretty complicated and also pretty large! Hopefully this can
4
4
serve as a guide through the sea of scripts in this directory and elsewhere in
5
5
this project.
6
6
7
+ Note that this documentation is quite outdated. See CI config and scripts
8
+ in the ` ci ` directory how we run CI now.
9
+
7
10
# Files
8
11
9
12
First 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:
15
18
16
19
* ` dox.sh ` - build the documentation of the crate and publish it to gh-pages.
17
20
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
-
26
21
# CI Systems
27
22
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] .
42
25
43
26
The Windows triples are all pretty standard, they just set up their environment
44
27
then run tests, no need for downloading any extra target libs (we just download
@@ -62,7 +45,9 @@ The remaining architectures look like:
62
45
* The BSD builds, currently OpenBSD and FreeBSD, use QEMU to boot up a system
63
46
and compile/run tests. More information on that below.
64
47
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
66
51
67
52
## QEMU
68
53
@@ -88,9 +73,7 @@ working for these platforms, but the gist of it looks like:
88
73
We may be able to get it working but it might be difficult at that point to
89
74
ensure that the libc definitions align with what you'd get on the BSD itself.
90
75
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).
94
77
95
78
With all that in mind, the way BSD is tested looks like:
96
79
@@ -109,7 +92,7 @@ There's some pretty specific instructions for setting up each image (detailed
109
92
below), but the main gist of this is that we must avoid a vanilla ` cargo run `
110
93
inside of the ` libc-test ` directory (which is what it's intended for) because
111
94
that 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.
113
96
114
97
Once all those hoops are jumped through, however, we can be happy that we're
115
98
testing almost everything!
@@ -194,7 +177,6 @@ Helpful links
194
177
* https://blog.nekoconeko.nl/blog/2015/06/04/creating-an-openstack-freebsd-image.html
195
178
* https://www.freebsd.org/doc/handbook/serialconsole-setup.html
196
179
197
-
198
180
### QEMU setup - OpenBSD
199
181
200
182
1 . Download CD installer
@@ -233,4 +215,3 @@ Helpful links:
233
215
234
216
Hopefully that's at least somewhat of an introduction to everything going on
235
217
here, and feel free to ping @alexcrichton with questions!
236
-
0 commit comments