diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6f232d6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,80 @@ +name: Release + +on: + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + VERSION: 0.0.1 + +jobs: + build: + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly-2022-11-06 + + - uses: Swatinem/rust-cache@v2 + + - name: Install linux build deps + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt install libxi-dev + sudo apt install libxtst-dev + + - name: Build + shell: bash + run: HOOK_VERSION=${{ github.sha }} cargo +nightly-2022-11-06 build --release + + - name: Upload artifact (win) + uses: actions/upload-artifact@v3 + if: matrix.os == 'windows-latest' + with: + name: artifact + path: ./target/release/dfint_hook.dll + + - name: Upload artifact (linux) + uses: actions/upload-artifact@v3 + if: matrix.os == 'ubuntu-latest' + with: + name: artifact + path: ./target/release/libdfint_hook.so + + release: + needs: build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Restore files + uses: actions/download-artifact@v3 + id: download + with: + name: artifact + path: ./ + + - name: Fetch version from Cargo.toml + run: echo VERSION=$(cat Cargo.toml | awk -F'"' '/^version/ {print $2}') >> $GITHUB_ENV + + - name: Rename files + run: | + mv ./dfint_hook.dll ./hook_${{ env.VERSION }}.dll + mv ./libdfint_hook.so ./hook_${{ env.VERSION }}.so + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: | + hook_${{ env.VERSION }}.dll + hook_${{ env.VERSION }}.so + tag_name: ${{ env.VERSION }} + draft: true