|
1 | 1 | name: CI |
2 | | -on: [push, pull_request] |
| 2 | +on: |
| 3 | + push: |
| 4 | + branches: [master, release/111] |
| 5 | + pull_request: |
| 6 | + branches: [master, release/111] |
| 7 | + |
| 8 | +defaults: |
| 9 | + run: |
| 10 | + shell: bash |
3 | 11 |
|
4 | 12 | jobs: |
5 | 13 | test: |
6 | 14 | name: Test |
7 | 15 | runs-on: ${{ matrix.os }} |
8 | 16 | strategy: |
| 17 | + fail-fast: false |
9 | 18 | matrix: |
10 | | - thing: |
11 | | - - stable |
12 | | - - beta |
13 | | - - nightly |
14 | | - - macos-x86_64 |
15 | | - - arm-android |
16 | | - - arm64-android |
17 | | - - i686-android |
18 | | - - x86_64-android |
19 | | - - i686-linux |
20 | | - - arm-linux |
21 | | - - aarch64-linux |
22 | | - - x86_64-musl |
23 | | - - x86_64-mingw |
24 | | - - asmjs |
25 | | - - i686-msvc |
26 | | - - i686-msvc-static |
27 | | - - x86_64-msvc |
28 | | - - x86_64-msvc-static |
29 | 19 | include: |
30 | | - - thing: stable |
31 | | - target: x86_64-unknown-linux-gnu |
| 20 | + - target: x86_64-unknown-linux-gnu |
32 | 21 | rust: stable |
33 | 22 | os: ubuntu-latest |
34 | | - - thing: beta |
35 | | - target: x86_64-unknown-linux-gnu |
| 23 | + - target: x86_64-unknown-linux-gnu |
36 | 24 | rust: beta |
37 | 25 | os: ubuntu-latest |
38 | | - - thing: nightly |
39 | | - target: x86_64-unknown-linux-gnu |
| 26 | + - target: x86_64-unknown-linux-gnu |
40 | 27 | rust: nightly |
41 | 28 | os: ubuntu-latest |
42 | | - - thing: macos-x86_64 |
43 | | - target: x86_64-apple-darwin |
| 29 | + - target: x86_64-apple-darwin |
44 | 30 | rust: stable |
45 | 31 | os: macos-latest |
46 | | - - thing: arm-android |
47 | | - target: arm-linux-androideabi |
48 | | - rust: stable |
49 | | - os: ubuntu-latest |
50 | | - - thing: arm64-android |
51 | | - target: aarch64-linux-android |
52 | | - rust: stable |
53 | | - os: ubuntu-latest |
54 | | - - thing: i686-android |
55 | | - target: i686-linux-android |
| 32 | + - target: aarch64-apple-darwin |
| 33 | + rust: nightly |
| 34 | + os: macos-latest |
| 35 | + #- target: arm-linux-androideabi |
| 36 | + # rust: stable |
| 37 | + # os: ubuntu-latest |
| 38 | + - target: aarch64-linux-android |
56 | 39 | rust: stable |
57 | 40 | os: ubuntu-latest |
58 | | - - thing: x86_64-android |
59 | | - target: x86_64-linux-android |
| 41 | + - target: i686-linux-android |
60 | 42 | rust: stable |
61 | 43 | os: ubuntu-latest |
62 | | - - thing: i686-linux |
63 | | - target: i686-unknown-linux-gnu |
| 44 | + - target: x86_64-linux-android |
64 | 45 | rust: stable |
65 | 46 | os: ubuntu-latest |
66 | | - - thing: arm-linux |
67 | | - target: arm-unknown-linux-gnueabi |
| 47 | + - target: i686-unknown-linux-gnu |
68 | 48 | rust: stable |
69 | 49 | os: ubuntu-latest |
70 | | - - thing: aarch64-linux |
71 | | - target: aarch64-unknown-linux-gnu |
| 50 | + - target: arm-unknown-linux-gnueabi |
72 | 51 | rust: stable |
73 | 52 | os: ubuntu-latest |
74 | | - - thing: x86_64-musl |
75 | | - target: x86_64-unknown-linux-musl |
| 53 | + - target: aarch64-unknown-linux-gnu |
76 | 54 | rust: stable |
77 | 55 | os: ubuntu-latest |
78 | | - - thing: x86_64-mingw |
79 | | - target: x86_64-pc-windows-gnu |
| 56 | + - target: x86_64-unknown-linux-musl |
80 | 57 | rust: stable |
81 | 58 | os: ubuntu-latest |
82 | | - - thing: asmjs |
83 | | - target: asmjs-unknown-emscripten |
| 59 | + - target: x86_64-pc-windows-gnu |
84 | 60 | rust: stable |
85 | 61 | os: ubuntu-latest |
86 | | - - thing: i686-msvc |
87 | | - target: i686-pc-windows-msvc |
| 62 | + # - target: asmjs-unknown-emscripten |
| 63 | + # rust: stable |
| 64 | + # os: ubuntu-latest |
| 65 | + - target: i686-pc-windows-msvc |
88 | 66 | rust: stable-i686-msvc |
89 | | - os: windows-2016 |
90 | | - - thing: i686-msvc-static |
91 | | - target: i686-pc-windows-msvc |
| 67 | + os: windows-2019 |
| 68 | + - target: i686-pc-windows-msvc |
92 | 69 | rust: stable-i686-msvc |
93 | | - os: windows-2016 |
94 | | - crt_static: true |
95 | | - - thing: x86_64-msvc |
96 | | - target: x86_64-pc-windows-msvc |
| 70 | + os: windows-2019 |
| 71 | + crt_static: yes |
| 72 | + - target: x86_64-pc-windows-msvc |
97 | 73 | rust: stable-x86_64-msvc |
98 | 74 | os: windows-latest |
99 | | - - thing: x86_64-msvc-static |
100 | | - target: x86_64-pc-windows-msvc |
| 75 | + - target: x86_64-pc-windows-msvc |
101 | 76 | rust: stable-x86_64-msvc |
102 | 77 | os: windows-latest |
103 | | - crt_static: true |
| 78 | + crt_static: yes |
| 79 | + - target: x86_64-pc-windows-msvc |
| 80 | + rust: stable-x86_64-msvc |
| 81 | + os: windows-latest |
| 82 | + nasm_exe: installed |
104 | 83 |
|
105 | 84 | steps: |
106 | | - - uses: actions/checkout@master |
| 85 | + - uses: actions/checkout@v1 |
107 | 86 | with: |
108 | 87 | submodules: true |
109 | 88 | - name: Install Rust (rustup) |
110 | 89 | run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }} |
111 | | - if: matrix.os != 'macos-latest' |
112 | | - shell: bash |
113 | | - - name: Install Rust (macos) |
114 | | - run: | |
115 | | - curl https://sh.rustup.rs | sh -s -- -y |
116 | | - echo ::add-path::$HOME/.cargo/bin |
117 | | - if: matrix.os == 'macos-latest' |
118 | 90 | - run: rustup target add ${{ matrix.target }} |
119 | 91 | - name: Set crt-static |
120 | 92 | if: matrix.crt_static == 'yes' |
121 | | - run: echo ::set-env name=RUSTFLAGS::-Ctarget-feature=+crt-static |
122 | | - shell: bash |
| 93 | + run: echo RUSTFLAGS=-Ctarget-feature=+crt-static >> $GITHUB_ENV |
123 | 94 | - name: Use strawberry perl |
124 | 95 | if: startsWith(matrix.os, 'windows') |
125 | | - run: echo ::add-path::C:/Strawberry/perl/bin |
126 | | - shell: bash |
127 | | - - run: | |
| 96 | + run: echo OPENSSL_SRC_PERL=C:/Strawberry/perl/bin/perl >> $GITHUB_ENV |
| 97 | + - name: Run tests (not Windows) |
| 98 | + if: "!startsWith(matrix.os, 'windows')" |
| 99 | + run: | |
128 | 100 | set -e |
129 | 101 | cargo generate-lockfile |
130 | 102 | ./ci/run-docker.sh ${{ matrix.target }} |
131 | | - if: "!startsWith(matrix.os, 'windows')" |
132 | | - name: Run tests (not Windows) |
133 | | - - run: | |
134 | | - cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} |
135 | | - cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} --release |
136 | | - cargo run --release --target ${{ matrix.target }} --manifest-path testcrate/Cargo.toml --features package |
| 103 | + - name: Download nasm.exe (Windows) |
| 104 | + if: matrix.nasm_exe == 'installed' |
| 105 | + run: | |
| 106 | + WINNASMVERSION='2.15.05' |
| 107 | + curl -O https://www.nasm.us/pub/nasm/releasebuilds/${WINNASMVERSION}/win64/nasm-${WINNASMVERSION}-win64.zip |
| 108 | + unzip nasm-${WINNASMVERSION}-win64.zip |
| 109 | + echo "$GITHUB_WORKSPACE\\nasm-${WINNASMVERSION}" >> $GITHUB_PATH |
| 110 | + echo "OPENSSL_RUST_USE_NASM=1" >> $GITHUB_ENV |
| 111 | + - name: Run tests (Windows) |
137 | 112 | if: startsWith(matrix.os, 'windows') |
138 | | - name: Run tests (Windows) |
139 | | - shell: cmd |
| 113 | + run: | |
| 114 | + cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} -vv |
| 115 | + cargo test --manifest-path testcrate/Cargo.toml --target ${{ matrix.target }} --release -vv |
| 116 | + cargo run --release --target ${{ matrix.target }} --manifest-path testcrate/Cargo.toml --features package -vv |
140 | 117 |
|
141 | 118 | rustfmt: |
142 | 119 | name: Rustfmt |
143 | 120 | runs-on: ubuntu-latest |
144 | 121 | steps: |
145 | | - - uses: actions/checkout@master |
| 122 | + - uses: actions/checkout@v1 |
146 | 123 | - name: Install Rust |
147 | 124 | run: rustup update stable && rustup default stable && rustup component add rustfmt |
148 | 125 | - run: cargo fmt -- --check |
0 commit comments