Skip to content

feat: add nix flake #53

feat: add nix flake

feat: add nix flake #53

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-26
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 node-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: Install xcbeautify
run: brew install xcbeautify
- name: Build iOS Simulator App
run: make -C mobile-app build-ios
- 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