You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .travis.yml
+96-25Lines changed: 96 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -3,51 +3,122 @@
3
3
branches:
4
4
only:
5
5
- master
6
+
- release
6
7
7
8
language: rust
8
9
9
10
rust:
10
11
# build nightly only for the time beeing
11
12
- nightly
12
13
13
-
matrix:
14
-
fast_finish: true
14
+
# increase build speed by caching installed cargo dependencies
15
+
cache: cargo
16
+
17
+
# define the stages and their order
18
+
stages:
19
+
- compile
20
+
- test
21
+
- publish_dry
22
+
- name: prepare_release
23
+
if: branch = master AND type != pull_request
24
+
- name: deploy
25
+
if: branch = release AND type != pull_request
26
+
- name: publish
27
+
if: branch = release AND type != pull_request
28
+
29
+
jobs:
15
30
include:
16
-
- name: "build 64Bit"
31
+
- stage: compile
32
+
name: "Compile The Crate"
17
33
install:
18
-
- sudo apt-get install gcc-aarch64-linux-gnu
34
+
- sudo apt-get install -y gcc-aarch64-linux-gnu
19
35
- cargo install cargo-xbuild
20
36
- cargo install cargo-make
21
-
- rustup target add aarch64-unknown-linux-gnu
37
+
- rustup target add aarch64-unknown-none
22
38
- rustup component add rust-src
23
39
- rustup component add llvm-tools-preview
24
40
# if we not build a PR we remove the patch of the dependencies to their github repo's
25
-
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/^\[patch\.crates-io\]$/ {N; s/^.*//g}" Cargo.toml; fi'
26
-
script: cargo make --profile a64-travis pi3
41
+
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/\[patch\.crates-io\]/,$ s/^ruspiro-.*\(git\|path\).*//g" Cargo.toml; fi'
42
+
script: cargo make --profile travis pi3
27
43
28
-
- name: "build 32Bit"
44
+
- stage: test
45
+
name: "Run Doc Tests"
29
46
install:
30
-
- sudo apt-get install gcc-arm-linux-gnueabihf
31
-
- cargo install cargo-xbuild
32
47
- cargo install cargo-make
33
-
- rustup target add armv7-unknown-linux-gnueabihf
34
-
- rustup component add rust-src
35
-
- rustup component add llvm-tools-preview
36
48
# if we not build a PR we remove the patch of the dependencies to their github repo's
37
-
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/^\[patch\.crates-io\]$/ {N; s/^.*//g}" Cargo.toml; fi'
38
-
script: cargo make --profile a32 pi3
39
-
40
-
- name: "unit tests"
49
+
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/{^\[patch\.crates-io\] /{:a;N;/\Z}/!ba};/^ruspiro-.*\(git\|path\).*/d" Cargo.toml; fi'
50
+
script: cargo make doctest --profile dummy
51
+
- stage: test
52
+
name: "Run Unit Tests"
41
53
install:
54
+
- cargo install cargo-make
42
55
# if we not build a PR we remove the patch of the dependencies to their github repo's
43
-
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/^\[patch\.crates-io\]$/ {N; s/^.*//g}" Cargo.toml; fi'
44
-
script: cargo test --tests
56
+
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/{^\[patch\.crates-io\] /{:a;N;/\Z}/!ba};/^ruspiro-.*\(git\|path\).*/d" Cargo.toml; fi'
57
+
script: cargo make unittest --profile dummy
45
58
46
-
- name: "doc tests"
59
+
- stage: publish_dry
60
+
name: "Run Cargo Publish Dry-Run"
47
61
install:
48
-
# if we not build a PR we remove the patch of the dependencies to their github repo's
49
-
- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sed -i "/^\[patch\.crates-io\]$/ {N; s/^.*//g}" Cargo.toml; fi'
50
-
- cat Cargo.toml
51
-
script: cargo test --doc
62
+
- sudo apt-get install -y gcc-aarch64-linux-gnu
63
+
- cargo install cargo-xbuild
64
+
- cargo install cargo-make
65
+
- rustup target add aarch64-unknown-none
66
+
- rustup component add rust-src
67
+
- rustup component add llvm-tools-preview
68
+
script: cargo make publish_dry --profile travis
69
+
70
+
- stage: prepare_release
71
+
name: "Create PR against the release branch"
72
+
script:
73
+
- 'curl -H ''Authorization: Token ''"$GIT_API_TOKEN"'''' -X POST -H ''Content-type: application/json'' --data ''{"title":"Prepare Release and crates.io publishing", "head":"master", "base":"release", "draft":false, "body":"Automatic PR to the release branch as preperation to publish the library"}'' https://api.github.com/repos/$TRAVIS_REPO_SLUG/pulls > /dev/null'
- remove `asm!` macro usages and replace with `llvm_asm!`
5
-
- use `cargo make` to stabilize cross-platform builds
2
+
3
+
## :peach: v0.4.0
4
+
5
+
-### :bulb: Features
6
+
7
+
- Introduce the ability to lazylie initialize the value stored inside the `Singleton` using a closure. The initialization is evaluated on first access to the `Singleton` contents.
8
+
9
+
-### :wrench: Maintenance
10
+
11
+
- Enable proper and stable pipeline to support release and publishing process
12
+
13
+
## :banana: v0.3.1
14
+
15
+
-### :detective: Fixes
16
+
17
+
- remove `asm!` macro usages and replace with `llvm_asm!`
18
+
- use `cargo make` to stabilize cross-platform builds
0 commit comments