Refactor workflow and use tarballs for linux builds

- Better usage of the matrix strategy
- Linux builds are now released as a tarball (.tar.gz)
This commit is contained in:
0x192 2022-01-08 19:41:52 +01:00
parent eda0882451
commit 18cbba2b13
No known key found for this signature in database
GPG key ID: 34D27465928A0A1D
2 changed files with 31 additions and 39 deletions

View file

@ -3,11 +3,12 @@ on: workflow_dispatch
jobs:
build:
name: Building ${{ matrix.build_target }}
name: Building ${{ matrix.build_target }} [${{ matrix.graphics }}]
runs-on: ${{ matrix.os }}
strategy:
matrix:
build_target: [linux, macos, windows]
graphics: [glow, wgpu]
include:
- build_target: linux
os: ubuntu-latest
@ -15,7 +16,10 @@ jobs:
os: macos-latest
- build_target: windows
os: windows-latest
- graphics: glow
renderer: "-opengl"
- graphics: wgpu
renderer: '' # Vulkan but we don't want this in the binary filename
steps:
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
@ -30,30 +34,22 @@ jobs:
sudo apt-get -qq update
sudo apt-get install -y libxkbcommon-dev lld
- uses: actions/checkout@v2
- name: Cargo build (WGPU feature)
- name: Cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --release
- name: Renaming
args: --release --features ${{ matrix.graphics }}
- name: Renaming binaries [Windows]
if: matrix.os == 'windows-latest'
run: mv target/release/uad_gui.exe target/release/uad_gui-${{ matrix.build_target }}.exe
- name: Renaming
run: mv target/release/uad_gui.exe target/release/uad_gui-${{ matrix.build_target }}${{ matrix.renderer }}.exe
- name: Renaming binaries [Others]
if: matrix.os != 'windows-latest'
run: mv target/release/uad_gui target/release/uad_gui-${{ matrix.build_target }}
- name: Cargo build (Glow feature)
uses: actions-rs/cargo@v1
with:
command: build
args: --release --features glow
- name: Renaming
if: matrix.os == 'windows-latest'
run: mv target/release/uad_gui.exe target/release/uad_gui-${{ matrix.build_target }}-opengl.exe
- name: Renaming
if: matrix.os != 'windows-latest'
run: mv target/release/uad_gui target/release/uad_gui-${{ matrix.build_target }}-opengl
run: mv target/release/uad_gui target/release/uad_gui-${{ matrix.build_target }}${{ matrix.renderer }}
- name: Tarball Linux binaries
if: matrix.os == 'ubuntu-latest'
run: tar --remove-files -czf target/release/uad_gui-linux${{ matrix.renderer }}{.tar.gz,}
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: uad_gui-${{ matrix.build_target }}
name: uad_gui-${{ matrix.build_target }}${{ matrix.renderer }}
path: target/release/uad_gui-${{ matrix.build_target }}*