elsa-core/appveyor.yml
2021-03-17 22:56:37 +01:00

122 lines
3.5 KiB
YAML

image: Previous Visual Studio 2019
environment:
nodejs_version: "11"
# AppVeyor installs Java on its build agents by default, but it
# picks an old version that's not compatible with SonarQube.
# This brings it up to date.
JAVA_HOME: "C:\\Program Files\\Java\\jdk13"
sonarcloud_org_name: elsa-workflows
sonarcloud_project_name: elsa-workflows_elsa-core
sonarcloud_api_key:
secure: qaE9kOVkGGFM7ZMf3YeliZxDU9udTCy6W5xXHJ9T+tXv5qXPMYlIdR7hyNgxW04A
docker_user:
secure: 8HsbQtQbUTeYHTl9t49uwQ==
docker_pass:
secure: mpp6dyL1U47aXSuO1TA4lBVDkPSVejyiVK0eJ+NPm3M=
version: 2.0.0-preview7.{build}
services:
- mongodb
init:
- cmd: git config --global core.autocrlf true
pull_requests:
do_not_increment_build_number: true
dotnet_csproj:
patch: true
file: '**\*.csproj'
version: '{version}'
version_prefix: '{version}'
package_version: '{version}'
assembly_version: '{version}'
file_version: '{version}'
informational_version: '{version}'
cache:
- src\dashboards\blazor\ElsaDashboard.Application\node_modules
- '%APPDATA%\npm-cache'
install:
- docker version
- ps: >-
Install-Product node $env:nodejs_version
cd .\src\dashboards\blazor\ElsaDashboard.Application
npm install --force
cd ..\..\..\..\
dotnet tool install --global dotnet-sonarscanner
before_build:
- ps: >-
if(-Not $env:APPVEYOR_PULL_REQUEST_NUMBER) {
& dotnet-sonarscanner begin
/k:$env:sonarcloud_project_name
/v:AppVeyor_build_$env:APPVEYOR_BUILD_VERSION
/o:$env:sonarcloud_org_name
/s:$env:APPVEYOR_BUILD_FOLDER\.SonarQube.Analysis.xml
/d:sonar.host.url="https://sonarcloud.io"
/d:sonar.login=$env:sonarcloud_api_key
/d:sonar.cs.xunit.reportsPaths=$env:APPVEYOR_BUILD_FOLDER\**\TestResults\TestResults.xml
/d:sonar.cs.opencover.reportsPaths=$env:APPVEYOR_BUILD_FOLDER\**\TestResults\*\coverage.opencover.xml
/d:sonar.branch.name=$env:APPVEYOR_REPO_BRANCH
}
build_script:
- docker build -t elsaworkflows/elsadashboard-samples-monolith -f ./docker/ElsaDashboard.Samples.Monolith.Dockerfile .
- ps: >-
cd .\src\dashboards\blazor\ElsaDashboard.Application
npm run build:css
cd .\src\designer\bindings\blazor\Elsa.Designer.Bindings.Blazor
npm run build
cd ..\..\..\..\
dotnet build
test_script:
- ps: dotnet test --collect:"XPlat Code Coverage" --logger:xunit -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover
after_test:
- ps: >-
if(-Not $env:APPVEYOR_PULL_REQUEST_NUMBER) {
& dotnet-sonarscanner end /d:sonar.login=$env:sonarcloud_api_key
}
dotnet pack Elsa.sln --include-symbols /p:Version="$env:APPVEYOR_BUILD_VERSION"
artifacts:
- path: '**/*.nupkg'
name: Packages
- path: '**/TestResults/TestResults.xml'
deploy:
# Deploy to MyGet on every build (in the appropriate branch)
- provider: NuGet
server: https://www.myget.org/F/elsa-2/api/v2/package
api_key:
secure: JfESkwmLdWU7dzvoqKPUfMemb00wX8AEYxeHCsYWTX1LfTeECdmKdZxz7IVUpebb
skip_symbols: true
on:
branch: feature/elsa-2.0
# Deploy to NuGet on builds from tags only
- provider: NuGet
api_key:
secure: WC5CCcM5ksWOJbv925FNjv91KsfqHfwEe0A61FMNB27IxvttwJsvBC9XYwK+wQnp
skip_symbols: true
on:
APPVEYOR_REPO_TAG: true
deploy_script:
- docker login -u="$env:docker_user" -p="$env:docker_pass"
- docker push elsaworkflows/elsadashboard-samples-monolith