Improve GitHub workflow

This commit is contained in:
Tobias Berger 2022-09-19 15:05:39 +02:00
parent 37f7042039
commit 92453ff9c2
Signed by: toby
GPG key ID: 2D05EFAB764D6A88

View file

@ -6,8 +6,8 @@ on:
- "main" - "main"
jobs: jobs:
pre-release: compile:
name: "Pre-release" name: "Compilation"
strategy: strategy:
matrix: matrix:
os: [windows-2022, ubuntu-22.04, macos-12] os: [windows-2022, ubuntu-22.04, macos-12]
@ -27,15 +27,85 @@ jobs:
run: | run: |
cargo build --release --no-default-features --features=${{ matrix.features }} cargo build --release --no-default-features --features=${{ matrix.features }}
- name: Upload binary - name: Upload full binary
if: ${{ matrix.os }}=="windows"
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
if: ${{ matrix.features == 'debug,render' }}
with: with:
name: worlds-rs.exe name: worlds-rs-${{ matrix.os }}-debug-render
path: target/release/worlds-sim-rust.exe path: target/release/worlds-sim-rust*
- name: Uplaod binary
if: ${{ matrix.os }}!="windows" - name: Upload partial-feature binary
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
if: ${{ matrix.features != 'debug,render' && matrix.features != '' }}
with: with:
name: world-rs name: worlds-rs-${{ matrix.os }}-${{ matrix.features }}
path: target/release/worlds-sim-rust path: target/release/worlds-sim-rust*
- name: Upload basic binary
uses: actions/upload-artifact@v3
if: ${{ matrix.features == '' }}
with:
name: worlds-rs-${{ matrix.os }}-none
path: target/release/worlds-sim-rust*
create-release:
name: "Create release"
runs-on: ubuntu-22.04
needs: [compile]
steps:
- uses: actions/download-artifact@v3
with:
name: worlds-rs-windows-2022-full
path: ~/download/worlds-rs-windows-2022-full.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-windows-2022-debug
path: ~/download/worlds-rs-windows-2022-debug.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-windows-2022-render
path: ~/download/worlds-rs-windows-2022-render.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-windows-2022-none
path: ~/download/worlds-rs-windows-2022-none.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-ubuntu-22.04-full
path: ~/download/worlds-rs-ubuntu-22.04-full.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-ubuntu-22.04-debug
path: ~/download/worlds-rs-ubuntu-22.04-debug.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-ubuntu-22.04-render
path: ~/download/worlds-rs-ubuntu-22.04-render.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-ubuntu-22.04-none
path: ~/download/worlds-rs-ubuntu-22.04-none.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-macos-12-full
path: ~/download/worlds-rs-macos-12-full.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-macos-12-debug
path: ~/download/worlds-rs-macos-12-debug.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-macos-12-render
path: ~/download/worlds-rs-macos-12-render.zip
- uses: actions/download-artifact@v3
with:
name: worlds-rs-macos-12-none
path: ~/download/worlds-rs-macos-12-none.zip
- name: Upload binaries
uses: softprops/action-gh-release@v1
with:
files:
~/download/*