Skip to content
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

misc: issue repro #29818

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
154 changes: 2 additions & 152 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
version: 2.1

# -------------------------
# ORBS
# -------------------------
orbs:
nx: nrwl/nx@1.6.2
rust: circleci/rust@1.6.0
browser-tools: circleci/browser-tools@1.4.8

# -------------------------
# EXECUTORS
# -------------------------
Expand All @@ -20,56 +12,9 @@ executors:
<<: *defaults
docker:
- image: cimg/rust:1.84.0-browsers
resource_class: medium+

macos:
<<: *defaults
resource_class: macos.m1.medium.gen1
macos:
xcode: '14.2.0'
resource_class: small

# -------------------------
# COMMANDS
# -------------------------
commands:
run-pnpm-install:
parameters:
os:
type: string
steps:
- restore_cache:
name: Restore pnpm Package Cache
keys:
- node-deps-{{ arch }}-v3-{{ checksum "pnpm-lock.yaml" }}
- when:
condition:
equal: [<< parameters.os >>, linux]
steps:
- run:
name: Install pnpm package manager (linux)
command: |
npm install --prefix=$HOME/.local -g @pnpm/exe@9.8.0
- when:
condition:
equal: [<< parameters.os >>, macos]
steps:
- run:
name: Install pnpm package manager (macos)
command: |
npm install -g @pnpm/exe@9.8.0
- run:
name: Install Dependencies
command: |
pnpm install --frozen-lockfile
pnpm playwright install --with-deps
- save_cache:
name: Save pnpm Package Cache
key: node-deps-{{ arch }}-v3-{{ checksum "pnpm-lock.yaml" }}
paths:
- ~/.pnpm-store
- ~/.cache/Cypress
- node_modules
# -------------------------
# JOBS
# -------------------------
jobs:
Expand All @@ -78,101 +23,8 @@ jobs:
# -------------------------
main-linux:
executor: linux
environment:
NX_E2E_CI_CACHE_KEY: e2e-circleci-linux
NX_DAEMON: 'true'
NX_PERF_LOGGING: 'false'
NX_VERBOSE_LOGGING: 'false'
NX_NATIVE_LOGGING: 'false'
NX_E2E_RUN_E2E: 'true'
NX_CI_EXECUTION_ENV: 'linux'
NX_CLOUD_DTE_V2: 'true'
NX_CLOUD_DTE_SUMMARY: 'true'
NX_CLOUD_NO_TIMEOUTS: 'true'
steps:
- checkout
- nx/set-shas:
main-branch-name: 'master'
- run: npx nx-cloud@next start-ci-run --distribute-on="./.nx/workflows/dynamic-changesets.yaml" --stop-agents-after="e2e"
- run:
command: |
sudo apt-get update
sudo apt-get install -y ca-certificates lsof libvips-dev libglib2.0-dev libgirepository1.0-dev
- browser-tools/install-chrome
- run-pnpm-install:
os: linux
- run:
name: Check Documentation
command: pnpm nx documentation --no-dte
no_output_timeout: 20m
- run:
name: Run Checks/Lint/Test/Build
no_output_timeout: 60m
command: |
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 documentation --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
# -------------------------
# JOBS: Main-MacOS
# -------------------------
mainmacos:
executor: macos
environment:
NX_E2E_CI_CACHE_KEY: e2e-circleci-macos
NX_PERF_LOGGING: 'false'
NX_CI_EXECUTION_ENV: 'macos'
SELECTED_PM: 'npm' # explicitly define npm for macOS tests
steps:
- checkout
- restore_cache:
name: Restore Homebrew packages
keys:
- nrwl-nx-homebrew-packages
- run:
name: Configure Detox Environment, Install applesimutils
command: |
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
no_output_timeout: 20m
- save_cache:
name: Save Homebrew Cache
key: nrwl-nx-homebrew-packages
paths:
- /usr/local/Homebrew
- ~/Library/Caches/Homebrew
- run-pnpm-install:
os: macos
- rust/install
- nx/set-shas:
main-branch-name: 'master'
- run:
name: Run E2E Tests for macOS
command: |
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_output_timeout: 45m
- run: echo "We are in the process of transitioning from Circle CI to GitHub Actions. For details about your build results, consult github actions build logs."

# -------------------------
# WORKFLOWS(JOBS)
Expand All @@ -183,5 +35,3 @@ workflows:
build:
jobs:
- main-linux
- mainmacos:
name: main-macos-e2e
58 changes: 58 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: CI

on:
push:
branches:
- master
pull_request:
branches:
- "**"
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}

jobs:
main-linux:
runs-on: ubuntu-latest
container: cimg/rust:1.84.0-browsers
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Fetch Master
run: git fetch origin master:master

- 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
with:
version: 9.8.0
run_install: false

- name: Install project dependencies
run: |
pnpm install --frozen-lockfile

- name: Install Rust
uses: dtolnay/rust-toolchain@stable


- name: Run Conformance
shell: bash
run: |
pnpm nx-cloud record -- nx-cloud conformance:check
timeout-minutes: 100
1 change: 0 additions & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,6 @@ rust-toolchain @nrwl/nx-native-reviewers
/scripts/angular-support-upgrades @nrwl/nx-angular-reviewers

# CI
/.circleci/** @nrwl/nx-pipelines-reviewers
/.nx/workflows/** @nrwl/nx-pipelines-reviewers
/.github/** @nrwl/nx-pipelines-reviewers
/.husky/** @nrwl/nx-pipelines-reviewers
Expand Down
5 changes: 1 addition & 4 deletions nx-dev/nx-dev/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,16 +100,13 @@
"deploy-build": {
"executor": "nx:run-commands",
"outputs": ["{projectRoot}/public/documentation"],
"dependsOn": ["@nx/nx-source:documentation"],
"options": {
"commands": [
{
"command": "nx run nx-dev:generate-og-images",
"description": "OG images generation"
},
{
"command": "ts-node -P scripts/tsconfig.scripts.json ./scripts/documentation/generators/main.ts",
"description": "Pre-generate official package metadata"
},
{
"command": "nx copy-docs nx-dev",
"description": "Copy generated docs to build output"
Expand Down
4 changes: 2 additions & 2 deletions nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"sharedGlobals": [
"{workspaceRoot}/babel.config.json",
"{workspaceRoot}/.nx/workflows/agents.yaml",
"{workspaceRoot}/.circleci/config.yml"
"{workspaceRoot}/.github/workflows/ci.yml"
],
"native": [
"{projectRoot}/**/*.rs",
Expand Down Expand Up @@ -245,7 +245,7 @@
"nxCloudId": "62d013ea0852fe0a2df74438",
"nxCloudUrl": "https://staging.nx.app",
"parallel": 1,
"bust": 2,
"bust": 4,
"defaultBase": "master",
"conformance": {
"rules": [
Expand Down
30 changes: 3 additions & 27 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"nx-release": "nx nx-release @nx/nx-source --parallel 8",
"prepublishOnly": "node ./scripts/update-package-group.js",
"local-registry": "nx local-registry @nx/nx-source",
"documentation": "ts-node -P scripts/tsconfig.scripts.json ./scripts/documentation/generators/main.ts && pnpm check-documentation-map",
"documentation": "nx documentation",
"submit-plugin": "node ./scripts/submit-plugin.js",
"prepare": "is-ci || husky",
"echo": "echo 123458",
Expand Down Expand Up @@ -384,32 +384,8 @@
"check-format",
"check-imports",
"check-lock-files",
"check-codeowners",
"documentation"
],
"targets": {
"documentation": {
"cache": true,
"inputs": [
"{workspaceRoot}/packages/**",
"{workspaceRoot}/docs/**",
"{workspaceRoot}/scripts/documentation/**",
"!{workspaceRoot}/docs/external-generated",
"!{workspaceRoot}/docs/generated",
"!{workspaceRoot}/packages/**/*.spec.ts",
"!{workspaceRoot}/packages/**/project.json",
"!{workspaceRoot}/packages/**/tsconfig.json",
"!{workspaceRoot}/packages/**/tsconfig.lib.json",
"!{workspaceRoot}/packages/**/tsconfig.spec.json",
"!{workspaceRoot}/packages/**/jest.config.{ts,js}",
"!{workspaceRoot}/packages/**/.eslintrc.json"
]
},
"outputs": [
"{workspaceRoot}/docs/external-generated",
"{workspaceRoot}/docs/generated"
]
}
"check-codeowners"
]
},
"packageManager": "pnpm@9.8.0"
}
35 changes: 35 additions & 0 deletions project.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,41 @@
}
],
"command": "ts-node -P ./scripts/tsconfig.release.json ./scripts/nx-release"
},
"documentation": {
"executor": "nx:run-commands",
"options": {
"commands": [
"ts-node -P scripts/tsconfig.scripts.json ./scripts/documentation/generators/main.ts",
"pnpm check-documentation-map"
],
"parallel": false
},
"cache": true,
"inputs": [
"{workspaceRoot}/packages/**",
"{workspaceRoot}/docs/**",
"{workspaceRoot}/scripts/documentation/**",
"!{workspaceRoot}/docs/external-generated",
"!{workspaceRoot}/docs/generated",
"!{workspaceRoot}/packages/**/*.spec.ts",
"!{workspaceRoot}/packages/**/project.json",
"!{workspaceRoot}/packages/**/tsconfig.json",
"!{workspaceRoot}/packages/**/tsconfig.lib.json",
"!{workspaceRoot}/packages/**/tsconfig.spec.json",
"!{workspaceRoot}/packages/**/jest.config.{ts,js}",
"!{workspaceRoot}/packages/**/.eslintrc.json"
],
"dependsOn": [
{
"target": "build",
"projects": ["devkit", "typedoc-theme"]
}
],
"outputs": [
"{workspaceRoot}/docs/external-generated",
"{workspaceRoot}/docs/generated"
]
}
}
}
2 changes: 1 addition & 1 deletion scripts/check-react-native-changes.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const nxBase = process.argv[2];
const nxBase = process.argv[2] !== 'undefined' ? process.argv[2] : 'master';
const nxHead = process.argv[3];
const gitDiffCount = require('child_process').execSync(
`git diff --name-only ${nxBase} ${nxHead} | (grep -E 'packages/detox|packages/react-native|packages/expo|e2e/detox|e2e/react-native|e2e/expo' || true) | wc -l`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ export async function generateDevkitDocumentation() {
windowsHide: false,
};

execSync('nx run-many -t build -p devkit,typedoc-theme', execSyncOptions);

rmSync('node_modules/@nx/typedoc-theme', { recursive: true, force: true });

cpSync('dist/typedoc-theme', 'node_modules/@nx/typedoc-theme', {
Expand Down