-
Notifications
You must be signed in to change notification settings - Fork 2
/
azure-pipelines.yml
85 lines (74 loc) · 2.55 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
steps:
- task: DotNetCoreInstaller@0
displayName: 'Install .net core 5.0'
inputs:
version: '5.0.100'
- task: PowerShell@2
displayName: Generate Parser
inputs:
targetType: filePath
filePath: build-script/generate-parser.ps1
failOnStderr: true
- script: dotnet build source/fluentlang.sln --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: 'Run Tests $(buildConfiguration)'
inputs:
command: test
projects: '**/*Tests*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: Publish App
inputs:
command: publish
# Important: If you zip the publish, the GitHub Pages script will need to unzip it first
zipAfterPublish: false
arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifacts'
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)/WebIde
artifactName: 'Dist'
- script: |
git config --global user.name "$NAME"
git config --global user.email "$EMAIL"
cd $(Build.ArtifactStagingDirectory)/WebIde/wwwroot
git init
git checkout -b gh-pages
git add -A
git commit -m "Create build $(Build.BuildId)"
git push -f https://$PAT@github.com/YairHalberstadt/fluentlang.io.git gh-pages
displayName: 'Publish to GitHub Pages'
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
env:
PAT: $(GitHubPAT)
NAME: $(GitHubName)
EMAIL: $(GitHubEmail)
- task: DotNetCoreCLI@2
displayName: Nuget Pack
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
command: 'pack'
packagesToPack: '**/Runtime.csproj'
outputDir: '$(Build.ArtifactStagingDirectory)'
versioningScheme: byPrereleaseNumber
- task: DotNetCoreCLI@2
displayName: Nuget Push
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
command: custom
custom: nuget
arguments: >
push $(Build.ArtifactStagingDirectory)/**/*.nupkg $(Build.ArtifactStagingDirectory)/**/*.snupkg
-s https://api.nuget.org/v3/index.json
-k $(NuGetSourceServerApiKey)