From 09753df6eacb340f18b56c7fd03c193c34b23f68 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sat, 5 Oct 2019 13:17:30 -0700 Subject: [PATCH 1/8] Bump version of Verdaccio --- azure-pipelines.yml | 2 -- tasks/local-registry.sh | 2 +- tasks/verdaccio.yaml | 4 +++- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 69e685a3b2c..f524194df1e 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -12,8 +12,6 @@ variables: NPM_CONFIG_CACHE: $(Build.SourcesDirectory)/../npm-cache # Sets TEMP to be on the same drive as the cloned source on Windows. This avoids test scripts that "cd" into a directory under TEMP from failing because this directory is on a different drive from the current directory. VSTS_OVERWRITE_TEMP: True - # Override Verdaccio package to use. This is temporary and is needed to avoid socket timeouts on hosted Windows agent (on Azure). This also changes Verdaccio to return a 503 (service unavailable) instead of a 404 (not found) when the connection to the uplink timesout. - VERDACCIO_PACKAGE: https://github.com/willsmythe/verdaccio/releases/download/create-react-app/verdaccio-4.0.0-alpha.8.tgz # ****************************************************************************** # Simple test suite diff --git a/tasks/local-registry.sh b/tasks/local-registry.sh index f19a73c4ca3..37f3a3f354b 100644 --- a/tasks/local-registry.sh +++ b/tasks/local-registry.sh @@ -3,7 +3,7 @@ custom_registry_url=http://localhost:4873 original_npm_registry_url=`npm get registry` original_yarn_registry_url=`yarn config get registry` -default_verdaccio_package=verdaccio@3.8.2 +default_verdaccio_package=verdaccio@^4.3.3 function startLocalRegistry { # Start local registry diff --git a/tasks/verdaccio.yaml b/tasks/verdaccio.yaml index cbca71cae19..581f0fe83fc 100644 --- a/tasks/verdaccio.yaml +++ b/tasks/verdaccio.yaml @@ -25,6 +25,8 @@ uplinks: timeout: 60s agent_options: keepAlive: true + # Avoid exceeding the max sockets that are allocated per VM. + # https://docs.microsoft.com/en-us/azure/app-service/app-service-web-nodejs-best-practices-and-troubleshoot-guide#my-node-application-is-making-excessive-outbound-calls maxSockets: 40 maxFreeSockets: 10 @@ -52,7 +54,7 @@ packages: # log settings logs: - - {type: stdout, format: pretty, level: warn} + - { type: stdout, format: pretty, level: warn } #- {type: file, path: verdaccio.log, level: info} # See https://github.com/verdaccio/verdaccio/issues/301 From 48e4610a2f39d5f67f7f75eaa551ee83d4e5567a Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sat, 5 Oct 2019 13:30:40 -0700 Subject: [PATCH 2/8] Re-enable Windows CI --- azure-pipelines-test-job.yml | 4 ++-- azure-pipelines.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines-test-job.yml b/azure-pipelines-test-job.yml index 7073bf3eab6..e2074841ec1 100644 --- a/azure-pipelines-test-job.yml +++ b/azure-pipelines-test-job.yml @@ -8,8 +8,8 @@ parameters: configurations: LinuxNode8: { vmImage: 'ubuntu-16.04', nodeVersion: 8.x } LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } - # WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } - # WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } + WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } + WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } jobs: - job: ${{ parameters.name }} diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f524194df1e..43f39274354 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -56,8 +56,8 @@ jobs: configurations: LinuxNode8: { vmImage: 'ubuntu-16.04', nodeVersion: 8.x } LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } - # WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } - # WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } + WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } + WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } MacNode8: { vmImage: 'macOS-10.13', nodeVersion: 8.x } MacNode10: { vmImage: 'macOS-10.13', nodeVersion: 10.x } From ad7d6b4efc0874e72a6c98e0d2de8fea249dfd4f Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sun, 24 Nov 2019 16:17:39 -0800 Subject: [PATCH 3/8] Remove login step when starting local npm registry --- tasks/local-registry.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/tasks/local-registry.sh b/tasks/local-registry.sh index 37f3a3f354b..419f71657a9 100644 --- a/tasks/local-registry.sh +++ b/tasks/local-registry.sh @@ -16,9 +16,6 @@ function startLocalRegistry { # Set registry to local registry npm set registry "$custom_registry_url" yarn config set registry "$custom_registry_url" - - # Login so we can publish packages - (cd && npx npm-auth-to-token@1.0.0 -u user -p password -e user@example.com -r "$custom_registry_url") } function stopLocalRegistry { From 83d6ffc11a11687317bc1d010a7fd9c3edc3dd3d Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sun, 24 Nov 2019 16:27:24 -0800 Subject: [PATCH 4/8] Update OS configurations --- azure-pipelines-test-job.yml | 8 ++++---- azure-pipelines.yml | 15 +++++++-------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/azure-pipelines-test-job.yml b/azure-pipelines-test-job.yml index e2074841ec1..d040fba789c 100644 --- a/azure-pipelines-test-job.yml +++ b/azure-pipelines-test-job.yml @@ -6,10 +6,10 @@ parameters: name: '' testScript: '' configurations: - LinuxNode8: { vmImage: 'ubuntu-16.04', nodeVersion: 8.x } - LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } - WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } - WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } + LinuxNode8: { vmImage: 'ubuntu-latest', nodeVersion: 8.x } + LinuxNode10: { vmImage: 'ubuntu-latest', nodeVersion: 10.x } + LinuxNode12: { vmImage: 'ubuntu-latest', nodeVersion: 12.x } + WindowsNode10: { vmImage: 'windows-latest', nodeVersion: 10.x } jobs: - job: ${{ parameters.name }} diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 255f66071ee..2f0a0b6ea00 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -57,19 +57,18 @@ jobs: name: Behavior testScript: tasks/e2e-behavior.sh configurations: - LinuxNode8: { vmImage: 'ubuntu-16.04', nodeVersion: 8.x } - LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } - WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } - WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } - MacNode8: { vmImage: 'macOS-10.13', nodeVersion: 8.x } - MacNode10: { vmImage: 'macOS-10.13', nodeVersion: 10.x } + LinuxNode8: { vmImage: 'ubuntu-latest', nodeVersion: 8.x } + LinuxNode10: { vmImage: 'ubuntu-latest', nodeVersion: 10.x } + LinuxNode12: { vmImage: 'ubuntu-latest', nodeVersion: 12.x } + WindowsNode10: { vmImage: 'windows-latest', nodeVersion: 10.x } + MacNode10: { vmImage: 'macOS-latest', nodeVersion: 10.x } # ****************************************************************************** # Old Node test suite # ****************************************************************************** - job: OldNode pool: - vmImage: ubuntu-16.04 + vmImage: ubuntu-latest steps: - task: NodeTool@0 inputs: @@ -82,7 +81,7 @@ jobs: # ****************************************************************************** - job: UnsupportedNodeWithTypeScript pool: - vmImage: ubuntu-16.04 + vmImage: ubuntu-latest steps: - task: NodeTool@0 inputs: From e85512ede8aae2a3eb0f1445f9f261fce1748fc7 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sun, 24 Nov 2019 16:41:25 -0800 Subject: [PATCH 5/8] Try listening on all addresses in Verdaccio --- tasks/verdaccio.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/verdaccio.yaml b/tasks/verdaccio.yaml index 581f0fe83fc..b06ef5feba2 100644 --- a/tasks/verdaccio.yaml +++ b/tasks/verdaccio.yaml @@ -16,6 +16,9 @@ auth: # You can set this to -1 to disable registration. #max_users: 1000 +listen: + - 0.0.0.0:4873 + # a list of other known repositories we can talk to uplinks: npmjs: From c526959cc3022a48976c2c2fb3c09d9888e0a176 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sun, 24 Nov 2019 16:49:33 -0800 Subject: [PATCH 6/8] Revert "Try listening on all addresses in Verdaccio" This reverts commit e85512ede8aae2a3eb0f1445f9f261fce1748fc7. --- tasks/verdaccio.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/tasks/verdaccio.yaml b/tasks/verdaccio.yaml index b06ef5feba2..581f0fe83fc 100644 --- a/tasks/verdaccio.yaml +++ b/tasks/verdaccio.yaml @@ -16,9 +16,6 @@ auth: # You can set this to -1 to disable registration. #max_users: 1000 -listen: - - 0.0.0.0:4873 - # a list of other known repositories we can talk to uplinks: npmjs: From 2d7b7e60c7ad0fe51a0827921b1ff8a22c824438 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sun, 5 Apr 2020 21:11:27 -0700 Subject: [PATCH 7/8] More cleanup --- azure-pipelines-test-job.yml | 2 +- azure-pipelines.yml | 5 +++-- tasks/local-registry.sh | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/azure-pipelines-test-job.yml b/azure-pipelines-test-job.yml index d040fba789c..66d13bbf535 100644 --- a/azure-pipelines-test-job.yml +++ b/azure-pipelines-test-job.yml @@ -9,7 +9,7 @@ parameters: LinuxNode8: { vmImage: 'ubuntu-latest', nodeVersion: 8.x } LinuxNode10: { vmImage: 'ubuntu-latest', nodeVersion: 10.x } LinuxNode12: { vmImage: 'ubuntu-latest', nodeVersion: 12.x } - WindowsNode10: { vmImage: 'windows-latest', nodeVersion: 10.x } + WindowsNode12: { vmImage: 'windows-latest', nodeVersion: 12.x } jobs: - job: ${{ parameters.name }} diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8f5323d7289..eb16c340aac 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -12,8 +12,6 @@ variables: NPM_CONFIG_CACHE: $(Build.SourcesDirectory)/../npm-cache # Sets TEMP to be on the same drive as the cloned source on Windows. This avoids test scripts that "cd" into a directory under TEMP from failing because this directory is on a different drive from the current directory. VSTS_OVERWRITE_TEMP: True - # Override Verdaccio package to use. This is temporary and is needed to avoid socket timeouts on hosted Windows agent (on Azure). This also changes Verdaccio to return a 503 (service unavailable) instead of a 404 (not found) when the connection to the uplink timesout. - VERDACCIO_PACKAGE: https://github.com/willsmythe/verdaccio/releases/download/create-react-app/verdaccio-4.0.0-alpha.8.tgz CRA_INTERNAL_TEST: true # ****************************************************************************** @@ -59,10 +57,13 @@ jobs: configurations: LinuxNode8: { vmImage: 'ubuntu-18.04', nodeVersion: 8.x } LinuxNode10: { vmImage: 'ubuntu-18.04', nodeVersion: 10.x } + LinuxNode12: { vmImage: 'ubuntu-latest', nodeVersion: 12.x } WindowsNode8: { vmImage: 'windows-2019', nodeVersion: 8.x } WindowsNode10: { vmImage: 'windows-2019', nodeVersion: 10.x } + WindowsNode12: { vmImage: 'windows-2019', nodeVersion: 12.x } MacNode8: { vmImage: 'macOS-10.15', nodeVersion: 8.x } MacNode10: { vmImage: 'macOS-10.15', nodeVersion: 10.x } + MacNode12: { vmImage: 'macOS-10.15', nodeVersion: 12.x } # ****************************************************************************** # Old Node test suite diff --git a/tasks/local-registry.sh b/tasks/local-registry.sh index 419f71657a9..34bdd260c02 100644 --- a/tasks/local-registry.sh +++ b/tasks/local-registry.sh @@ -3,7 +3,7 @@ custom_registry_url=http://localhost:4873 original_npm_registry_url=`npm get registry` original_yarn_registry_url=`yarn config get registry` -default_verdaccio_package=verdaccio@^4.3.3 +default_verdaccio_package=verdaccio@^4.5.1 function startLocalRegistry { # Start local registry From 5ef43dc7818959e0074ff0960cfe85c823f1fac6 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sat, 20 Jun 2020 13:01:47 -0700 Subject: [PATCH 8/8] Remove Windows from all but behavior suite It's just way too slow (30min+) --- azure-pipelines-test-job.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/azure-pipelines-test-job.yml b/azure-pipelines-test-job.yml index 1918e0c735d..e035e141c91 100644 --- a/azure-pipelines-test-job.yml +++ b/azure-pipelines-test-job.yml @@ -8,7 +8,6 @@ parameters: configurations: LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } LinuxNode12: { vmImage: 'ubuntu-16.04', nodeVersion: 12.x } - WindowsNode12: { vmImage: 'windows-2019', nodeVersion: 12.x } jobs: - job: ${{ parameters.name }}