universal-android-debloater/.github/workflows/build_artifacts.yaml
0x192 18cbba2b13
Refactor workflow and use tarballs for linux builds
- Better usage of the matrix strategy
- Linux builds are now released as a tarball (.tar.gz)
2022-01-08 19:42:36 +01:00

55 lines
2 KiB
YAML

name: Build artifacts
on: workflow_dispatch
jobs:
build:
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
- build_target: macos
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
with:
toolchain: nightly
override: true
target: ${{ matrix.target }}
profile: minimal
- name: Install Linux dependencies
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get -qq update
sudo apt-get install -y libxkbcommon-dev lld
- uses: actions/checkout@v2
- name: Cargo build
uses: actions-rs/cargo@v1
with:
command: build
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 }}${{ 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 }}${{ 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 }}${{ matrix.renderer }}
path: target/release/uad_gui-${{ matrix.build_target }}*