aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/rust.yml
blob: c4e348b9f32e7e3b4cb2e953541ce6aecce96176 (plain)
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
name: Rust

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build_lin:
    name: Build and publish (Linux)
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - name: Install GPU drivers
      run: |
        sudo apt-get install -y gpg-agent wget
        wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | sudo apt-key add -
        sudo apt-add-repository 'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main'
        sudo apt-get update
        sudo apt-get install intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1 libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev ocl-icd-opencl-dev
    - name: Build
      run: cargo build --workspace --verbose --release
    - name: Rename to libcuda.so
      run: |
        mv target/release/libnvcuda.so target/release/libcuda.so
        ln -s libcuda.so target/release/libcuda.so.1
    - uses: actions/upload-artifact@v2
      with:
        name: Linux
        path: |
          target/release/libcuda.so
          target/release/libcuda.so.1
  build_win:
    name: Build and publish (Windows)
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: true
    - name: Build
      run: cargo build --workspace --verbose --release
    - uses: actions/upload-artifact@v2
      with:
        name: Windows
        path: |
          target/release/nvcuda.dll
          target/release/zluda_redirect.dll
          target/release/zluda_with.exe
          target/release/zluda_dump.dll
    # TODO(take-cheeze): Support testing
    # - name: Run tests
    #   run: cargo test --verbose