1
0
Fork 0
mirror of https://github.com/TransparentLC/opencl_vanity_gpg.git synced 2025-10-20 07:14:09 +00:00

Create build.yml

This commit is contained in:
✨小透明・宸✨ 2025-01-08 23:54:33 +08:00
parent 81434d41d8
commit 1a92ca4fb1
No known key found for this signature in database
GPG key ID: C90F42D9852EE21E

53
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,53 @@
name: build
on:
workflow_dispatch:
push:
branches:
- master
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
# - macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- uses: Swatinem/rust-cache@v2
- name: Prepare OpenCL SDK
shell: bash
run: |
if [[ "$RUNNER_OS" == "Windows" ]]; then
VERSION=$(gh release view --repo KhronosGroup/OpenCL-SDK --json tagName --jq .tagName)
gh release download --repo KhronosGroup/OpenCL-SDK --pattern "OpenCL-SDK-${VERSION}-Win-x64.zip"
unzip "OpenCL-SDK-${VERSION}-Win-x64.zip"
cp "OpenCL-SDK-${VERSION}-Win-x64/lib/OpenCL.lib" OpenCL.lib
fi
if [[ "$RUNNER_OS" == "Linux" ]]; then
apt install opencl-headers ocl-icd-opencl-dev
fi
if [ $BUILD_OS == "macOS" ]; then
# FIXME
fi
- name: Build
shell: bash
id: build
run: |
cargo build --release
if [[ "$RUNNER_OS" == "Windows" ]]; then
echo "executable=target/release/opencl_vanity_gpg.exe" >> $GITHUB_OUTPUT
else
echo "executable=target/release/opencl_vanity_gpg" >> $GITHUB_OUTPUT
fi
- name: Upload result
uses: actions/upload-artifact@v4
with:
name: opencl_vanity_gpg-${{ runner.os }}
path: ${{ steps.build.outputs.executable }}