-
Notifications
You must be signed in to change notification settings - Fork 10
147 lines (133 loc) · 3.94 KB
/
rust.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: Rust
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
# workaround for macOS CI
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
jobs:
build-wx30gtk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Prerequisites
run: |
sudo apt update
sudo apt install libwxgtk3.0-gtk3-dev
- name: Check fmt
run: cargo fmt --check --all
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
build-wx32gtk:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Prerequisites
run: |
sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc
sudo apt-add-repository 'deb https://repos.codelite.org/wx3.2.0/ubuntu/ focal universe'
sudo apt update
sudo apt install libwxgtk3.2unofficial-dev
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
build-mac:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Prerequisites
run: brew update && brew install wxwidgets
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
build-vendored-mac:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# - name: Install Prerequisites
# run: brew install wxwidgets
- name: Build
run: cargo build --verbose --features vendored
- name: Run tests
run: cargo test --verbose --features vendored
build-vendored-mingw64:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install Prerequisites
run: rustup target add x86_64-pc-windows-gnu
- name: Build
run: cargo build --verbose --features vendored --target x86_64-pc-windows-gnu
# Disable tests until wx target test failure fixed to add some useful unit test
# - name: Run tests
# run: cargo test --verbose --features vendored --target x86_64-pc-windows-gnu
build-vendored-msvc:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build --verbose --features vendored
# Disable tests until copying DLLs to target folder to be implemented
# - name: Run tests
# run: cargo test --verbose --features vendored