EAS / Release / Native #40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: Create dummy appclip Info.plist for npx expo-config | |
working-directory: packages/clippy | |
run: | | |
echo "Current directory: $(pwd)" | |
mkdir -p ios/ClippyClip | |
touch ios/ClippyClip/Info.plist | |
- 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 |