Build improvements #99
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
name: Rust | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
env: | |
CARGO_TERM_COLOR: always | |
ROCM_VERSION: "5.7.3" | |
jobs: | |
build_lin: | |
name: Build and publish (Linux) | |
runs-on: ubuntu-20.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 }} focal main > /etc/apt/sources.list.d/rocm.list' | |
sudo apt-get update | |
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends rocm-smi-lib hip-runtime-amd comgr hipblaslt-dev hipfft-dev rocblas-dev rocsolver-dev rocsparse-dev miopen-hip-dev rocm-device-libs | |
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 | |
- name: Build | |
# We use tar to unpack .tar.gz we've created because Github actions/upload-artifact | |
# is broken and will _always_ zip your artifact (even if it is a single file). | |
# See here: https://github.com/actions/upload-artifact/issues/39 | |
# and here: https://github.com/actions/upload-artifact/issues/109 | |
run: | | |
cargo xtask zip -r | |
tar -xzf target/release/zluda.tar.gz -C target/release | |
# https://stackoverflow.com/a/64195658 | |
- 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-${SHORT_SHA} | |
path: target/release/zluda | |
build_win: | |
name: Build and publish (Windows) | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build | |
run: | | |
cargo xtask zip -r | |
Expand-Archive -Path target/release/zluda.zip -DestinationPath target/release | |
# https://stackoverflow.com/a/74033027 | |
- name: Set revision hash | |
run: echo "SHORT_SHA=$("${{ github.sha }}".SubString(0, 8))" >> $env:GITHUB_ENV | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: zluda-linux-${{ env.SHORT_SHA }} | |
path: target/release/zluda |