From e03856813da94c887f8c18b95e0aed11c42109ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?= Date: Thu, 4 Apr 2024 06:05:42 -0300 Subject: [PATCH] Add deployment for Windows, Linux and Mac (#128) The binaries will be as artifacts on the action and in the releases as well Artifacts to test available at: https://github.com/patrickelectric/eframe_template/actions/runs/8485591944 --- .github/workflows/rust.yml | 63 +++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 64d6e88a..64f32ba2 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,4 +1,4 @@ -on: [push, pull_request] +on: [push, pull_request, workflow_dispatch] name: CI @@ -103,3 +103,64 @@ jobs: run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- - name: Build run: ./trunk build + + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: macos-latest + TARGET: aarch64-apple-darwin + + - os: macos-latest + TARGET: x86_64-apple-darwin + + - os: ubuntu-latest + TARGET: arm-unknown-linux-musleabihf + + - os: ubuntu-latest + TARGET: armv7-unknown-linux-musleabihf + + - os: ubuntu-latest + TARGET: x86_64-unknown-linux-musl + + - os: windows-latest + TARGET: x86_64-pc-windows-msvc + EXTENSION: .exe + + steps: + - name: Building ${{ matrix.TARGET }} + run: echo "${{ matrix.TARGET }}" + + - uses: actions/checkout@master + - uses: actions-rs/toolchain@v1.0.1 + with: + toolchain: stable + target: ${{ matrix.TARGET }} + override: true + + - uses: actions-rs/cargo@v1 + with: + use-cross: true + command: build + args: --verbose --release --target=${{ matrix.TARGET }} + + - name: Rename + run: cp target/${{ matrix.TARGET }}/release/eframe_template${{ matrix.EXTENSION }} eframe_template-${{ matrix.TARGET }}${{ matrix.EXTENSION }} + + - uses: actions/upload-artifact@master + with: + name: eframe_template-${{ matrix.TARGET }}${{ matrix.EXTENSION }} + path: eframe_template-${{ matrix.TARGET }}${{ matrix.EXTENSION }} + + - uses: svenstaro/upload-release-action@v2 + name: Upload binaries to release + if: ${{ github.event_name == 'push' }} + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: eframe_template-${{ matrix.TARGET }}${{ matrix.EXTENSION }} + asset_name: eframe_template-${{ matrix.TARGET }}${{ matrix.EXTENSION }} + tag: ${{ github.ref }} + prerelease: ${{ !startsWith(github.ref, 'refs/tags/') }} + overwrite: true