name: Release binaries on: release: types: [created] env: CARGO_TERM_COLOR: always jobs: build_ubuntu_x86-64: name: Build artifacts for ubuntu-latest (x86-64) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: 'true' - name: install libusb-1.0 run: sudo apt-get install libusb-1.0-0-dev - name: build run: cargo build --release --workspace --verbose - uses: actions/upload-artifact@v2 with: name: library-ubuntu path: target/release/*.so build_windows_x86-64: name: Build artifacts for windows-latest (x86-64) runs-on: windows-latest steps: - uses: actions/checkout@v2 with: submodules: 'true' - name: install llvm and clang uses: KyleMayes/install-llvm-action@v1 with: version: "10.0" directory: ${{ runner.temp }}/llvm - name: set LIBCLANG_PATH run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV - name: build shell: bash run: cargo build --release --workspace --verbose - uses: actions/upload-artifact@v2 with: name: library-windows path: target/release/*.dll publish_artifacts: name: Publish artifacts for x86-64/windows-latest runs-on: ubuntu-latest needs: [build_ubuntu_x86-64, build_windows_x86-64] steps: - uses: actions/download-artifact@v2 with: name: library-ubuntu - name: Create archive for linux x86-64 run: zip memflow_pcileech_linux_x86-64.zip *.so - name: Upload artifacts for linux x86-64 uses: skx/github-action-publish-binaries@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: args: 'memflow_pcileech_linux_x86-64.zip' - uses: actions/download-artifact@v2 with: name: library-windows - name: Create archive for windows x86-64 run: zip memflow_pcileech_windows_x86-64.zip *.dll - name: Upload artifacts for windows x86-64 uses: skx/github-action-publish-binaries@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: args: 'memflow_pcileech_windows_x86-64.zip'