build-apps #37
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/[email protected] | |
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: | | |
npm install --global yarn | |
yarn install --dev | |
- name: Build game | |
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: | | |
cp package.game.json package.json | |
cp build/icon.game.png build/icon.png | |
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 | |
cp build/icon.editor.png build/icon.png | |
yarn build ${{ matrix.args }} --publish always |