Repository navigation
144 lines (140 loc) · 4.4 KB
/
Copy pathmain.yml
File metadata and controls
144 lines (140 loc) · 4.4 KB
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
name: CI
on: [push, pull_request]
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
matrix:
lua: [lua55, lua54, lua53, lua52, lua51]
target:
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- i686-unknown-linux-gnu
- aarch64-unknown-linux-gnu
- arm-unknown-linux-gnueabi
- aarch64-apple-darwin
- x86_64-pc-windows-gnu
- x86_64-pc-windows-msvc
- wasm32-unknown-emscripten
- wasm32-unknown-unknown
- wasm32-wasip2
- wasm32-wasip3
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: i686-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
- target: arm-unknown-linux-gnueabi
os: ubuntu-latest
- target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-gnu
os: ubuntu-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
- target: wasm32-unknown-emscripten
os: ubuntu-latest
- target: wasm32-unknown-unknown
os: ubuntu-latest
- target: wasm32-wasip2
os: ubuntu-latest
- target: wasm32-wasip3
os: ubuntu-latest
toolchain: nightly
steps:
- uses: actions/checkout@main
- uses: ./.github/actions/setup-deps
with:
target: ${{ matrix.target }}
toolchain: ${{ matrix.toolchain || 'stable' }}
- name: Build ${{ matrix.lua }}
run: |
cargo build --manifest-path testcrate/Cargo.toml --release --features ${{ matrix.lua }} --target ${{ matrix.target }}
shell: bash
test:
name: Test
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
lua: [lua55, lua54, lua53, lua52, lua51]
target:
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- aarch64-apple-darwin
- x86_64-pc-windows-msvc
- wasm32-unknown-emscripten
- wasm32-unknown-unknown
- wasm32-wasip2
- wasm32-wasip3
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
- target: wasm32-unknown-emscripten
os: ubuntu-latest
- target: wasm32-unknown-unknown
os: ubuntu-latest
- target: wasm32-wasip2
os: ubuntu-latest
- target: wasm32-wasip3
os: ubuntu-latest
toolchain: nightly
steps:
- uses: actions/checkout@main
- uses: ./.github/actions/setup-deps
with:
target: ${{ matrix.target }}
toolchain: ${{ matrix.toolchain || 'stable' }}
- name: Run ${{ matrix.lua }} tests
if: ${{ matrix.target != 'wasm32-unknown-unknown' }}
run: |
cargo test --manifest-path testcrate/Cargo.toml --release --features ${{ matrix.lua }} --target ${{ matrix.target }}
shell: bash
- name: Run ${{ matrix.lua }} tests on wasm32-unknown-unknown
if: ${{ matrix.target == 'wasm32-unknown-unknown' }}
run: |
cargo rustc --manifest-path testcrate/Cargo.toml --release --features ${{ matrix.lua }} --target ${{ matrix.target }} --lib --crate-type cdylib
wasmtime run -W exceptions --invoke run_tests target/wasm32-unknown-unknown/release/testcrate.wasm
shell: bash
test_standalone:
name: Test Standalone
runs-on: ${{ matrix.os }}
needs: build
strategy:
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: macos-latest
target: aarch64-apple-darwin
- os: windows-latest
target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@main
- uses: ./.github/actions/setup-deps
with:
target: ${{ matrix.target }}
toolchain: ${{ matrix.toolchain || 'stable' }}
- name: Run standalone tests
run: |
cargo test
rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt -- --check