Skip to content

[No QA] feat: remote builds for ios and android #59677

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Apr 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
7a123f6
feat(wip): remote builds declarations for newdot ios and android
adhorodyski Apr 4, 2025
fab8ebc
fix: use a macos runner for ios builds
adhorodyski Apr 7, 2025
7318ff7
chore: bump rnef to 0.5.0
adhorodyski Apr 7, 2025
2b0b118
chore: disable the comment bot
adhorodyski Apr 7, 2025
4a87d1f
fix: wrap ios scheme in quotes
adhorodyski Apr 7, 2025
e701f73
fix: use single quotes for the scheme property
adhorodyski Apr 7, 2025
5e403d9
feat: remote hybrid build workflow for android
adhorodyski Apr 7, 2025
2ae1cc4
feat: remote hybrid build workflow for ios
adhorodyski Apr 7, 2025
b05b8e5
chore: test project_root_path env var
adhorodyski Apr 7, 2025
5c88866
fix: jq against the config echo
adhorodyski Apr 8, 2025
390c957
fix: git checkout with submodules
adhorodyski Apr 8, 2025
77590d8
chore: undraft check
adhorodyski Apr 8, 2025
a71b044
chore: rm pr workflow triggers
adhorodyski Apr 8, 2025
e2ee08b
chore: lock gh rnef actions to specific commits for better control
adhorodyski Apr 9, 2025
2cd45d6
chore: bump rnef to 0.5.3 with config type hints
adhorodyski Apr 9, 2025
2c12edd
chore: apply code review amends
adhorodyski Apr 10, 2025
c7fcaa4
chore: unify remote build workflows using a matrix
adhorodyski Apr 11, 2025
a119cdf
chore: lint
adhorodyski Apr 11, 2025
ac6876f
Merge branch 'Expensify:main' into feat/remote-builds
adhorodyski Apr 11, 2025
13f2009
chore: move secrets access directly to the step definition
adhorodyski Apr 11, 2025
3a3e2fc
chore: simplify the checkout step
adhorodyski Apr 11, 2025
89483c5
chore: use a hardcoded simulator property on ios
adhorodyski Apr 11, 2025
bc571f5
Merge branch 'Expensify:main' into feat/remote-builds
adhorodyski Apr 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/remote-build-android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Remote Build Android

on:
workflow_dispatch:
push:
branches-ignore: [staging, production]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
build:
runs-on: ubuntu-latest-xl
strategy:
matrix:
include:
- project_root: ./
variant: 'developmentDebug'

- project_root: Mobile-Expensify/
variant: 'Debug'
steps:
- name: Checkout
# v4
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
with:
submodules: true
token: ${{ secrets.OS_BOTIFY_TOKEN }}

- name: Setup Node
uses: ./.github/actions/composite/setupNode

- name: RNEF Remote Build - Android
uses: callstackincubator/android@a49920aadab9f41951944ea52bb7983fa6b20b03
env:
PROJECT_ROOT_PATH: ${{ matrix.project_root }}
with:
variant: ${{ matrix.variant }}
github-token: ${{ github.token }}
comment-bot: false
44 changes: 44 additions & 0 deletions .github/workflows/remote-build-ios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Remote Build iOS

on:
workflow_dispatch:
push:
branches-ignore: [staging, production]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
build:
runs-on: macos-15-xlarge
strategy:
matrix:
include:
- project_root: ./
scheme: 'New Expensify Dev'
configuration: 'DebugDevelopment'

- project_root: Mobile-Expensify/
scheme: 'Expensify Dev'
configuration: 'Debug'
steps:
- name: Checkout
# v4
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
with:
submodules: true
token: ${{ secrets.OS_BOTIFY_TOKEN }}

- name: Setup Node
uses: ./.github/actions/composite/setupNode

- name: RNEF Remote Build - iOS
uses: callstackincubator/ios@4c2dcc0d6b9c35407cf294e17386b65258a3b6af
env:
PROJECT_ROOT_PATH: ${{ matrix.project_root }}
with:
destination: simulator
scheme: ${{ matrix.scheme }}
configuration: ${{ matrix.configuration }}
github-token: ${{ github.token }}
comment-bot: false
138 changes: 37 additions & 101 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -242,10 +242,10 @@
"@react-native/babel-preset": "0.77.1",
"@react-native/metro-config": "0.77.1",
"@react-navigation/devtools": "^6.0.10",
"@rnef/cli": "0.4.1",
"@rnef/platform-android": "0.4.1",
"@rnef/platform-ios": "0.4.1",
"@rnef/plugin-metro": "0.4.1",
"@rnef/cli": "^0.5.3",
"@rnef/platform-android": "^0.5.3",
"@rnef/platform-ios": "^0.5.3",
"@rnef/plugin-metro": "^0.5.3",
"@storybook/addon-a11y": "^8.6.9",
"@storybook/addon-essentials": "^8.6.9",
"@storybook/addon-webpack5-compiler-babel": "^3.0.5",
Expand Down
1 change: 1 addition & 0 deletions rnef.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {platformAndroid} from '@rnef/platform-android';
import {platformIOS} from '@rnef/platform-ios';
import {pluginMetro} from '@rnef/plugin-metro';

/** @type {import('@rnef/config').Config} */
export default {
remoteCacheProvider: null,
bundler: pluginMetro(),
Expand Down