Skip to content

EAS / Release / Native #36

EAS / Release / Native

EAS / Release / Native #36

name: EAS / Release / Native
on:
workflow_dispatch:
inputs:
skip_ios:
description: 'Skip iOS deployment'
default: false
type: boolean
skip_android:
description: 'Skip Android deployment'
default: false
type: boolean
jobs:
build:
name: Install and build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.x
cache: npm
- name: Configure Yarn for Public Repos
run: echo "always-auth false" >> ~/.yarnrc
- name: Configure NPM for Public Repos
run: echo "always-auth=false" >> ~/.npmrc
- name: Setup Expo and EAS
uses: expo/expo-github-action@v8
with:
eas-version: "14.2.0"
token: ${{ secrets.EXPO_TOKEN }}
- name: Install dependencies
working-directory: packages/clippy
run: npm install --no-audit --prefer-offline
- name: Prepare (link) iOS UserDefaults (suite) package
working-directory: packages/user-defaults-suite-ios
run: npm run prepare
- name: Debug Environment
run: |
echo "Node version: $(node -v)"
echo "npm version: $(npm -v)"
echo "Expo CLI version: $(npx expo --version)"
EXPO_DEBUG=true npx expo config --json --type introspect || echo "Command failed with exit code $?"
- name: Build and Submit on EAS (iOS and Android)
if: ${{ github.event.inputs.skip_ios != 'true' && github.event.inputs.skip_android != 'true' }}
working-directory: packages/clippy
run: EXPO_NO_CAPABILITY_SYNC=1 eas build --platform all --non-interactive #--auto-submit
- name: Build and Submit on EAS (iOS)
if: ${{ github.event.inputs.skip_ios != 'true' && github.event.inputs.skip_android == 'true' }}
working-directory: packages/clippy
run: EXPO_NO_CAPABILITY_SYNC=1 eas build --platform ios --non-interactive --auto-submit
- name: Build and Submit on EAS (Android)
if: ${{ github.event.inputs.skip_android != 'true' && github.event.inputs.skip_ios == 'true' }}
working-directory: packages/clippy
run: EXPO_NO_CAPABILITY_SYNC=1 eas build --platform android --non-interactive --auto-submit