Skip to content

First beta OSX app for testing #45

First beta OSX app for testing

First beta OSX app for testing #45

Workflow file for this run

on:
push:
branches:
- "master"
pull_request:
branches:
- "master"
name: CI
env:
CARGO_MAKE_VERSION: "0.36.7"
SWIFT_VERSION: "5.8.0"
jobs:
ci:
name: Build & Test
strategy:
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- uses: davidB/rust-cargo-make@v1
with:
version: ${{ env.CARGO_MAKE_VERSION }}
# macos specific steps
- uses: swift-actions/setup-swift@v1
if: matrix.os == 'macos-latest'
with:
swift-version: ${{ env.SWIFT_VERSION }}
- name: Install dependencies
if: matrix.os == 'macos-latest'
run: |
brew update
brew install swift-protobuf xcodegen
cargo install --force swift-bridge-cli
- name: Install build targets
if: matrix.os == 'macos-latest'
run: rustup target add aarch64-apple-darwin x86_64-apple-darwin aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios
# windows specific steps
- name: Install build targets
if: matrix.os == 'windows-latest'
run: rustup target add x86_64-pc-windows-msvc i686-pc-windows-msvc
- name: Build
run: cargo make
# upload osx installer package
- uses: actions/upload-artifact@v3
if: matrix.os == 'macos-latest'
with:
name: macos-installer
path: swift/osx/.build/artifacts/debug/KhiinPJH.pkg
- name: Test
run: cargo make test