chore(repo): switch on multiple main jobs on circleci (#6735)

* chore(repo): test osx runnner on circleci

* chore(repo): add pnpm to all the platforms

* chore(repo): comment out temporarily osx job

* chore(repo): add dummy MACOS test

* chore(repo): add workflow id

* chore(repo): switch on android

* chore(repo): remove os mains temporarily

* chore(repo): turn off all non-linux agents

* chore(repo): switch on macos run

* chore(repo): switch on android run

* chore(repo): set nx run group dynamically

* chore(repo): cleanup before merge
This commit is contained in:
Miroslav Jonaš 2021-09-21 16:57:49 +02:00 committed by GitHub
parent 9dc2c40480
commit 3a6c7363bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 68 additions and 75 deletions

View File

@ -44,14 +44,12 @@ executors:
android: android:
<<: *defaults <<: *defaults
docker: docker:
- image: reactnativecommunity/react-native-android:4.0 - image: reactnativecommunity/react-native-android
resource_class: 'large' resource_class: 'large'
environment: environment:
- TERM: 'dumb'
- ADB_INSTALL_TIMEOUT: 10 - ADB_INSTALL_TIMEOUT: 10
- _JAVA_OPTIONS: '-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap' - _JAVA_OPTIONS: '-Xmx1024m -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap'
- GRADLE_OPTS: '-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-XX:+HeapDumpOnOutOfMemoryError"' - GRADLE_OPTS: '-Xmx2014m -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-XX:+UnlockExperimentalVMOptions -XX:+HeapDumpOnOutOfMemoryError"'
- BUILD_THREADS: 2
# ------------------------- # -------------------------
# COMMANDS # COMMANDS
@ -80,9 +78,9 @@ commands:
os: os:
type: string type: string
steps: steps:
- when: - unless:
condition: condition:
equal: [<< parameters.os >>, linux] equal: [<< parameters.os >>, windows]
steps: steps:
- run: - run:
name: Install PNPM name: Install PNPM
@ -203,7 +201,7 @@ commands:
- run: - run:
name: Run E2E Tests name: Run E2E Tests
command: | command: |
npx nx affected --target=e2e -base=$NX_BASE npx nx affected --target=e2e --base=$NX_BASE
no_output_timeout: 45m no_output_timeout: 45m
- unless: - unless:
condition: condition:
@ -244,6 +242,10 @@ jobs:
SELECTED_CLI: << parameters.cli >> SELECTED_CLI: << parameters.cli >>
NX_VERBOSE_LOGGING: 'true' NX_VERBOSE_LOGGING: 'true'
steps: steps:
- run:
name: Set dynamic nx run variable
command: |
echo "export NX_RUN_GROUP=\"e2e-run-group-<< parameters.os >>-<< parameters.pm >>-$CIRCLE_WORKFLOW_ID\";" >> $BASH_ENV
- setup: - setup:
os: << parameters.os >> os: << parameters.os >>
- run: - run:
@ -251,37 +253,6 @@ jobs:
command: npx nx-cloud start-agent command: npx nx-cloud start-agent
no_output_timeout: 60m no_output_timeout: 60m
# -------------------------
# JOBS: Agent cleanup
# -------------------------
agent-cleanup:
parameters:
os:
type: string
default: 'linux'
cli:
type: string
default: ''
pm:
type: string
default: pnpm
executor: << parameters.os >>
environment:
GIT_AUTHOR_NAME: test@test.com
GIT_AUTHOR_EMAIL: Test
GIT_COMMITTER_EMAIL: test@test.com
GIT_COMMITTER_NAME: Test
NX_E2E_CI_CACHE_KEY: e2e-circleci-<< parameters.os >>-<< parameters.pm >>
SELECTED_PM: << parameters.pm >>
SELECTED_CLI: << parameters.cli >>
NX_VERBOSE_LOGGING: 'true'
steps:
- setup:
os: << parameters.os >>
- run:
name: Stop All Running Agents for This CI Run
command: npx nx-cloud stop-all-agents
# ------------------------- # -------------------------
# JOBS: Main # JOBS: Main
# ------------------------- # -------------------------
@ -338,6 +309,10 @@ jobs:
NX_E2E_RUN_CYPRESS: << parameters.run-cypress-tests >> NX_E2E_RUN_CYPRESS: << parameters.run-cypress-tests >>
NX_VERBOSE_LOGGING: 'true' NX_VERBOSE_LOGGING: 'true'
steps: steps:
- run:
name: Set dynamic nx run variable
command: |
echo "export NX_RUN_GROUP=\"e2e-run-group-<< parameters.os >>-<< parameters.pm >>-$CIRCLE_WORKFLOW_ID\";" >> $BASH_ENV
- setup: - setup:
os: << parameters.os >> os: << parameters.os >>
- when: - when:
@ -352,6 +327,9 @@ jobs:
run-e2e-tests: << parameters.run-e2e-tests >> run-e2e-tests: << parameters.run-e2e-tests >>
unit-test-filter: << parameters.unit-test-filter >> unit-test-filter: << parameters.unit-test-filter >>
e2e-test-filter: << parameters.e2e-test-filter >> e2e-test-filter: << parameters.e2e-test-filter >>
- run:
name: Stop All Running Agents for This CI Run
command: npx nx-cloud stop-all-agents
# ------------------------- # -------------------------
# WORKFLOWS # WORKFLOWS
@ -379,9 +357,12 @@ workflows:
name: 'agent8' name: 'agent8'
- agent: - agent:
name: 'agent9' name: 'agent9'
# - agent: pm: 'npm'
# name: 'agent10' os: 'macos'
# os: 'macos' - agent:
name: 'agent10'
pm: 'npm'
os: 'android'
# ------------------------- # -------------------------
# Pull request logic # Pull request logic
# ------------------------- # -------------------------
@ -391,35 +372,27 @@ workflows:
filters: filters:
branches: branches:
ignore: master ignore: master
# - main: - main:
# name: pull-request-osx name: pull-request-osx
# pm: 'yarn' pm: 'npm'
# os: 'macos' os: 'macos'
# run-checks: 'false' run-checks: 'false'
# run-builds: 'false' run-builds: 'false'
# run-unit-tests: 'false' run-unit-tests: 'false'
# run-linting: 'false' run-linting: 'false'
# e2e-test-filter: 'MACOS-Tests' e2e-test-filter: 'MACOS-Tests'
# filters: filters:
# branches: branches:
# ignore: master ignore: master
# - main: - main:
# name: pull-request-android name: pull-request-android
# pm: 'yarn' pm: 'npm'
# os: 'android' os: 'android'
# run-checks: 'false' run-checks: 'false'
# run-builds: 'false' run-builds: 'false'
# run-unit-tests: 'false' run-unit-tests: 'false'
# run-linting: 'false' run-linting: 'false'
# e2e-test-filter: 'Android-Tests' e2e-test-filter: 'Android-Tests'
# filters:
# branches:
# ignore: master
- agent-cleanup:
requires:
- pull-request
# - pull-request-osx
# - pull-request-android
filters: filters:
branches: branches:
ignore: master ignore: master
@ -432,9 +405,29 @@ workflows:
filters: filters:
branches: branches:
only: master only: master
- agent-cleanup: - main:
requires: name: commit-to-master-osx
- commit-to-master pm: 'npm'
os: 'macos'
run-checks: 'false'
run-builds: 'false'
run-unit-tests: 'false'
run-linting: 'false'
e2e-test-filter: 'MACOS-Tests'
run-cypress-tests: 'true'
filters:
branches:
only: master
- main:
name: commit-to-master-android
pm: 'npm'
os: 'android'
run-checks: 'false'
run-builds: 'false'
run-unit-tests: 'false'
run-linting: 'false'
e2e-test-filter: 'Android-Tests'
run-cypress-tests: 'true'
filters: filters:
branches: branches:
only: master only: master

View File

@ -35,7 +35,7 @@ describe('file-server', () => {
try { try {
await promisifiedTreeKill(p.pid, 'SIGKILL'); await promisifiedTreeKill(p.pid, 'SIGKILL');
expect(await killPorts(port)).toBeTruthy(); await killPorts(port);
} catch (err) { } catch (err) {
expect(err).toBeFalsy(); expect(err).toBeFalsy();
} }