Enable dotnet-build bot
This commit is contained in:
parent
b74582e101
commit
0c7269eeb6
|
|
@ -1,10 +1,6 @@
|
||||||
language: csharp
|
language: csharp
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
dist: trusty
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
|
||||||
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
|
|
@ -24,4 +20,4 @@ before_install:
|
||||||
/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
|
/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
|
||||||
/usr/local/lib/; fi
|
/usr/local/lib/; fi
|
||||||
script:
|
script:
|
||||||
- ./build.sh
|
- ./build.sh --ci
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
@Library('dotnet-ci') _
|
||||||
|
|
||||||
|
simpleNode('Ubuntu16.04', 'latest-or-auto-docker') {
|
||||||
|
stage ('Checking out source') {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
stage ('Build') {
|
||||||
|
sh './build.sh --ci'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
@Library('dotnet-ci') _
|
||||||
|
|
||||||
|
simpleNode('OSX10.12','latest') {
|
||||||
|
stage ('Checking out source') {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
stage ('Build') {
|
||||||
|
sh './build.sh --ci'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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)
|
||||||
|
|
@ -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'
|
||||||
|
}
|
||||||
|
}
|
||||||
16
run.ps1
16
run.ps1
|
|
@ -26,12 +26,18 @@ The base url where build tools can be downloaded. Overrides the value from the c
|
||||||
.PARAMETER Update
|
.PARAMETER Update
|
||||||
Updates KoreBuild to the latest version even if a lock file is present.
|
Updates KoreBuild to the latest version even if a lock file is present.
|
||||||
|
|
||||||
|
.PARAMETER Reinstall
|
||||||
|
Re-installs KoreBuild
|
||||||
|
|
||||||
.PARAMETER ConfigFile
|
.PARAMETER ConfigFile
|
||||||
The path to the configuration file that stores values. Defaults to korebuild.json.
|
The path to the configuration file that stores values. Defaults to korebuild.json.
|
||||||
|
|
||||||
.PARAMETER ToolsSourceSuffix
|
.PARAMETER ToolsSourceSuffix
|
||||||
The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
|
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
|
.PARAMETER Arguments
|
||||||
Arguments to be passed to the command
|
Arguments to be passed to the command
|
||||||
|
|
||||||
|
|
@ -65,8 +71,10 @@ param(
|
||||||
[string]$ToolsSource,
|
[string]$ToolsSource,
|
||||||
[Alias('u')]
|
[Alias('u')]
|
||||||
[switch]$Update,
|
[switch]$Update,
|
||||||
[string]$ConfigFile,
|
[switch]$Reinstall,
|
||||||
[string]$ToolsSourceSuffix,
|
[string]$ToolsSourceSuffix,
|
||||||
|
[string]$ConfigFile = $null,
|
||||||
|
[switch]$CI,
|
||||||
[Parameter(ValueFromRemainingArguments = $true)]
|
[Parameter(ValueFromRemainingArguments = $true)]
|
||||||
[string[]]$Arguments
|
[string[]]$Arguments
|
||||||
)
|
)
|
||||||
|
|
@ -93,6 +101,10 @@ function Get-KoreBuild {
|
||||||
$version = $version.TrimStart('version:').Trim()
|
$version = $version.TrimStart('version:').Trim()
|
||||||
$korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
|
$korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
|
||||||
|
|
||||||
|
if ($Reinstall -and (Test-Path $korebuildPath)) {
|
||||||
|
Remove-Item -Force -Recurse $korebuildPath
|
||||||
|
}
|
||||||
|
|
||||||
if (!(Test-Path $korebuildPath)) {
|
if (!(Test-Path $korebuildPath)) {
|
||||||
Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
|
Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
|
||||||
New-Item -ItemType Directory -Path $korebuildPath | Out-Null
|
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')
|
Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
|
||||||
|
|
||||||
try {
|
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
|
Invoke-KoreBuildCommand $Command @Arguments
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
|
|
|
||||||
16
run.sh
16
run.sh
|
|
@ -14,10 +14,12 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
|
[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
|
||||||
verbose=false
|
verbose=false
|
||||||
update=false
|
update=false
|
||||||
|
reinstall=false
|
||||||
repo_path="$DIR"
|
repo_path="$DIR"
|
||||||
channel=''
|
channel=''
|
||||||
tools_source=''
|
tools_source=''
|
||||||
tools_source_suffix=''
|
tools_source_suffix=''
|
||||||
|
ci=false
|
||||||
|
|
||||||
#
|
#
|
||||||
# Functions
|
# Functions
|
||||||
|
|
@ -38,6 +40,8 @@ __usage() {
|
||||||
echo " -s|--tools-source|-ToolsSource <URL> The base url where build tools can be downloaded. Overrides the value from the config file."
|
echo " -s|--tools-source|-ToolsSource <URL> The base url where build tools can be downloaded. Overrides the value from the config file."
|
||||||
echo " --tools-source-suffix|-ToolsSourceSuffix <SUFFIX> The suffix to append to tools-source. Useful for query strings."
|
echo " --tools-source-suffix|-ToolsSourceSuffix <SUFFIX> 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 " -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 ""
|
||||||
echo "Description:"
|
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."
|
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:]]*$//')"
|
version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
|
||||||
local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
|
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
|
if [ ! -d "$korebuild_path" ]; then
|
||||||
mkdir -p "$korebuild_path"
|
mkdir -p "$korebuild_path"
|
||||||
|
|
@ -175,6 +183,12 @@ while [[ $# -gt 0 ]]; do
|
||||||
-u|--update|-Update)
|
-u|--update|-Update)
|
||||||
update=true
|
update=true
|
||||||
;;
|
;;
|
||||||
|
--reinstall|-[Rr]einstall)
|
||||||
|
reinstall=true
|
||||||
|
;;
|
||||||
|
--ci)
|
||||||
|
ci=true
|
||||||
|
;;
|
||||||
--verbose|-Verbose)
|
--verbose|-Verbose)
|
||||||
verbose=true
|
verbose=true
|
||||||
;;
|
;;
|
||||||
|
|
@ -227,5 +241,5 @@ fi
|
||||||
[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
|
[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
|
||||||
|
|
||||||
get_korebuild
|
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" "$@"
|
invoke_korebuild_command "$command" "$@"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue