-
Notifications
You must be signed in to change notification settings - Fork 17
147 lines (112 loc) · 4.23 KB
/
ci.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: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
env:
CARGO_TERM_COLOR: always
jobs:
build-macos:
runs-on: macos-11
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- name: Install latest Rust (macOS)
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Build plugin
run: cargo build -p octasine --verbose --features "vst2 clap"
- name: Build plugin for aarch64
run: |
export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)
echo "SDKROOT=$SDKROOT"
export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
echo "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
cargo build -p octasine --target=aarch64-apple-darwin
env:
DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
shell: bash
if: contains(matrix.os, 'macos')
build-windows:
runs-on: windows-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- name: Install latest rust (windows/linux)
uses: dtolnay/rust-toolchain@stable
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Build plugin
run: cargo build -p octasine --verbose --features "vst2 clap"
build-linux:
runs-on: ubuntu-20.04
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- name: Install baseview dependencies (Linux)
run: sudo apt update && sudo apt install libgl-dev libx11-xcb-dev libxcb1-dev libxcb-dri2-0-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev
- name: Install latest Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-unknown-linux-gnu
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Build plugin
run: cargo build -p octasine --verbose --features "vst2 clap"
# Disabled: needs more complex setup
# run: |
# cargo build -p octasine --verbose
# cargo build -p octasine --verbose --target=aarch64-unknown-linux-gnu
test-linux:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- name: Install baseview dependencies
run: sudo apt update && sudo apt install libgl-dev libx11-xcb-dev libxcb1-dev libxcb-dri2-0-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev
- name: Install latest Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo nextest run --workspace --verbose --features "vst2 clap"
env:
# Set target-cpu=skylake to enable avx-2 but not avx-512, since the
# latter for some reason leads to SIGILL failures
RUSTFLAGS: "-C target-cpu=skylake"
cargo-deny:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: EmbarkStudios/cargo-deny-action@v1
with:
log-level: warn
command: check licenses
arguments: --all-features --workspace
clap-validator:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- name: Install baseview dependencies
run: sudo apt update && sudo apt install libgl-dev libx11-xcb-dev libxcb1-dev libxcb-dri2-0-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev
- name: Install latest Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Install clap-validator
run: cargo install --git https://github.com/free-audio/clap-validator.git
- name: Build and bundle clap plugin
run: cargo xtask bundle octasine --release --verbose --features "clap"
- name: Validate clap plugin
# Note: skip param-conversions test for now
run: clap-validator validate --invert-filter --test-filter 'param-conversions' ./target/bundled/octasine.clap