22
22
CLICOLOR : 1
23
23
MDBOOK_VERSION : 0.4.37
24
24
LINKCHECK_VERSION : 0.7.7
25
- RUST_VERSION : 1.78.0
25
+ RUST_LATEST_VERSION : 1.78.0
26
26
27
27
jobs :
28
28
unit_test :
29
- name : Unit test on ${{ matrix.os }} [ ${{ matrix.mode }}]
29
+ name : Unit test [ ${{ matrix.mode }}-rust-${{ matrix.rust }}- ${{ matrix.os }}]
30
30
runs-on : ${{ matrix.os }}
31
31
strategy :
32
32
matrix :
33
33
os :
34
34
- ubuntu-22.04
35
- # - macos-14
36
- mode : [debug, release]
35
+ - macos-14
36
+ rust :
37
+ # Oldest supported version of rust
38
+ - 1.77.2
39
+ - 1.78.0
40
+ mode :
41
+ - debug
37
42
38
43
include :
39
- - mode : ' debug '
40
- mode_option : ' '
41
- - mode : ' release '
42
- mode_option : ' -- release'
44
+ # Add a release build on linux with the latest version of rust
45
+ - os : ubuntu-22.04
46
+ rust : 1.78.0
47
+ mode : release
43
48
44
49
steps :
45
50
- uses : actions/checkout@v4.1.3
46
51
- name : Update rust
47
- run : rustup install "$RUST_VERSION" --no-self-update && rustup default "${RUST_VERSION}"
52
+ run : rustup install ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
48
53
- name : Check rust installation
49
54
run : rustc -vV
50
55
- uses : actions/cache@v4.0.2
@@ -54,19 +59,19 @@ jobs:
54
59
~/.cargo/registry/cache/
55
60
~/.cargo/git/db/
56
61
target/
57
- key : ${{ runner.os }}-rust-${{ env.RUST_VERSION }}-cargo-unit-test-${{ matrix.mode }}-${{ hashFiles('**/Cargo.lock') }}
62
+ key : ${{ runner.os }}-rust-${{ matrix.rust }}-cargo-unit-test-${{ matrix.mode }}-${{ hashFiles('**/Cargo.lock') }}
58
63
- name : Build
59
- run : cargo build ${{ matrix.mode_option }} --verbose
64
+ run : cargo build ${{ matrix.mode == 'release' && '--release' || '' }} --verbose
60
65
- name : Run tests
61
- run : cargo test ${{ matrix.mode_option }} --verbose
66
+ run : cargo test ${{ matrix.mode == 'release' && '--release' || '' }} --verbose
62
67
63
68
execute_tutorials :
64
69
name : Execute tutorials
65
70
runs-on : ubuntu-22.04
66
71
steps :
67
72
- uses : actions/checkout@v4.1.3
68
73
- name : Update rust
69
- run : rustup install "$RUST_VERSION " --no-self-update && rustup default "${RUST_VERSION} "
74
+ run : rustup install "$RUST_LATEST_VERSION " --no-self-update && rustup default "$RUST_LATEST_VERSION "
70
75
- name : Check rust installation
71
76
run : rustc -vV
72
77
- uses : actions/cache@v4.0.2
76
81
~/.cargo/registry/cache/
77
82
~/.cargo/git/db/
78
83
target/
79
- key : ${{ runner.os }}-rust-${{ env.RUST_VERSION }}-cargo-execute-tutorials-${{ hashFiles('**/Cargo.lock') }}
84
+ key : ${{ runner.os }}-rust-${{ env.RUST_LATEST_VERSION }}-cargo-execute-tutorials-${{ hashFiles('**/Cargo.lock') }}
80
85
- name : Install
81
86
run : cargo install --path . --locked --verbose
82
87
- name : Run hello.sh
0 commit comments