Skip to content
Merged
Changes from 2 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1252282
ci: Convert PR jobs to Github Actions
Saadnajmi Jul 30, 2025
b8c5134
use allowed action
Saadnajmi Jul 30, 2025
d3f4713
Update microsoft-pr.yml
Saadnajmi Jul 31, 2025
a5073d8
simplify matrix
Saadnajmi Aug 1, 2025
77d0ed3
Merge branch 'gha' of github.com:Saadnajmi/react-native-macos into gha
Saadnajmi Aug 1, 2025
bc8a06c
setup-toolchain
Saadnajmi Aug 1, 2025
a400d20
more
Saadnajmi Aug 1, 2025
bf05252
xcode -> setup-toolchain
Saadnajmi Aug 1, 2025
d32448b
f
Saadnajmi Aug 1, 2025
bc863c1
f
Saadnajmi Aug 1, 2025
f35d389
delete most of .ado folder
Saadnajmi Aug 1, 2025
2888986
bring back verdaccio files and uncomment jobs
Saadnajmi Aug 7, 2025
bfc41b8
bring back more scripts
Saadnajmi Aug 8, 2025
55ca895
try: copilot fix verdaccio hangs
Saadnajmi Aug 8, 2025
2a9ed3c
Move workflows to separate files
Saadnajmi Aug 8, 2025
8de0577
only on stable
Saadnajmi Aug 8, 2025
19bf665
Revert "try: copilot fix verdaccio hangs"
Saadnajmi Aug 8, 2025
ab261db
copy RNTA setup toolchain action instead of rnx-kit one
Saadnajmi Aug 8, 2025
fa37265
f
Saadnajmi Aug 8, 2025
8a0ac38
f
Saadnajmi Aug 8, 2025
8256598
try use ccache
Saadnajmi Aug 8, 2025
c740aed
use xcode 16.4 again
Saadnajmi Aug 8, 2025
c59d3e6
f
Saadnajmi Aug 8, 2025
b766bbf
disable ccache
Saadnajmi Aug 8, 2025
e276015
PR feedback
Saadnajmi Aug 11, 2025
21d1a0e
Merge branch 'main' into gha
Saadnajmi Aug 12, 2025
9a2aa08
build-test-rntester --> build-rntester
Saadnajmi Aug 13, 2025
999f4b6
add pr / all
Saadnajmi Aug 13, 2025
411bba0
Merge branch 'main' into gha
Saadnajmi Aug 13, 2025
25749ee
add permissions
Saadnajmi Aug 13, 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
195 changes: 193 additions & 2 deletions .github/workflows/microsoft-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ jobs:
id: config
run: |
PUBLISH_TAG=$(jq -r '.release.version.generatorOptions.currentVersionResolverMetadata.tag' nx.json)
echo "publishTag=$PUBLISH_TAG" >> $GITHUB_OUTPUT
echo "Using publish tag from nx.json: $PUBLISH_TAG"
echo "publishTag=${PUBLISH_TAG}" >> "$GITHUB_OUTPUT"
echo "Using publish tag from nx.json: ${PUBLISH_TAG}"
- name: Configure git
run: |
git config --global user.email "[email protected]"
Expand Down Expand Up @@ -86,3 +86,194 @@ jobs:
run: yarn
- name: Check constraints
run: yarn constraints

javascript-tests:
name: "JavaScript Tests"
permissions: {}
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
filter: blob:none
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: '23'

- name: Install Homebrew dependencies
run: |
brew install xcbeautify ccache

- name: Setup Xcode
run: |
sudo xcode-select --switch /Applications/Xcode_16.2.app

- name: Download Xcode Platforms
run: |
xcodebuild -downloadAllPlatforms
sudo xcodebuild -runFirstLaunch

- name: Install npm dependencies
run: yarn install

- name: Run tests
run: yarn test-ci

- name: Flow type check
run: yarn flow-check

- name: Lint
run: yarn lint

- name: Format check
run: yarn format-check

build-test-rntester:
name: "Build RNTester - ${{ matrix.friendly_name }}"
permissions: {}
runs-on: macos-latest
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
include:
- name: macos_debug_oldarch_jsc
friendly_name: 'macOS, Old Arch, JSC'
sdk: macosx
configuration: Debug
scheme: RNTester-macOS
packager_platform: 'macos'
new_arch_enabled: '0'
use_hermes: '0'
- name: macos_debug_newarch_jsc
friendly_name: 'macOS, New Arch, JSC'
sdk: macosx
configuration: Debug
scheme: RNTester-macOS
packager_platform: 'macos'
new_arch_enabled: '1'
use_hermes: '0'
- name: ios_debug_oldarch_jsc
friendly_name: 'iOS, Old Arch, JSC'
sdk: iphonesimulator
configuration: Debug
scheme: RNTester
packager_platform: 'ios'
new_arch_enabled: '0'
use_hermes: '0'
- name: ios_debug_newarch_jsc
friendly_name: 'iOS, New Arch, JSC'
sdk: iphonesimulator
configuration: Debug
scheme: RNTester
packager_platform: 'ios'
new_arch_enabled: '1'
use_hermes: '0'
- name: xros_debug_oldarch_jsc
friendly_name: 'xrOS, Old Arch, JSC'
sdk: xrsimulator
configuration: Debug
scheme: RNTester-visionOS
packager_platform: 'ios'
new_arch_enabled: '0'
use_hermes: '0'
- name: xros_debug_newarch_jsc
friendly_name: 'xrOS, New Arch, JSC'
sdk: xrsimulator
configuration: Debug
scheme: RNTester-visionOS
packager_platform: 'ios'
new_arch_enabled: '1'
use_hermes: '0'
- name: macos_debug_oldarch_hermes
friendly_name: 'macOS, Old Arch, Hermes'
sdk: macosx
configuration: Debug
scheme: RNTester-macOS
packager_platform: 'macos'
new_arch_enabled: '0'
use_hermes: '1'
- name: macos_debug_newarch_hermes
friendly_name: 'macOS, New Arch, Hermes'
sdk: macosx
configuration: Debug
scheme: RNTester-macOS
packager_platform: 'macos'
new_arch_enabled: '1'
use_hermes: '1'
- name: ios_debug_oldarch_hermes
friendly_name: 'iOS, Old Arch, Hermes'
sdk: iphonesimulator
configuration: Debug
scheme: RNTester
packager_platform: 'ios'
new_arch_enabled: '0'
use_hermes: '1'
- name: ios_debug_newarch_hermes
friendly_name: 'iOS, New Arch, Hermes'
sdk: iphonesimulator
configuration: Debug
scheme: RNTester
packager_platform: 'ios'
new_arch_enabled: '1'
use_hermes: '1'
- name: xros_debug_oldarch_hermes
friendly_name: 'xrOS, Old Arch, Hermes'
sdk: xrsimulator
configuration: Debug
scheme: RNTester-visionOS
packager_platform: 'ios'
new_arch_enabled: '0'
use_hermes: '1'
- name: xros_debug_newarch_hermes
friendly_name: 'xrOS, New Arch, Hermes'
sdk: xrsimulator
configuration: Debug
scheme: RNTester-visionOS
packager_platform: 'ios'
new_arch_enabled: '1'
use_hermes: '1'

steps:
- uses: actions/checkout@v4
with:
filter: blob:none
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: '23'

- name: Install Homebrew dependencies
run: |
brew install xcbeautify ccache

- name: Setup Xcode
run: |
sudo xcode-select --switch /Applications/Xcode_16.2.app

- name: Download Xcode Platforms
run: |
xcodebuild -downloadAllPlatforms
sudo xcodebuild -runFirstLaunch

- name: Install npm dependencies
run: yarn install

- name: Install Pods
working-directory: packages/rn-tester
env:
RCT_NEW_ARCH_ENABLED: ${{ matrix.new_arch_enabled }}
USE_HERMES: ${{ matrix.use_hermes }}
run: |
set -eox pipefail
bundle install
bundle exec pod install --verbose

- name: Build ${{ matrix.scheme }}
env:
CCACHE_DISABLE: 1
run: |
set -eox pipefail
.ado/scripts/xcodebuild.sh packages/rn-tester/RNTesterPods.xcworkspace ${{ matrix.sdk }} ${{ matrix.configuration }} ${{ matrix.scheme }} build
Loading