Nuget Package Publishes (#14)
This commit is contained in:
parent
5116dee35a
commit
f308aeb929
|
@ -29,7 +29,18 @@ jobs:
|
||||||
with:
|
with:
|
||||||
node-version: 12.x
|
node-version: 12.x
|
||||||
- run: npm ci
|
- run: npm ci
|
||||||
- run: npm run build:ci
|
- run: npm run build:contracts
|
||||||
|
- name: Restore Build Cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: .cache
|
||||||
|
key: ${{ runner.os }}-build-cache
|
||||||
|
- run: npm run pack:prod
|
||||||
|
- run: npm run copyToConsumers
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: dist
|
||||||
|
path: dist/
|
||||||
endtoend:
|
endtoend:
|
||||||
name: "End to End Tests"
|
name: "End to End Tests"
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
@ -40,6 +51,11 @@ jobs:
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 12.x
|
node-version: 12.x
|
||||||
|
- name: Restore Cypress Binary Cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/Cypress
|
||||||
|
key: ${{ runner.os }}-cypress-binary-cache
|
||||||
- name: End to End Tests
|
- name: End to End Tests
|
||||||
run: |
|
run: |
|
||||||
npm ci
|
npm ci
|
||||||
|
@ -50,3 +66,47 @@ jobs:
|
||||||
env:
|
env:
|
||||||
EMULATOR_ENDPOINT: https://0.0.0.0:8081/
|
EMULATOR_ENDPOINT: https://0.0.0.0:8081/
|
||||||
NODE_TLS_REJECT_UNAUTHORIZED: 0
|
NODE_TLS_REJECT_UNAUTHORIZED: 0
|
||||||
|
CYPRESS_CACHE_FOLDER: ~/.cache/Cypress
|
||||||
|
nuget:
|
||||||
|
name: Publish Nuget
|
||||||
|
needs: [build, test, endtoend]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
NUGET_SOURCE: ${{ secrets.NUGET_SOURCE }}
|
||||||
|
AZURE_DEVOPS_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
|
||||||
|
steps:
|
||||||
|
- uses: nuget/setup-nuget@v1
|
||||||
|
with:
|
||||||
|
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
|
||||||
|
- name: Download Dist Folder
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: dist
|
||||||
|
- run: nuget sources add -Name "ADO" -Source "$NUGET_SOURCE" -UserName "GitHub" -Password "$AZURE_DEVOPS_PAT"
|
||||||
|
- run: nuget pack -Version "2.0.0-github-${GITHUB_SHA}"
|
||||||
|
- run: nuget push -Source "$NUGET_SOURCE" -ApiKey Az *.nupkg
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
path: "*.nupkg"
|
||||||
|
nugetmpac:
|
||||||
|
name: Publish Nuget MPAC
|
||||||
|
needs: [build, test, endtoend]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
NUGET_SOURCE: ${{ secrets.NUGET_SOURCE }}
|
||||||
|
AZURE_DEVOPS_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
|
||||||
|
steps:
|
||||||
|
- uses: nuget/setup-nuget@v1
|
||||||
|
with:
|
||||||
|
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
|
||||||
|
- name: Download Dist Folder
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: dist
|
||||||
|
- run: sed -i 's/Azure.Cosmos.DB.Data.Explorer/Azure.Cosmos.DB.Data.Explorer.MPAC/g' DataExplorer.nuspec
|
||||||
|
- run: nuget sources add -Name "ADO" -Source "$NUGET_SOURCE" -UserName "GitHub" -Password "$AZURE_DEVOPS_PAT"
|
||||||
|
- run: nuget pack -Version "2.0.0-github-${GITHUB_SHA}"
|
||||||
|
- run: nuget push -Source "$NUGET_SOURCE" -ApiKey Az *.nupkg
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
path: "*.nupkg"
|
||||||
|
|
|
@ -1,211 +0,0 @@
|
||||||
trigger:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
- "*"
|
|
||||||
paths:
|
|
||||||
include:
|
|
||||||
- "*"
|
|
||||||
exclude:
|
|
||||||
- Product/Portal/CapacityCalculator/*
|
|
||||||
- Product/Portal/DefaultConsistency/*
|
|
||||||
pool:
|
|
||||||
vmImage: "windows-latest"
|
|
||||||
jobs:
|
|
||||||
- job: FormatLintCompile
|
|
||||||
displayName: "Format/Lint/Compile"
|
|
||||||
steps:
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Install Dependencies"
|
|
||||||
inputs:
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Format"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run format:check"
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Lint"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run lint"
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Compile"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run compile"
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Compile Strict Mode Files"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run compile:strict"
|
|
||||||
- job: EndToEndTests
|
|
||||||
displayName: "End to End Tests"
|
|
||||||
steps:
|
|
||||||
- powershell: |
|
|
||||||
Write-Host "Starting Comsos DB Emulator"
|
|
||||||
Start-Process "$env:ProgramFiles\Azure Cosmos DB Emulator\CosmosDB.Emulator.exe" "/NoUI /DisableRateLimiting" -Verb RunAs
|
|
||||||
displayName: "Start Emulator"
|
|
||||||
- bash: |
|
|
||||||
npm ci --prefix ./Product/Portal/DataExplorer
|
|
||||||
npm start --prefix ./Product/Portal/DataExplorer &
|
|
||||||
npm ci --prefix ./Product/Portal/DataExplorer/cypress
|
|
||||||
npm run test:ci --prefix ./Product/Portal/DataExplorer/cypress -- --spec ./integration/dataexplorer/ci-tests/createDatabase.spec.ts
|
|
||||||
displayName: "Start Server and Run Tests"
|
|
||||||
env:
|
|
||||||
EMULATOR_ENDPOINT: https://0.0.0.0:8081/
|
|
||||||
NODE_TLS_REJECT_UNAUTHORIZED: 0
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: "Publish Screenshots"
|
|
||||||
inputs:
|
|
||||||
targetPath: $(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer/cypress/cypress/screenshots
|
|
||||||
artifactName: e2e-screenshots
|
|
||||||
condition: failed()
|
|
||||||
continueOnError: true
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: "Publish Videos"
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer/cypress/cypress/videos
|
|
||||||
artifactName: e2e-videos
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
continueOnError: true
|
|
||||||
- job: UnitTests
|
|
||||||
displayName: "Unit Tests"
|
|
||||||
steps:
|
|
||||||
- task: NodeTool@0
|
|
||||||
displayName: "Use Node 12.x"
|
|
||||||
inputs:
|
|
||||||
versionSpec: 12.x
|
|
||||||
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Install Dependencies"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: "$(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer"
|
|
||||||
verbose: false
|
|
||||||
customCommand: "ci"
|
|
||||||
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Run Unit Tests"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: "$(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer"
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run test"
|
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
|
||||||
displayName: "Publish Test Results"
|
|
||||||
inputs:
|
|
||||||
testResultsFormat: VSTest
|
|
||||||
testResultsFiles: "**/*.trx"
|
|
||||||
mergeTestResults: true
|
|
||||||
testRunTitle: "Check-in Tests"
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
|
|
||||||
- task: PublishCodeCoverageResults@1
|
|
||||||
displayName: "Publish Code Coverage Report"
|
|
||||||
inputs:
|
|
||||||
codeCoverageTool: Cobertura
|
|
||||||
summaryFileLocation: "$(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer/coverage/cobertura-coverage.xml"
|
|
||||||
pathToSources: "$(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer"
|
|
||||||
reportDirectory: "$(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer/coverage/html"
|
|
||||||
- job: Build
|
|
||||||
steps:
|
|
||||||
- task: Cache@2
|
|
||||||
inputs:
|
|
||||||
key: 'dataexplorer | "$(Agent.OS)" |'
|
|
||||||
restoreKeys: 'dataexplorer | "$(Agent.OS)" |'
|
|
||||||
path: $(System.DefaultWorkingDirectory)/Product/Portal/DataExplorer/.cache
|
|
||||||
displayName: Restore Build Caches
|
|
||||||
- task: NodeTool@0
|
|
||||||
displayName: "Use Node 12.x"
|
|
||||||
inputs:
|
|
||||||
versionSpec: 12.x
|
|
||||||
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Install Dependencies"
|
|
||||||
inputs:
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Build Contracts"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run build:contracts"
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Bundle - Production"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run pack:prod"
|
|
||||||
- task: Npm@1
|
|
||||||
displayName: "Copy Output Files to Consumers"
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
workingDir: 'Product\Portal\DataExplorer'
|
|
||||||
verbose: false
|
|
||||||
customCommand: "run copyToConsumers"
|
|
||||||
- powershell: |
|
|
||||||
$GitCommitSHA = $env:BUILD_SOURCEVERSION
|
|
||||||
$NuspecPath = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY"
|
|
||||||
$VersionToReplace = "0.0.1-preview"
|
|
||||||
((Get-Content -path "$NuspecPath\DataExplorer.nuspec" -Raw) -replace $VersionToReplace ,("1.2.0-$GitCommitSHA")) | Set-Content -Path "$NuspecPath\DataExplorer.nuspec"
|
|
||||||
cat "$NuspecPath\DataExplorer.nuspec"
|
|
||||||
displayName: "Bump Package Version"
|
|
||||||
continueOnError: true
|
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
|
||||||
displayName: "Create NuGet package"
|
|
||||||
inputs:
|
|
||||||
command: pack
|
|
||||||
packagesToPack: "$(Build.ArtifactStagingDirectory)/**/*.nuspec"
|
|
||||||
packDestination: '$(Build.ArtifactStagingDirectory)\NuGet'
|
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
|
||||||
displayName: "NuGet push"
|
|
||||||
inputs:
|
|
||||||
command: push
|
|
||||||
publishVstsFeed: "4e0718b3-a885-4d77-b8c2-09bb2f6eecec"
|
|
||||||
allowPackageConflicts: true
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
$NuspecPath = "$env:BUILD_ARTIFACTSTAGINGDIRECTORY"
|
|
||||||
$PackageId= "Azure.Cosmos.DB.Data.Explorer"
|
|
||||||
((Get-Content -path "$NuspecPath\DataExplorer.nuspec" -Raw) -replace $PackageId,("$PackageId.MPAC")) | Set-Content -Path "$NuspecPath\DataExplorer.nuspec"
|
|
||||||
cat "$NuspecPath\DataExplorer.nuspec"
|
|
||||||
displayName: "Create MPAC nuspec"
|
|
||||||
continueOnError: true
|
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
|
||||||
displayName: "Create NuGet MPAC package "
|
|
||||||
inputs:
|
|
||||||
command: pack
|
|
||||||
packagesToPack: "$(Build.ArtifactStagingDirectory)/**/*.nuspec"
|
|
||||||
packDestination: '$(Build.ArtifactStagingDirectory)\NuGet'
|
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
|
||||||
displayName: "NuGet push MPAC"
|
|
||||||
inputs:
|
|
||||||
command: push
|
|
||||||
publishVstsFeed: "4e0718b3-a885-4d77-b8c2-09bb2f6eecec"
|
|
||||||
allowPackageConflicts: true
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: "Publish Artifact: DataExplorer NuGet"
|
|
||||||
inputs:
|
|
||||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)\NuGet'
|
|
||||||
ArtifactName: DataExplorerNuGet
|
|
Loading…
Reference in New Issue