First set of changes to enable OneAPI backend #204
Workflow file for this run
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: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
name: ci | |
jobs: | |
build_test: | |
name: Build and Test Wrapper | |
runs-on: ubuntu-18.04 | |
env: | |
AF_VER: 3.8.0 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup Rust Toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Cache ArrayFire | |
uses: actions/cache@v1 | |
id: arrayfire | |
with: | |
path: afbin | |
key: ${{ runner.os }}-af-${{ env.AF_VER }} | |
- name: Download ArrayFire | |
# Only download and cache arrayfire if already not found | |
if: steps.arrayfire.outputs.cache-hit != 'true' | |
run: | | |
wget --quiet http://arrayfire.s3.amazonaws.com/${AF_VER}/ArrayFire-v${AF_VER}_Linux_x86_64.sh | |
chmod +x ./ArrayFire-v${AF_VER}_Linux_x86_64.sh | |
mkdir afbin | |
./ArrayFire-v${AF_VER}_Linux_x86_64.sh --skip-license --exclude-subdir --prefix=./afbin | |
rm ./afbin/lib64/libcu*.so* | |
rm ./afbin/lib64/libafcuda*.so* | |
rm ./ArrayFire-v${AF_VER}_Linux_x86_64.sh | |
- name: Build and Run Tests | |
run: | | |
export AF_PATH=${GITHUB_WORKSPACE}/afbin | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${AF_PATH}/lib64 | |
echo "Using cargo version: $(cargo --version)" | |
cargo build --all --all-features | |
cargo test --no-fail-fast --all-features | |
format: | |
name: Format Check | |
runs-on: ubuntu-18.04 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup Rust Toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt | |
- name: Run rust fmt tool | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
name: Clippy Lints | |
runs-on: ubuntu-18.04 | |
env: | |
AF_VER: 3.8.0 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup Rust Toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: clippy | |
- name: Cache ArrayFire | |
uses: actions/cache@v1 | |
id: arrayfire | |
with: | |
path: afbin | |
key: ${{ runner.os }}-af-${{ env.AF_VER }} | |
- name: Download ArrayFire | |
# Only download and cache arrayfire if already not found | |
if: steps.arrayfire.outputs.cache-hit != 'true' | |
run: | | |
wget --quiet http://arrayfire.s3.amazonaws.com/${AF_VER}/ArrayFire-v${AF_VER}_Linux_x86_64.sh | |
chmod +x ./ArrayFire-v${AF_VER}_Linux_x86_64.sh | |
mkdir afbin | |
./ArrayFire-v${AF_VER}_Linux_x86_64.sh --skip-license --exclude-subdir --prefix=./afbin | |
rm ./afbin/lib64/libcu*.so* | |
rm ./afbin/lib64/libafcuda*.so* | |
rm ./ArrayFire-v${AF_VER}_Linux_x86_64.sh | |
- name: Run clippy tool | |
env: | |
AF_PATH: ${{ github.workspace }}/afbin | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all |