diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4683582db3d53..fb2ea407dd6b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,8 +17,8 @@ jobs: env: NX_E2E_CI_CACHE_KEY: e2e-github-linux NX_DAEMON: 'true' - NX_PERF_LOGGING: 'false' - NX_VERBOSE_LOGGING: 'false' + NX_PERF_LOGGING: 'true' + NX_VERBOSE_LOGGING: 'true' NX_NATIVE_LOGGING: 'false' NX_E2E_RUN_E2E: 'true' NX_CI_EXECUTION_ENV: 'linux' @@ -35,21 +35,6 @@ jobs: - name: Fetch Master run: git fetch origin master:master if: ${{ github.event_name == 'pull_request' }} - - - - name: Set SHAs - uses: nrwl/nx-set-shas@v4 - - - name: Start CI Run - run: npx nx-cloud@next start-ci-run --distribute-on="./.nx/workflows/dynamic-changesets.yaml" --stop-agents-after="e2e" - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y ca-certificates lsof libvips-dev libglib2.0-dev libgirepository1.0-dev - - - name: Install Chrome - uses: browser-actions/setup-chrome@v1 - uses: pnpm/action-setup@v4 name: Install pnpm @@ -62,99 +47,27 @@ jobs: pnpm install --frozen-lockfile pnpm playwright install --with-deps - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - - - name: Check Documentation - run: pnpm nx documentation - timeout-minutes: 20 - - - name: Run Checks/Lint/Test/Build - run: | - pids=() - - pnpm nx-cloud record -- nx format:check --base=$NX_BASE --head=$NX_HEAD & - pids+=($!) - - pnpm nx-cloud record -- nx sync:check - pids+=($!) - - pnpm nx-cloud record -- nx-cloud conformance:check - pids+=($!) - - pnpm nx run-many -t check-imports check-commit check-lock-files check-codeowners --parallel=1 --no-dte & - pids+=($!) - - pnpm nx affected --targets=lint,test,build,e2e,e2e-ci --base=$NX_BASE --head=$NX_HEAD --parallel=3 & - pids+=($!) - - for pid in "${pids[@]}"; do - wait "$pid" - done - timeout-minutes: 100 - - main-macos: - runs-on: macos-latest - env: - NX_E2E_CI_CACHE_KEY: e2e-github-macos - NX_PERF_LOGGING: 'false' - NX_CI_EXECUTION_ENV: 'macos' - SELECTED_PM: 'npm' - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Fetch Master - run: git fetch origin master:master - if: ${{ github.event_name == 'pull_request' }} + - name: Set SHAs + uses: nrwl/nx-set-shas@v4 - - name: Restore Homebrew packages - uses: actions/cache@v3 - with: - path: | - /usr/local/Homebrew - ~/Library/Caches/Homebrew - key: nrwl-nx-homebrew-packages + - name: Start CI Run + run: pnpm nx-cloud start-ci-run --distribute-on="manual" --assignment-rules=".nx/workflows/dynamic-changesets.yaml" - - name: Configure Detox Environment, Install applesimutils + - name: Install dependencies run: | - HOMEBREW_NO_AUTO_UPDATE=1 brew tap wix/brew >/dev/null - HOMEBREW_NO_AUTO_UPDATE=1 brew install applesimutils >/dev/null - xcrun simctl shutdown all && xcrun simctl erase all - timeout-minutes: 20 - - - name: Save Homebrew Cache - uses: actions/cache@v3 - with: - path: | - /usr/local/Homebrew - ~/Library/Caches/Homebrew - key: nrwl-nx-homebrew-packages - - - uses: pnpm/action-setup@v4 - name: Install pnpm - with: - version: 9.8.0 - run_install: false + sudo apt-get update + sudo apt-get install -y ca-certificates lsof libvips-dev libglib2.0-dev libgirepository1.0-dev - - name: Install project dependencies - run: | - pnpm install --frozen-lockfile - pnpm playwright install --with-deps + - name: Install Chrome + uses: browser-actions/setup-chrome@v1 - name: Install Rust uses: dtolnay/rust-toolchain@stable - - name: Set SHAs - uses: nrwl/nx-set-shas@v4 + - name: Check Documentation + run: pnpm nx documentation + timeout-minutes: 20 - - name: Run E2E Tests for macOS + - name: Close Ci Run run: | - HAS_CHANGED=$(node ./scripts/check-react-native-changes.js $NX_BASE $NX_HEAD); - if $HAS_CHANGED; then - pnpm nx affected -t e2e-macos-local --parallel=1 --base=$NX_BASE --head=$NX_HEAD - else - echo "Skip E2E tests for macOS as there are no changes in React Native projects." - fi \ No newline at end of file + npx nx-cloud complete-ci-run