@@ -6,8 +6,9 @@ author: The Rust Infrastructure Team
6
6
7
7
On September 30th breaking changes will be deployed to the [ docs.rs] build
8
8
environment. [ docs.rs] is a free service building and hosting documentation for
9
- all the crates published on [ crates.io] . It's [ open source] [ docsrs-source ] and
10
- maintained by the [ Rustdoc team] [ rustdoc-team ] .
9
+ all the crates published on [ crates.io] . It's [ open source] [ docsrs-source ] ,
10
+ maintained by the [ Rustdoc team] [ rustdoc-team ] and operated by the
11
+ [ Infrastructure team] [ infra-team ] .
11
12
12
13
## What will change
13
14
@@ -17,7 +18,7 @@ build as many crates as possible. It's already used by [Crater], and we added
17
18
all the dependencies previously installed in the legacy build environment.
18
19
19
20
To ensure we can continue operating the service in the future and to increase
20
- its reliability we also improved the sandbox builds are executed in, adding
21
+ its reliability we also improved the sandbox the builds are executed in, adding
21
22
new limits:
22
23
23
24
* Each platform will now have ** 15 minutes** to build its dependencies and
@@ -38,26 +39,34 @@ Docker image locally and execute a shell inside it:
38
39
39
40
```
40
41
docker pull rustops/crates-build-env
41
- docker run --rm -it rustops/crates-build-env bash
42
+ docker run --rm --memory 3221225472 - it rustops/crates-build-env bash
42
43
```
43
44
44
- Once you're in a shell you can install [ rustup] (it's not installed in the
45
- image), install Rust nightly, clone your crate's repository and then build the
46
- documentation:
45
+ Once you're in a shell you can install [ rustup] (it's not installed by default
46
+ in the image), install Rust nightly, clone your crate's repository and then
47
+ build the documentation:
47
48
48
49
```
49
- cargo doc --no-deps
50
+ time cargo doc --no-deps
50
51
```
51
52
52
- If a dependency is missing, please [ open an issue] [ crates-build-env-issue ] on
53
- the Docker image's [ repository] [ rustops/crates-build-env ] .
53
+ To aid your testing these commands will limit the available RAM to 3 GB and
54
+ show the total execution time of ` cargo doc ` , but network access will not be
55
+ blocked as you'll need to fetch dependencies.
56
+
57
+ If your project needs a system dependency missing in the build environment,
58
+ please [ open an issue] [ crates-build-env-issue ] on the Docker image's
59
+ [ repository] [ rustops/crates-build-env ] and we'll consider adding it.
54
60
55
61
If your crate fails to build because it took more than 15 minutes to generate
56
62
its docs or it uses more than 3 GB of RAM please [ open an issue] [ docsrs-issue ]
57
63
and we will consider reasonable limit increases for your crate. We will ** not**
58
64
enable network access for your crate though: you'll need to change your crate
59
65
not to require any external resource at build time.
60
66
67
+ We recommend using [ Cargo features] to remove the parts of the code causing
68
+ build failures, enabling those features with [ docs.rs metadata] .
69
+
61
70
## Acknowledgements
62
71
63
72
The new build environment is based on [ Rustwide] , the library powering
@@ -72,11 +81,14 @@ Rousskov][mark] reviewing the changes.
72
81
[ crates.io ] : https://crates.io
73
82
[ docsrs-source ] : https://github.com/rust-lang/docs.rs
74
83
[ rustdoc-team ] : https://www.rust-lang.org/governance/teams/dev-tools#rustdoc
84
+ [ infra-team ] : https://www.rust-lang.org/governance/teams/operations#infra
75
85
[ rustops/crates-build-env ] : https://hub.docker.com/r/rustops/crates-build-env
76
86
[ Crater ] : https://github.com/rust-lang/crater
77
87
[ rustup ] : https://rustup.rs
78
88
[ crates-build-env-issue ] : https://github.com/rust-lang/crates-build-env/issues
79
89
[ docsrs-issue ] : https://github.com/rust-lang/crates-build-env/issues
90
+ [ Cargo features ] : https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section
91
+ [ docs.rs metadata ] : https://docs.rs/about
80
92
[ rustwide ] : https://github.com/rust-lang/rustwide
81
93
[ Crater contributors ] : https://github.com/rust-lang/crater/graphs/contributors
82
94
[ Rustwide contributors ] : https://github.com/rust-lang/rustwide/graphs/contributors
0 commit comments