1
- language : rust
2
- rust : stable
3
- cache : cargo
4
1
5
2
matrix :
6
3
fast_finish : true
7
4
include :
8
- - name : rust unittests and doctests
5
+ - name : Run rust tests
9
6
language : rust
10
7
rust : stable
11
8
cache : cargo
12
9
script :
13
10
- cargo build --verbose --all
14
11
- cargo test --verbose --all
12
+ env :
13
+ # Prevention of cache corruption.
14
+ # See: https://docs.travis-ci.com/user/caching/#caches-and-build-matrices
15
+ - JOBCACHE=1
15
16
16
17
# To test the snippets, we use Travis' Python environment (because
17
18
# installing rust ourselves is a lot easier than installing Python)
18
19
- name : python test snippets
19
20
language : python
20
21
python : 3.6
21
22
cache :
22
- pip : true
23
- # Because we're using the Python Travis environment, we can't use
24
- # the built-in cargo cacher
25
- directories :
26
- - /home/travis/.cargo
27
- - target
23
+ - pip
24
+ - cargo
28
25
env :
26
+ - JOBCACHE=2
29
27
- TRAVIS_RUST_VERSION=stable
30
28
- CODE_COVERAGE=false
31
29
script : tests/.travis-runner.sh
32
- - name : rustfmt
30
+
31
+ - name : Check rust code style with rustfmt
33
32
language : rust
34
33
rust : stable
35
34
cache : cargo
36
35
before_script :
37
- - rustup component add rustfmt-preview
36
+ - rustup component add rustfmt
38
37
script :
39
- # Code references the generated python.rs, so put something in
40
- # place to make `cargo fmt` happy. (We use `echo` rather than
41
- # `touch` because rustfmt complains about the empty file touch
42
- # creates.)
43
- - echo > parser/src/python.rs
44
38
- cargo fmt --all -- --check
39
+ env :
40
+ - JOBCACHE=3
41
+
45
42
- name : publish documentation
46
43
language : rust
47
44
rust : stable
@@ -50,7 +47,17 @@ matrix:
50
47
- cargo doc --no-deps --all
51
48
if : branch = release
52
49
env :
53
- - DEPLOY_DOC=true
50
+ - JOBCACHE=4
51
+ deploy :
52
+ - provider : pages
53
+ repo : RustPython/website
54
+ target-branch : master
55
+ local-dir : target/doc
56
+ skip-cleanup : true
57
+ # Set in the settings page of your repository, as a secure variable
58
+ github-token : $WEBSITE_GITHUB_TOKEN
59
+ keep-history : true
60
+
54
61
- name : WASM online demo
55
62
language : rust
56
63
rust : stable
@@ -65,42 +72,38 @@ matrix:
65
72
- npm run dist
66
73
if : branch = release
67
74
env :
68
- - DEPLOY_DEMO=true
69
- - name : cargo-clippy
70
- language : rust
71
- rust : stable
72
- cache : cargo
73
- before_script :
74
- - rustup component add clippy
75
- script :
76
- - cargo clippy
75
+ - JOBCACHE=5
76
+ deploy :
77
+ - provider : pages
78
+ repo : RustPython/demo
79
+ target-branch : master
80
+ local-dir : wasm/demo/dist
81
+ skip-cleanup : true
82
+ # Set in the settings page of your repository, as a secure variable
83
+ github-token : $WEBSITE_GITHUB_TOKEN
84
+ keep-history : true
85
+
77
86
- name : Code Coverage
78
87
language : python
79
88
python : 3.6
80
89
cache :
81
- pip : true
82
- # Because we're using the Python Travis environment, we can't use
83
- # the built-in cargo cacher
84
- directories :
85
- - /home/travis/.cargo
86
- - target
90
+ - pip
91
+ - cargo
87
92
script :
88
93
- tests/.travis-runner.sh
89
94
# Only do code coverage on master via a cron job.
90
95
if : branch = master AND type = cron
91
96
env :
97
+ - JOBCACHE=6
92
98
- TRAVIS_RUST_VERSION=nightly
93
99
- CODE_COVERAGE=true
100
+
94
101
- name : test WASM
95
102
language : python
96
103
python : 3.6
97
104
cache :
98
- pip : true
99
- # Because we're using the Python Travis environment, we can't use
100
- # the built-in cargo cacher
101
- directories :
102
- - /home/travis/.cargo
103
- - target
105
+ - pip
106
+ - cargo
104
107
addons :
105
108
firefox : latest
106
109
install :
@@ -109,30 +112,5 @@ matrix:
109
112
script :
110
113
- wasm/tests/.travis-runner.sh
111
114
env :
115
+ - JOBCACHE=7
112
116
- TRAVIS_RUST_VERSION=stable
113
- allow_failures :
114
- - name : cargo-clippy
115
-
116
- deploy :
117
- - provider : pages
118
- repo : RustPython/website
119
- target-branch : master
120
- local-dir : target/doc
121
- skip-cleanup : true
122
- # Set in the settings page of your repository, as a secure variable
123
- github-token : $WEBSITE_GITHUB_TOKEN
124
- keep-history : true
125
- on :
126
- branch : release
127
- condition : $DEPLOY_DOC = true
128
- - provider : pages
129
- repo : RustPython/demo
130
- target-branch : master
131
- local-dir : wasm/demo/dist
132
- skip-cleanup : true
133
- # Set in the settings page of your repository, as a secure variable
134
- github-token : $WEBSITE_GITHUB_TOKEN
135
- keep-history : true
136
- on :
137
- branch : release
138
- condition : $DEPLOY_DEMO = true
0 commit comments