Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
buy_me_a_coffee: stacknode
80 changes: 69 additions & 11 deletions .github/workflows/stable-build-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,46 @@ on:
push:
branches:
- stable
pull_request:
branches:
- stable
workflow_dispatch:

permissions:
contents: write

jobs:
build:
name: ${{ matrix.os }} / ${{ matrix.feature }}
build-desktop:
name: ${{ matrix.artifact_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
feature: [headless, gui]
include:
- os: ubuntu-latest
os_name: linux
feature: gui
artifact_name: arcadia-desktop-linux
- os: ubuntu-latest
os_name: linux
feature: headless
artifact_name: arcadia-desktop-linux-headless
- os: macos-latest
os_name: macos
feature: gui
artifact_name: arcadia-desktop-macos
- os: macos-latest
os_name: macos
feature: headless
artifact_name: arcadia-desktop-macos-headless
- os: windows-latest
os_name: windows
feature: gui
artifact_name: arcadia-desktop-windows
- os: windows-latest
os_name: windows
feature: headless
artifact_name: arcadia-desktop-windows-headless

steps:
- name: Checkout repository
Expand All @@ -36,40 +62,72 @@ jobs:
libxkbcommon-x11-dev

- name: Build Arcadia
run: cargo build -p arcadia --no-default-features --features ${{ matrix.feature }}
run: cargo build --manifest-path Desktop/Cargo.toml --target-dir target --no-default-features --features ${{ matrix.feature }}

- name: Package binary (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path dist | Out-Null
$target = "dist/arcadia-${{ matrix.feature }}-windows.exe"
$target = "dist/${{ matrix.artifact_name }}.exe"
Copy-Item "target/debug/arcadia.exe" $target

- name: Package binary (macOS/Linux)
if: runner.os != 'Windows'
shell: bash
run: |
mkdir -p dist
os_name="$(echo "${{ runner.os }}" | tr '[:upper:]' '[:lower:]')"
cp target/debug/arcadia "dist/arcadia-${{ matrix.feature }}-${os_name}"
cp target/debug/arcadia "dist/${{ matrix.artifact_name }}"

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: dist/*
if-no-files-found: error

build-mobile-ios:
name: arcadia-mobile-ios
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Build iOS app (simulator)
shell: bash
run: |
xcodebuild \
-project Mobile/iOS/ArcadiaApp.xcodeproj \
-scheme ArcadiaApp \
-configuration Release \
-sdk iphonesimulator \
-destination "generic/platform=iOS Simulator" \
CODE_SIGNING_ALLOWED=NO \
-derivedDataPath build/ios \
build

- name: Package iOS app
shell: bash
run: |
mkdir -p dist
cp -R "build/ios/Build/Products/Release-iphonesimulator/ArcadiaApp.app" "dist/arcadia-mobile-ios.app"

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}-${{ matrix.feature }}
name: arcadia-mobile-ios
path: dist/*
if-no-files-found: error

release:
name: Create Stable Release
needs: build
needs: [build-desktop, build-mobile-ios]
runs-on: ubuntu-latest
steps:
- name: Download matrix artifacts
uses: actions/download-artifact@v4
with:
pattern: build-*
pattern: arcadia-*
path: release-assets
merge-multiple: true

Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
/target
**/*.rs.bk
/Models/
/Configuration/
/Desktop/target/
/Shared/target/
/Mobile/iOS/.xcode/
**/xcuserdata/
.DS_Store
29 changes: 0 additions & 29 deletions Apps/Arcadia/src/config/mod.rs

This file was deleted.

162 changes: 0 additions & 162 deletions Apps/Arcadia/src/main.rs

This file was deleted.

3 changes: 0 additions & 3 deletions Cargo.toml

This file was deleted.

Loading
Loading