Skip to content

Commit e604411

Browse files
committed
Add build
1 parent 973c15a commit e604411

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Build and Test
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
name: Build and Test
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
matrix:
17+
os: [ubuntu-latest, windows-latest, macos-latest]
18+
features:
19+
- ""
20+
- "cuda"
21+
- "vulkan"
22+
- "metal"
23+
include:
24+
- os: macos-latest
25+
features: "metal"
26+
- os: windows-latest
27+
features: "cuda"
28+
- os: windows-latest
29+
features: "vulkan"
30+
- os: ubuntu-latest
31+
features: "cuda"
32+
- os: ubuntu-latest
33+
features: "vulkan"
34+
steps:
35+
- name: Checkout code
36+
uses: actions/checkout@v3
37+
38+
- name: Set up Rust
39+
uses: actions-rs/toolchain@v1
40+
with:
41+
toolchain: stable
42+
override: true
43+
44+
- name: Build
45+
run: |
46+
if [ "${{ matrix.features }}" != "" ]; then
47+
cargo build --release --features ${{ matrix.features }}
48+
else
49+
cargo build --release
50+
fi
51+
52+
- name: Run Tests
53+
run: |
54+
if [ "${{ matrix.features }}" != "" ]; then
55+
cargo test --features ${{ matrix.features }}
56+
else
57+
cargo test
58+
fi
59+
60+
- name: Upload Artifact
61+
if: startsWith(github.ref, 'refs/tags/')
62+
uses: actions/upload-artifact@v3
63+
with:
64+
name: ${{ matrix.os }}-${{ matrix.features }}
65+
path: |
66+
target/release/ltengine*

0 commit comments

Comments
 (0)