| Alex Crichton | d9962f4 | 2015-09-17 17:45:10 -0700 | [diff] [blame] | 1 | The goal of the libc crate is to have CI running everywhere to have the |
| 2 | strongest guarantees about the definitions that this library contains, and as a |
| 3 | result the CI is pretty complicated and also pretty large! Hopefully this can |
| 4 | serve as a guide through the sea of scripts in this directory and elsewhere in |
| 5 | this project. |
| 6 | |
| 7 | First up, let's talk about the files in this directory: |
| 8 | |
| 9 | * `Dockerfile-android`, `android-accept-licenses.sh` -- these two files are |
| 10 | used to build the Docker image that the android CI builder uses. The |
| 11 | `Dockerfile` just installs the Android SDK, NDK, a Rust nightly, Rust target |
| 12 | libraries for Android, and sets up an emulator to run tests in. You can build |
| 13 | a new image with this command (from the root of the project): |
| 14 | |
| 15 | docker build -t alexcrichton/rust-libc-test -f ci/Dockerfile-android . |
| 16 | |
| 17 | When building a new image contact @alexcrichton to push it to the docker hub |
| 18 | and have libc start using it. This hasn't needed to happen yet, so the process |
| 19 | may be a little involved. |
| 20 | |
| 21 | The script here, `android-accept-licenses.sh` is just a helper used to accept |
| 22 | the licenses of the SDK of Android while the docker image is being created. |
| 23 | |
| 24 | * `msys2.ps1` - a PowerShell script which is used to install MSYS2 on the |
| 25 | AppVeyor bots. As of this writing MSYS2 isn't installed by default, and this |
| 26 | script will install the right version/arch of msys2 in preparation of using |
| 27 | the contained C compiler to compile C shims. |
| 28 | |
| 29 | * `run-travis.sh` - a shell script run by all Travis builders, this is |
| 30 | responsible for setting up the rest of the environment such as installing new |
| 31 | packages, downloading Rust target libraries, etc. |
| 32 | |
| 33 | * `run.sh` - the actual script which runs tests for a particular architecture. |
| 34 | Called from the `run-travis.sh` script this will run all tests for the target |
| 35 | specified. |
| 36 | |
| 37 | * `cargo-config` - Cargo configuration of linkers to use copied into place by |
| 38 | the `run-travis.sh` script before builds are run. |
| 39 | |
| 40 | * `dox.sh` - script called from `run-travis.sh` on only the linux 64-bit nightly |
| 41 | Travis bots to build documentation for this crate. |
| 42 | |
| 43 | * `landing-page-*.html` - used by `dox.sh` to generate a landing page for all |
| 44 | architectures' documentation. |
| 45 | |