build-apps #45
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-apps' | |
on: workflow_dispatch | |
jobs: | |
build-binaries: | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- platform: 'macos-latest' | |
args: '--mac' | |
- platform: 'ubuntu-22.04' | |
args: '--linux' | |
- platform: 'windows-latest' | |
args: '--win' | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
default: true | |
override: true | |
profile: minimal | |
toolchain: nightly | |
target: ${{ matrix.platform == 'macos-latest' && 'x86_64-apple-darwin' || '' }} | |
- name: Setup Rust cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
workspaces: hes-game | |
- uses: jetli/trunk-action@v0.5.0 | |
with: | |
# Optional version of trunk to install(eg. 'v0.19.1', 'latest') | |
version: 'v0.20.3' | |
- name: Install wasm target | |
run: rustup target add wasm32-unknown-unknown | |
- name: Setup electron | |
working-directory: build | |
run: | | |
cp package.game.json package.json | |
yarn install --dev | |
- name: Build game | |
env: | |
PLATFORM: STEAM | |
run: trunk build --release --config hes-game/Trunk.toml --dist build/site | |
- name: Build and release game app | |
working-directory: build | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: yarn build ${{ matrix.args }} --publish always | |
- name: Build editor | |
run: trunk build --release --config hes-editor/Trunk.toml --dist build/site | |
- name: Build and release editor app | |
working-directory: build | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cp package.editor.json package.json | |
yarn build ${{ matrix.args }} --publish always |