Merge pull request #19 from Kidsan/fix-build #150
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push] | |
name: Build and Test | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install libasound2-dev | |
run: sudo apt-get install libasound2-dev | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
target | |
key: test | |
- uses: actions-rs/toolchain@v1 | |
with: | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features ml | |
codecov: | |
needs: test | |
name: Code Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install libasound2-dev | |
run: sudo apt-get install libasound2-dev | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
target | |
key: codecov | |
- uses: actions-rs/toolchain@v1 | |
with: | |
override: true | |
- name: Install tarpaulin | |
run: cargo install cargo-tarpaulin | |
continue-on-error: true | |
- run: cargo tarpaulin --features ml --out Xml | |
- uses: codecov/codecov-action@v2 | |
build_windows: | |
needs: test | |
name: Build Windows | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install mingw-w64 | |
run: sudo apt-get install mingw-w64 | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
target | |
key: windows | |
- uses: actions-rs/toolchain@v1 | |
with: | |
target: x86_64-pc-windows-gnu | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target x86_64-pc-windows-gnu --release | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: kord_x86_64-pc-windows-gnu | |
path: target/x86_64-pc-windows-gnu/release/kord.exe | |
build_linux: | |
needs: test | |
name: Build Linux | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install libasound2-dev | |
run: sudo apt-get install libasound2-dev | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
target | |
key: linux | |
- uses: actions-rs/toolchain@v1 | |
with: | |
target: x86_64-unknown-linux-gnu | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target x86_64-unknown-linux-gnu --release | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: kord_x86_64-unknown-linux-gnu | |
path: target/x86_64-unknown-linux-gnu/release/kord | |
build_macos: | |
needs: test | |
name: Build MacOS | |
# TODO: Eventually, it would be better to cross-compile with `aarch64-apple-darwin`. | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/bin | |
target | |
key: mac | |
- uses: actions-rs/toolchain@v1 | |
with: | |
target: aarch64-apple-darwin | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target aarch64-apple-darwin --release | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: kord_aarch64-apple-darwin | |
path: target/aarch64-apple-darwin/release/kord |