diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 23402e427df..898fd79beaf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,3 +1,61 @@ -pool: MyAgentPool +trigger: +- '*' + +pool: + vmImage: ubuntu-latest + +variables: + buildConfiguration: 'Release' + wwwrootDir: 'Tailspin.SpaceGame.Web/wwwroot' + dotnetSdkVersion: '8.x' + steps: -- bash: echo hello world \ No newline at end of file +- task: UseDotNet@2 + displayName: 'Use .NET SDK $(dotnetSdkVersion)' + inputs: + version: '$(dotnetSdkVersion)' + +- task: Npm@1 + displayName: 'Run npm install' + inputs: + verbose: false + +# Replace node-sass with sass compilation +- script: | + npx sass $(wwwrootDir):$(wwwrootDir) --no-source-map --style=compressed + displayName: 'Compile Sass assets' + workingDirectory: $(System.DefaultWorkingDirectory) + +- task: gulp@1 + displayName: 'Run gulp tasks' + +- script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt' + displayName: 'Write build info' + workingDirectory: $(wwwrootDir) + +- task: DotNetCoreCLI@2 + displayName: 'Restore project dependencies' + inputs: + command: 'restore' + projects: '**/*.csproj' + +- template: templates/build.yml + parameters: + buildConfiguration: 'Debug' + +- template: templates/build.yml + parameters: + buildConfiguration: 'Release' + +- task: DotNetCoreCLI@2 + displayName: 'Publish the project - $(buildConfiguration)' + inputs: + command: 'publish' + projects: '**/*.csproj' + publishWebProjects: false + arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/$(buildConfiguration)' + zipAfterPublish: true + +- task: PublishBuildArtifacts@1 + displayName: 'Publish Artifact: drop' + condition: succeeded() \ No newline at end of file diff --git a/package.json b/package.json index 7a7e91aea3c..be600c6bc4e 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "gulp-clean-css": "^4.2.0", "gulp-concat": "2.6.1", "gulp-uglify": "3.0.0", - "node-sass": "^7.0.1", + "sass": "^1.72.0", "rimraf": "2.6.1" } } diff --git a/templates/build.yml b/templates/build.yml new file mode 100644 index 00000000000..15ca39ca575 --- /dev/null +++ b/templates/build.yml @@ -0,0 +1,19 @@ +parameters: + buildConfiguration: 'Release' + +steps: +- task: DotNetCoreCLI@2 + displayName: 'Build the project - ${{ parameters.buildConfiguration }}' + inputs: + command: 'build' + arguments: '--no-restore --configuration ${{ parameters.buildConfiguration }}' + projects: '**/*.csproj' + +- task: DotNetCoreCLI@2 + displayName: 'Publish the project - ${{ parameters.buildConfiguration }}' + inputs: + command: 'publish' + projects: '**/*.csproj' + publishWebProjects: false + arguments: '--no-build --configuration ${{ parameters.buildConfiguration }} --output $(Build.ArtifactStagingDirectory)/${{ parameters.buildConfiguration }}' + zipAfterPublish: true \ No newline at end of file