universal-android-debloater.../.github/workflows/release.yml
2022-07-03 02:15:40 +02:00

77 lines
No EOL
2.8 KiB
YAML

name: Build
on:
push:
tags:
- '*'
jobs:
publish:
name: Building ${{ matrix.build_target }} [${{ matrix.graphics }}]
runs-on: ${{ matrix.os }}
strategy:
matrix:
build_target: [linux, macos, windows]
graphics: [glow, wgpu]
update_feature: [self-update, no-self-update]
exclude:
- build_target: windows
update_feature: no-self-update
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
- update_feature: self-update
update_name: '' # we don't want this in the binary filename
- update_feature: no-self-update
update_name: "-noselfupdate"
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 --no-default-features --features ${{ matrix.graphics }},${{ matrix.update_feature }}
- 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.update_name }}-${{ matrix.build_target }}${{ matrix.renderer }}
- name: Tarball Linux binary
if: matrix.os == 'ubuntu-latest'
run: |
cd target/release/
tar --remove-files -czf uad_gui${{ matrix.update_name }}-${{ matrix.build_target }}${{ matrix.renderer }}{.tar.gz,}
- name: Tarball MacOS binaries # --remove-files is not available on bsd tar
if: matrix.os == 'macos-latest'
run: |
brew install gnu-tar
cd target/release/
gtar --remove-files -czf uad_gui${{ matrix.update_name }}-${{ matrix.build_target }}${{ matrix.renderer }}{.tar.gz,}
- name: Create pre-release
uses: softprops/action-gh-release@v1
with:
body_path: ${{ github.workspace }}/CHANGELOG.md
files: target/release/uad_gui-*
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}