From 85b12e9fa18193c81c930032dc14755805b71c8e Mon Sep 17 00:00:00 2001 From: Pranav K Date: Mon, 19 Mar 2018 12:27:38 -0700 Subject: [PATCH 1/3] Enable dotnet-build bot --- .appveyor.yml | 4 +--- .travis.yml | 4 +--- build/buildpipeline/linux.groovy | 11 +++++++++++ build/buildpipeline/osx.groovy | 11 +++++++++++ build/buildpipeline/pipeline.groovy | 18 ++++++++++++++++++ build/buildpipeline/windows.groovy | 12 ++++++++++++ client-ts/FunctionalTests/package-lock.json | 2 +- korebuild-lock.txt | 4 ++-- run.ps1 | 16 ++++++++++++++-- run.sh | 16 +++++++++++++++- 10 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 build/buildpipeline/linux.groovy create mode 100644 build/buildpipeline/osx.groovy create mode 100644 build/buildpipeline/pipeline.groovy create mode 100644 build/buildpipeline/windows.groovy diff --git a/.appveyor.yml b/.appveyor.yml index f8d65af7e4..35b1131ac9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -7,7 +7,7 @@ branches: - /^release\/.*$/ - /^(.*\/)?ci-.*$/ build_script: -- ps: .\run.ps1 default-build +- ps: .\run.ps1 -ci default-build on_finish: - ps: 7z a testlogs.zip testlogs - ps: Push-AppveyorArtifact testlogs.zip @@ -16,8 +16,6 @@ install: clone_depth: 1 environment: global: - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - DOTNET_CLI_TELEMETRY_OPTOUT: 1 ASPNETCORE_TEST_LOG_DIR: $(APPVEYOR_BUILD_FOLDER)\testlogs test: 'off' deploy: 'off' diff --git a/.travis.yml b/.travis.yml index e84ae1c10d..06281bb0ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,6 @@ services: - docker env: global: - - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - DOTNET_CLI_TELEMETRY_OPTOUT: 1 - SIGNALR_TESTS_VERBOSE: 1 - TRAVIS_NODE_VERSION: 8.9.3 mono: none @@ -28,4 +26,4 @@ before_install: - nvm install $TRAVIS_NODE_VERSION - if test "$TRAVIS_OS_NAME" == "linux"; then docker pull redis; fi script: -- ./build.sh +- ./build.sh --ci diff --git a/build/buildpipeline/linux.groovy b/build/buildpipeline/linux.groovy new file mode 100644 index 0000000000..6bf3a44368 --- /dev/null +++ b/build/buildpipeline/linux.groovy @@ -0,0 +1,11 @@ +@Library('dotnet-ci') _ + +simpleNode('Ubuntu16.04', 'latest-or-auto-docker') { + stage ('Checking out source') { + checkout scm + } + stage ('Build') { + def environment = 'export SIGNALR_TESTS_VERBOSE=1' + sh "${environment} && ./build.sh --ci" + } +} diff --git a/build/buildpipeline/osx.groovy b/build/buildpipeline/osx.groovy new file mode 100644 index 0000000000..c5d4c7d03a --- /dev/null +++ b/build/buildpipeline/osx.groovy @@ -0,0 +1,11 @@ +@Library('dotnet-ci') _ + +simpleNode('OSX10.12','latest') { + stage ('Checking out source') { + checkout scm + } + stage ('Build') { + def environment = 'export SIGNALR_TESTS_VERBOSE=1' + sh "${environment} && ./build.sh --ci" + } +} diff --git a/build/buildpipeline/pipeline.groovy b/build/buildpipeline/pipeline.groovy new file mode 100644 index 0000000000..e915cadae1 --- /dev/null +++ b/build/buildpipeline/pipeline.groovy @@ -0,0 +1,18 @@ +import org.dotnet.ci.pipelines.Pipeline + +def windowsPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/windows.groovy') +def linuxPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/linux.groovy') +def osxPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/osx.groovy') +String configuration = 'Release' +def parameters = [ + 'Configuration': configuration +] + +windowsPipeline.triggerPipelineOnEveryGithubPR("Windows ${configuration} x64 Build", parameters) +windowsPipeline.triggerPipelineOnGithubPush(parameters) + +linuxPipeline.triggerPipelineOnEveryGithubPR("Ubuntu 16.04 ${configuration} Build", parameters) +linuxPipeline.triggerPipelineOnGithubPush(parameters) + +osxPipeline.triggerPipelineOnEveryGithubPR("OSX 10.12 ${configuration} Build", parameters) +osxPipeline.triggerPipelineOnGithubPush(parameters) diff --git a/build/buildpipeline/windows.groovy b/build/buildpipeline/windows.groovy new file mode 100644 index 0000000000..8d26f313d4 --- /dev/null +++ b/build/buildpipeline/windows.groovy @@ -0,0 +1,12 @@ +@Library('dotnet-ci') _ + +// 'node' indicates to Jenkins that the enclosed block runs on a node that matches +// the label 'windows-with-vs' +simpleNode('Windows_NT','latest') { + stage ('Checking out source') { + checkout scm + } + stage ('Build') { + bat '.\\run.cmd -CI default-build' + } +} diff --git a/client-ts/FunctionalTests/package-lock.json b/client-ts/FunctionalTests/package-lock.json index 86487f2999..ed6372b193 100644 --- a/client-ts/FunctionalTests/package-lock.json +++ b/client-ts/FunctionalTests/package-lock.json @@ -658,4 +658,4 @@ "dev": true } } -} \ No newline at end of file +} diff --git a/korebuild-lock.txt b/korebuild-lock.txt index e40ef6651b..f531e7b0f7 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.0-preview2-15742 -commithash:21fbb0f2c3fe4a9216e2d59632b98cfd7d685962 +version:2.1.0-preview2-15744 +commithash:9e15cb6062ab5b9790d3fa699e018543a6950713 diff --git a/run.ps1 b/run.ps1 index 27dcf848f8..96c6c54c69 100644 --- a/run.ps1 +++ b/run.ps1 @@ -26,12 +26,18 @@ The base url where build tools can be downloaded. Overrides the value from the c .PARAMETER Update Updates KoreBuild to the latest version even if a lock file is present. +.PARAMETER Reinstall +Re-installs KoreBuild + .PARAMETER ConfigFile The path to the configuration file that stores values. Defaults to korebuild.json. .PARAMETER ToolsSourceSuffix The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores. +.PARAMETER CI +Sets up CI specific settings and variables. + .PARAMETER Arguments Arguments to be passed to the command @@ -65,8 +71,10 @@ param( [string]$ToolsSource, [Alias('u')] [switch]$Update, - [string]$ConfigFile, + [switch]$Reinstall, [string]$ToolsSourceSuffix, + [string]$ConfigFile = $null, + [switch]$CI, [Parameter(ValueFromRemainingArguments = $true)] [string[]]$Arguments ) @@ -93,6 +101,10 @@ function Get-KoreBuild { $version = $version.TrimStart('version:').Trim() $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version) + if ($Reinstall -and (Test-Path $korebuildPath)) { + Remove-Item -Force -Recurse $korebuildPath + } + if (!(Test-Path $korebuildPath)) { Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version" New-Item -ItemType Directory -Path $korebuildPath | Out-Null @@ -188,7 +200,7 @@ $korebuildPath = Get-KoreBuild Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1') try { - Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile + Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI Invoke-KoreBuildCommand $Command @Arguments } finally { diff --git a/run.sh b/run.sh index 834961fc3a..4606a42e78 100755 --- a/run.sh +++ b/run.sh @@ -14,10 +14,12 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" [ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet" verbose=false update=false +reinstall=false repo_path="$DIR" channel='' tools_source='' tools_source_suffix='' +ci=false # # Functions @@ -38,6 +40,8 @@ __usage() { echo " -s|--tools-source|-ToolsSource The base url where build tools can be downloaded. Overrides the value from the config file." echo " --tools-source-suffix|-ToolsSourceSuffix The suffix to append to tools-source. Useful for query strings." echo " -u|--update Update to the latest KoreBuild even if the lock file is present." + echo " --reinstall Reinstall KoreBuild." + echo " --ci Apply CI specific settings and environment variables." echo "" echo "Description:" echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be." @@ -62,6 +66,10 @@ get_korebuild() { version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version" + if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then + rm -rf "$korebuild_path" + fi + { if [ ! -d "$korebuild_path" ]; then mkdir -p "$korebuild_path" @@ -175,6 +183,12 @@ while [[ $# -gt 0 ]]; do -u|--update|-Update) update=true ;; + --reinstall|-[Rr]einstall) + reinstall=true + ;; + --ci) + ci=true + ;; --verbose|-Verbose) verbose=true ;; @@ -227,5 +241,5 @@ fi [ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' get_korebuild -set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" +set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci" invoke_korebuild_command "$command" "$@" From 9992e48c60a1958c42524fac1a7fa0482a2c0072 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Mon, 19 Mar 2018 17:31:38 -0700 Subject: [PATCH 2/3] Remove dotnet-build scripts --- build/buildpipeline/linux.groovy | 11 ----------- build/buildpipeline/osx.groovy | 11 ----------- build/buildpipeline/pipeline.groovy | 18 ------------------ build/buildpipeline/windows.groovy | 12 ------------ 4 files changed, 52 deletions(-) delete mode 100644 build/buildpipeline/linux.groovy delete mode 100644 build/buildpipeline/osx.groovy delete mode 100644 build/buildpipeline/pipeline.groovy delete mode 100644 build/buildpipeline/windows.groovy diff --git a/build/buildpipeline/linux.groovy b/build/buildpipeline/linux.groovy deleted file mode 100644 index 6bf3a44368..0000000000 --- a/build/buildpipeline/linux.groovy +++ /dev/null @@ -1,11 +0,0 @@ -@Library('dotnet-ci') _ - -simpleNode('Ubuntu16.04', 'latest-or-auto-docker') { - stage ('Checking out source') { - checkout scm - } - stage ('Build') { - def environment = 'export SIGNALR_TESTS_VERBOSE=1' - sh "${environment} && ./build.sh --ci" - } -} diff --git a/build/buildpipeline/osx.groovy b/build/buildpipeline/osx.groovy deleted file mode 100644 index c5d4c7d03a..0000000000 --- a/build/buildpipeline/osx.groovy +++ /dev/null @@ -1,11 +0,0 @@ -@Library('dotnet-ci') _ - -simpleNode('OSX10.12','latest') { - stage ('Checking out source') { - checkout scm - } - stage ('Build') { - def environment = 'export SIGNALR_TESTS_VERBOSE=1' - sh "${environment} && ./build.sh --ci" - } -} diff --git a/build/buildpipeline/pipeline.groovy b/build/buildpipeline/pipeline.groovy deleted file mode 100644 index e915cadae1..0000000000 --- a/build/buildpipeline/pipeline.groovy +++ /dev/null @@ -1,18 +0,0 @@ -import org.dotnet.ci.pipelines.Pipeline - -def windowsPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/windows.groovy') -def linuxPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/linux.groovy') -def osxPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/osx.groovy') -String configuration = 'Release' -def parameters = [ - 'Configuration': configuration -] - -windowsPipeline.triggerPipelineOnEveryGithubPR("Windows ${configuration} x64 Build", parameters) -windowsPipeline.triggerPipelineOnGithubPush(parameters) - -linuxPipeline.triggerPipelineOnEveryGithubPR("Ubuntu 16.04 ${configuration} Build", parameters) -linuxPipeline.triggerPipelineOnGithubPush(parameters) - -osxPipeline.triggerPipelineOnEveryGithubPR("OSX 10.12 ${configuration} Build", parameters) -osxPipeline.triggerPipelineOnGithubPush(parameters) diff --git a/build/buildpipeline/windows.groovy b/build/buildpipeline/windows.groovy deleted file mode 100644 index 8d26f313d4..0000000000 --- a/build/buildpipeline/windows.groovy +++ /dev/null @@ -1,12 +0,0 @@ -@Library('dotnet-ci') _ - -// 'node' indicates to Jenkins that the enclosed block runs on a node that matches -// the label 'windows-with-vs' -simpleNode('Windows_NT','latest') { - stage ('Checking out source') { - checkout scm - } - stage ('Build') { - bat '.\\run.cmd -CI default-build' - } -} From 71fd4ffd8af7bd67f3df906836d16c9f870d4cf0 Mon Sep 17 00:00:00 2001 From: Andrew Stanton-Nurse Date: Mon, 19 Mar 2018 20:22:18 -0700 Subject: [PATCH 3/3] fix #1542 by removing browser field (#1625) --- client-ts/rollup-base.js | 2 +- client-ts/signalr-protocol-msgpack/package.json | 2 +- client-ts/signalr/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client-ts/rollup-base.js b/client-ts/rollup-base.js index b3f362c439..eea43035bf 100644 --- a/client-ts/rollup-base.js +++ b/client-ts/rollup-base.js @@ -15,7 +15,7 @@ export default function(rootDir, moduleGlobals) { return { input: path.join(rootDir, "dist", "cjs", "browser-index.js"), output: { - file: pkg.browser, + file: pkg.umd, format: "umd", name: pkg.umd_name, sourcemap: true, diff --git a/client-ts/signalr-protocol-msgpack/package.json b/client-ts/signalr-protocol-msgpack/package.json index 5878624fbf..f433edaa5e 100644 --- a/client-ts/signalr-protocol-msgpack/package.json +++ b/client-ts/signalr-protocol-msgpack/package.json @@ -3,9 +3,9 @@ "version": "1.0.0-preview2-t000", "description": "MsgPack Protocol support for ASP.NET Core SignalR", "main": "./dist/cjs/index.js", - "browser": "./dist/browser/signalr-protocol-msgpack.js", "module": "./dist/esm/index.js", "typings": "./dist/esm/index.d.ts", + "umd": "./dist/browser/signalr-protocol-msgpack.js", "umd_name": "signalR.protocols.msgpack", "directories": { "test": "spec" diff --git a/client-ts/signalr/package.json b/client-ts/signalr/package.json index 81fc9ef809..f048f38ee4 100644 --- a/client-ts/signalr/package.json +++ b/client-ts/signalr/package.json @@ -3,9 +3,9 @@ "version": "1.0.0-preview2-t000", "description": "ASP.NET Core SignalR Client", "main": "./dist/cjs/index.js", - "browser": "./dist/browser/signalr.js", "module": "./dist/esm/index.js", "typings": "./dist/esm/index.d.ts", + "umd": "./dist/browser/signalr.js", "umd_name": "signalR", "directories": { "test": "spec"