Skip to content

Create compat data dir on any non-Windows platform #64

Create compat data dir on any non-Windows platform

Create compat data dir on any non-Windows platform #64

Workflow file for this run

name: Rust
on:
push:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build-ffrunner:
runs-on: ubuntu-24.04
steps:
- name: Install dependencies
run: sudo apt update && sudo apt install -y gcc-mingw-w64-i686 wget
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build
run: make -C resources/ffrunner
- name: Download webplayer DLLs
run: wget -r -l 7 -np -R "index.html*" -nH --cut-dirs=2 https://cdn.dexlabs.systems/webplayer/patched-latest/ -P resources/ffrunner/
- name: Download & extract Vulkan wrapper DLL
run: |
wget https://github.com/doitsujin/dxvk/releases/download/v1.10.3/dxvk-1.10.3.tar.gz
tar -xvf dxvk-1.10.3.tar.gz
mv dxvk-1.10.3/x32/d3d9.dll resources/ffrunner/d3d9_vulkan.dll
- name: Upload ffrunner
uses: actions/[email protected]
with:
name: ffrunner-mingw
path: resources/ffrunner/
build-linux:
needs: build-ffrunner
# This runner image should stay the same, otherwise there is potential to break compatibility.
# See https://v2.tauri.app/distribute/appimage/#limitations
runs-on: ubuntu-22.04
env:
TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true
steps:
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: |
sudo apt update && sudo apt install -y \
libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- name: Restore Tauri CLI
id: cache-tauri
uses: actions/cache@v4
with:
path: /home/runner/.cargo
key: tauri-cli-experimental-Linux
- name: Install Tauri CLI
if: steps.cache-tauri.outputs.cache-hit != 'true'
run: cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage
- uses: actions/checkout@v4
- name: Download ffrunner
uses: actions/[email protected]
with:
name: ffrunner-mingw
path: resources/ffrunner
- name: Install NPM packages
run: npm install
# - name: Restore Cargo dependencies
# id: cache-cargo
# uses: actions/cache@v4
# with:
# path: |
# src-tauri/target/release/deps
# src-tauri/target/release/.fingerprint
# src-tauri/target/release/incremental
# key: cargo-deps-Linux
- name: Build
run: cargo tauri build --bundles appimage
- name: Package
run: |
cd src-tauri/target/release
mkdir linux-standalone
mkdir linux-appimage
cp -r -t linux-standalone openfusionlauncher ffrunner.exe d3d9_vulkan.dll assets defaults loader player mono
cp -r -t linux-appimage bundle/appimage/OpenFusionLauncher_*.AppImage
- uses: actions/[email protected]
with:
name: openfusionlauncher-linux-standalone
path: src-tauri/target/release/linux-standalone/
- uses: actions/[email protected]
with:
name: openfusionlauncher-linux-appimage
path: src-tauri/target/release/linux-appimage/
build-macos:
needs: build-ffrunner
runs-on: macos-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Restore Tauri CLI
id: cache-tauri
uses: actions/cache@v4
with:
path: /Users/runner/.cargo
key: tauri-cli-MacOS
- name: Install Tauri CLI
if: steps.cache-tauri.outputs.cache-hit != 'true'
run: cargo install tauri-cli --version "^2.0.0" --locked
- uses: actions/checkout@v4
- name: Download ffrunner
uses: actions/[email protected]
with:
name: ffrunner-mingw
path: resources/ffrunner
- name: Install NPM packages
run: npm install
- name: Ensure targets for Universal binary are present
run: rustup target add aarch64-apple-darwin x86_64-apple-darwin
- name: Build
run: cargo tauri build --bundles app dmg --target universal-apple-darwin
- name: Package
run: |
cd src-tauri/target/universal-apple-darwin/release/
mkdir macos-universal
mv bundle/macos/OpenFusionLauncher.app/ macos-universal
mv bundle/dmg/OpenFusionLauncher_*.dmg macos-universal
- uses: actions/[email protected]
with:
name: openfusionlauncher-macos-universal
path: src-tauri/target/universal-apple-darwin/release/macos-universal/
build-windows:
needs: build-ffrunner
runs-on: windows-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Restore Tauri CLI
id: cache-tauri
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\.cargo
key: tauri-cli-Windows
- name: Install Tauri CLI
if: steps.cache-tauri.outputs.cache-hit != 'true'
run: cargo install tauri-cli --version "^2.0.0" --locked
- uses: actions/checkout@v4
- name: Download ffrunner
uses: actions/[email protected]
with:
name: ffrunner-mingw
path: resources/ffrunner
- name: Install NPM packages
run: npm install
# - name: Restore Cargo dependencies
# id: cache-cargo
# uses: actions/cache@v4
# with:
# path: |
# src-tauri/target/release/deps
# src-tauri/target/release/.fingerprint
# src-tauri/target/release/incremental
# key: cargo-deps-Windows
- name: Build
run: cargo tauri build
- name: Package
run: |
cd src-tauri/target/release
mkdir windows-standalone
Move-Item -Destination windows-standalone -Path openfusionlauncher.exe,ffrunner.exe,d3d9_vulkan.dll,assets,defaults,loader,player,mono
- uses: actions/[email protected]
with:
name: openfusionlauncher-windows-standalone
path: src-tauri/target/release/windows-standalone/
- uses: actions/[email protected]
with:
name: openfusionlauncher-windows-installer
path: src-tauri/target/release/bundle/nsis/