chore: set new architecture as the default #522
Workflow file for this run
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: PR | |
on: | |
pull_request: | |
types: [opened, synchronize, edited] | |
branches: [ "main", "*-stable", "release/*" ] | |
concurrency: | |
# Ensure single build of a pull request. `main` should not be affected. | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
lint-title: | |
name: "Lint PR title" | |
permissions: {} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
filter: blob:none | |
fetch-depth: 0 | |
- name: Setup toolchain | |
uses: ./.github/actions/microsoft-setup-toolchain | |
with: | |
node-version: '22' | |
# We lint the PR title instead of the commit message to avoid script injection attacks. | |
# Using environment variables prevents potential security vulnerabilities as described in: | |
# https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#example-of-a-script-injection-attack | |
- name: Lint PR title | |
env: | |
PR_TITLE: ${{ github.event.pull_request.title }} | |
run: | | |
echo "$PR_TITLE" | npx @rnx-kit/commitlint-lite@2.0.0 | |
build-website: | |
name: "Build the website" | |
permissions: {} | |
if: github.base_ref == 'main' | |
uses: ./.github/workflows/microsoft-build-website.yml | |
npm-publish-dry-run: | |
name: "NPM Publish (Dry Run)" | |
permissions: {} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
filter: blob:none | |
fetch-depth: 0 | |
- name: Setup toolchain | |
uses: ./.github/actions/microsoft-setup-toolchain | |
with: | |
node-version: '22' | |
- name: Read publish tag from nx.json | |
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" | |
- name: Configure git | |
run: | | |
git config --global user.email "53619745+rnbot@users.noreply.github.com" | |
git config --global user.name "React-Native Bot" | |
git remote set-url origin https://rnbot:${{ secrets.GITHUB_TOKEN }}@github.com/microsoft/react-native-macos | |
- name: Install dependencies | |
run: yarn | |
- name: Verify release config | |
run: | | |
node .ado/scripts/prepublish-check.mjs --verbose --skip-auth --tag ${{ steps.config.outputs.publishTag }} | |
- name: Version and publish packages (dry run) | |
run: | | |
echo "Target branch: ${{ github.base_ref }}" | |
yarn nx release --dry-run --verbose | |
yarn-constraints: | |
name: "Check Yarn Constraints" | |
permissions: {} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
filter: blob:none | |
fetch-depth: 0 | |
- name: Setup toolchain | |
uses: ./.github/actions/microsoft-setup-toolchain | |
with: | |
node-version: '22' | |
- name: Install dependencies | |
run: yarn | |
- name: Check constraints | |
run: yarn constraints | |
javascript-tests: | |
name: "JavaScript Tests" | |
permissions: {} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
filter: blob:none | |
fetch-depth: 0 | |
- name: Setup toolchain | |
uses: ./.github/actions/microsoft-setup-toolchain | |
with: | |
node-version: '22' | |
- name: Install npm dependencies | |
run: yarn install | |
- name: Run Jest tests | |
run: yarn test-ci | |
- name: Run Flow type checker | |
run: yarn flow-check | |
- name: Run ESLint | |
run: yarn lint | |
- name: Run Prettier format check | |
run: yarn format-check | |
build-rntester: | |
name: "Build RNTester" | |
permissions: {} | |
uses: ./.github/workflows/microsoft-build-rntester.yml | |
# https://github.com/microsoft/react-native-macos/issues/2344 | |
# Disable these tests because verdaccio hangs | |
# test-react-native-macos-init: | |
# name: "Test react-native-macos init" | |
# permissions: {} | |
# if: ${{ endsWith(github.base_ref, '-stable') }} | |
# uses: ./.github/workflows/microsoft-test-react-native-macos-init.yml | |
# https://github.com/microsoft/react-native-macos/issues/2344 | |
# Disable these tests because verdaccio hangs | |
# react-native-test-app-integration: | |
# name: "Test react-native-test-app integration" | |
# permissions: {} | |
# if: ${{ endsWith(github.base_ref, '-stable') }} | |
# uses: ./.github/workflows/microsoft-react-native-test-app-integration.yml | |
PR: | |
name: "PR" | |
permissions: {} | |
runs-on: ubuntu-latest | |
needs: | |
- lint-title | |
- npm-publish-dry-run | |
- yarn-constraints | |
- javascript-tests | |
- build-rntester | |
# - test-react-native-macos-init | |
# - react-native-test-app-integration | |
steps: | |
- name: All required jobs passed | |
run: echo "All required jobs completed." |