-
Notifications
You must be signed in to change notification settings - Fork 485
Move builds from TeamCity to AppVeyor and Travis CI #241
Copy link
Copy link
Closed
Milestone
Description
These are the build configurations we've currently have in TeamCity with the configuration pulled apart from the set up. It would be great if they all went to using a build script rather than calling msbuild/xbuild directly.
I'm not sure exactly what we want to do but it might be time to move Castle Core to the new VS2017 tooling to support .NET Framework and .NET Core, this should hopefully make the NuGet packaging cleaner.
TeamCity: http://builds.castleproject.org/project.html?projectId=Core&tab=projectOverview
AppVeyor: https://ci.appveyor.com/project/castleproject/core
Travis CI: https://travis-ci.org/castleproject/Core
.NET 3.5
RELEASE_BUILD=false
VERSION_SUFFIX=
$ powershell buildscripts\Set-VersionInfo.ps1
$ msbuild /p:Configuration=NET35-Release /t:Package buildscripts/Build.proj
.NET 4.0
- Same as 3.5 with
NET40-Releaseconfiguration
.NET 4.5
- Same as 3.5 with
NET45-Releaseconfiguration
.NET Core
RELEASE_BUILD=false
VERSION_SUFFIX=
$ powershell buildscripts\Set-VersionInfo.ps1
$ build NETCORE
publish src\Castle.Core\bin\Release\netstandard1.3
publish src\Castle.Services.Logging.NLogIntegration\bin\Release\netstandard1.3
publish src\Castle.Services.Logging.SerilogIntegration\bin\Release\netstandard1.3
Mono (4.6.1)
RELEASE_BUILD=false
VERSION_SUFFIX=
$ xbuild /p:Configuration=NET45-Release /t:RunAllTests buildscripts/Build.proj
import nunit results build/NET45/NET45-Release/bin/test-results/nunit-results.xml
publish build/NET45/NET45-Release/bin/**/*
Pack
RELEASE_BUILD=%reverse.dep.*.env.release_build%
VERSION_SUFFIX=%reverse.dep.*.env.version_suffix%
$ powershell buildscripts\Set-VersionInfo.ps1
nuget pack
- spec:
buildscripts/Castle.Core.nuspec
buildscripts/Castle.Core-log4net.nuspec
buildscripts/Castle.Core-NLog.nuspec
buildscripts/Castle.Core-Serilog.nuspec
- properties:
Configuration=Release
CastleCoreVersion=%ReleaseVersion%
CurrentYear=%CurrentYear%
publish:
build/nuget/**
BreakingChanges.txt => Castle.Core.%ReleaseVersion%.zip
Changes.txt => Castle.Core.%ReleaseVersion%.zip
License.txt => Castle.Core.%ReleaseVersion%.zip
buildscripts/ASL - Apache Software Foundation License.txt => Castle.Core.%ReleaseVersion%.zip
buildscripts/readme.txt => Castle.Core.%ReleaseVersion%.zip
build/NET35/NET35-Release/pkg/bin/* => Castle.Core.%ReleaseVersion%.zip!/lib/net35
build/NET40/NET40-Release/pkg/bin/Castle.Core.* => Castle.Core.%ReleaseVersion%.zip!/lib/net40-client
build/NET40/NET40-Release/pkg/bin/Castle.Services.Logging.Log4netIntegration.* => Castle.Core.%ReleaseVersion%.zip!/lib/net40
build/NET40/NET40-Release/pkg/bin/Castle.Services.Logging.NLogIntegration.* => Castle.Core.%ReleaseVersion%.zip!/lib/net40-client
build/NET45/NET45-Release/pkg/bin/* => Castle.Core.%ReleaseVersion%.zip!/lib/net45
build/SL4/SL4-Release/pkg/bin/* => Castle.Core.%ReleaseVersion%.zip!/lib/sl4
build/SL5/SL5-Release/pkg/bin/* => Castle.Core.%ReleaseVersion%.zip!/lib/sl5
A custom "Pack" build has two fields you can manually specify:
release_build-checkbox checkedValue='true' description='Defines whether this build is intended for public release to NuGet (as either a prerelease or final version, rather than a CI build)' display='hidden' label='Release build' uncheckedValue='false'version_suffix-text description='Defines an optional version suffix (e.g. -beta001)' label='Version suffix' validationMode='any' display='hidden'
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels