update prod build workflow; fix readme-gen #430
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: [ master ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }} | |
cancel-in-progress: true | |
steps: | |
# Checkout repo | |
- uses: actions/checkout@v3 | |
# Install required packages | |
- name: Install required packages (Linux only) | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
if: runner.os == 'Linux' | |
with: | |
packages: libsdl2-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libatk1.0-dev gir1.2-gtk-3.0 libasound2-dev | |
version: 1.0 | |
- name: Setup Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
default: true | |
override: true | |
# cache rust | |
- uses: Swatinem/rust-cache@v2 | |
# install cargo packages... | |
- name: Install cargo-deb | |
if: runner.os == 'Linux' | |
run: cargo install cargo-deb | |
# Build yarge-frontend-desktop | |
- name: Build | |
run: cargo build -p yarge-frontend-desktop --profile production | |
# Create yarge-frontend-desktop deb | |
- name: Create a binary .deb package for yarge-frontend-desktop (Linux only) | |
if: runner.os == 'Linux' | |
run: cargo deb -p yarge-frontend-desktop --strip --no-build --profile production --output "./yarge-frontend-desktop.deb" | |
# Upload build artifacts | |
- name: Upload Windows build artifact | |
uses: actions/upload-artifact@v3 | |
if: runner.os == 'Windows' | |
with: | |
name: release-win64 | |
path: ./target/production/yarge-frontend-desktop.exe | |
- name: Upload Linux build artifact | |
uses: actions/upload-artifact@v3 | |
if: runner.os == 'Linux' | |
with: | |
name: release-lin64 | |
path: ./target/production/yarge-frontend-desktop | |
- name: Upload yarge-frontend-desktop Debian package | |
uses: actions/upload-artifact@v3 | |
if: runner.os == 'Linux' | |
with: | |
name: release-lin64-deb | |
path: ./yarge-frontend-desktop.deb | |
# Build yarge-frontend-sdl | |
# - name: Setup cargo vcpkg | |
# run: cargo install cargo-vcpkg | |
# - name: Build vcpkg packages | |
# run: cd yarge-frontend-sdl; cargo vcpkg --verbose build --manifest-path ./Cargo.toml; cd ..; | |
- name: Build yarge-frontend-sdl | |
run: cargo build -p yarge-frontend-sdl --profile production --features production | |
- name: Create a binary .deb package for yarge-frontend-sdl (Linux only) | |
if: runner.os == 'Linux' | |
run: cargo deb -p yarge-frontend-sdl --strip --no-build --profile production --output "./yarge-frontend-sdl.deb" | |
- name: Upload sdl Windows build artifact | |
uses: actions/upload-artifact@v3 | |
if: runner.os == 'Windows' | |
with: | |
name: sdl-release-win64 | |
path: ./target/production/yarge-frontend-sdl.exe | |
- name: Upload sdl Linux build artifact | |
uses: actions/upload-artifact@v3 | |
if: runner.os == 'Linux' | |
with: | |
name: sdl-release-lin64 | |
path: ./target/production/yarge-frontend-sdl | |
- name: Upload sdl Debian package | |
uses: actions/upload-artifact@v3 | |
if: runner.os == 'Linux' | |
with: | |
name: sdl-release-lin64-deb | |
path: ./yarge-frontend-sdl.deb |