Skip to content

feat: add nix flake #47

feat: add nix flake

feat: add nix flake #47

Workflow file for this run

name: Build iOS
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
jobs:
build-ios:
name: Build iOS App
runs-on: macos-15
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Enable Corepack
run: corepack enable
- name: Setup Yarn cache
uses: actions/cache@v4
with:
path: |
mobile-app/.yarn/cache
mobile-app/.yarn/install-state.gz
key: ${{ runner.os }}-yarn-${{ hashFiles('mobile-app/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.25'
cache: true
cache-dependency-path: backend/go.sum
- name: Setup Go backend
run: make -C backend setup
- name: Test Go backend
run: make -C backend test && make -C backend vet
- name: Build Go backend for iOS
run: make -C backend ios
- name: Install Node dependencies
run: make -C mobile-app install
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
working-directory: mobile-app/ios
- name: Install CocoaPods dependencies
run: make -C mobile-app pod-install
- name: Select Xcode
run: sudo xcode-select -s "/Applications/Xcode_16.4.app/Contents/Developer"
- name: Install xcbeautify
run: brew install xcbeautify
- name: Build iOS Simulator App
working-directory: mobile-app/ios
run: |
set -o pipefail
xcodebuild -workspace mobileapp.xcworkspace \
-scheme mobileapp \
-sdk iphonesimulator \
-configuration Release \
-destination 'platform=iOS Simulator,name=iPhone 16' \
-derivedDataPath build \
CODE_SIGNING_ALLOWED=NO \
ARCHS=arm64 \
ONLY_ACTIVE_ARCH=YES \
| xcbeautify
- name: Prepare iOS app for upload
working-directory: mobile-app/ios/build/Build/Products/Release-iphonesimulator
run: cp -r mobileapp.app rn-golang-ios.app
- name: Upload Simulator Build
uses: actions/upload-artifact@v4
with:
name: rn-golang-ios.app
path: mobile-app/ios/build/Build/Products/Release-iphonesimulator/rn-golang-ios.app
retention-days: 60