diff --git a/.github/workflows/zluda.yml b/.github/workflows/zluda.yml new file mode 100644 index 0000000..4a8c258 --- /dev/null +++ b/.github/workflows/zluda.yml @@ -0,0 +1,44 @@ +name: ZLUDA CI +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + CARGO_TERM_COLOR: always + ROCM_VERSION: "6.3.1" + +jobs: + build_linux: + name: Build (Linux) + runs-on: ubuntu-22.04 + steps: + - uses: jlumbroso/free-disk-space@main + - name: Install ROCm + run: | + sudo mkdir --parents --mode=0755 /etc/apt/keyrings + sudo sh -c 'wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null' + sudo sh -c 'echo deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${{ env.ROCM_VERSION }} jammy main > /etc/apt/sources.list.d/rocm.list' + sudo sh -c 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600 > /etc/apt/preferences.d/rocm-pin-600' + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends rocm-smi-lib rocm-llvm-dev hip-runtime-amd hip-dev + echo 'export PATH="$PATH:/opt/rocm/bin"' | sudo tee /etc/profile.d/rocm.sh + echo '/opt/rocm/lib' | sudo tee /etc/ld.so.conf.d/rocm.conf + sudo ldconfig + - uses: actions/checkout@v4 + with: + submodules: true + - uses: Swatinem/rust-cache@v2 + - name: Build + # https://github.com/actions/upload-artifact/issues/39 + run: | + cargo xtask zip --profile release-lto + tar -xzf target/release-lto/zluda.tar.gz -C target/release-lto + - name: Set revision hash + run: echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: zluda-linux-${{ env.SHORT_SHA }} + path: target/release-lto/zluda