96 lines
2.8 KiB
YAML
96 lines
2.8 KiB
YAML
trigger:
|
|
- master
|
|
- next
|
|
- version-*
|
|
|
|
stages:
|
|
- stage: generate
|
|
jobs:
|
|
- job: swagger_generate
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '16.x'
|
|
displayName: 'Install Node.js'
|
|
- task: CmdLine@2
|
|
inputs:
|
|
script: |
|
|
docker run --rm -v $(pwd):/local openapitools/openapi-generator-cli generate -i /local/swagger.yaml -g typescript-fetch -o /local/web/api --additional-properties=typescriptThreePlus=true,supportsES6=true,npmName=authentik-api,npmVersion=1.0.0
|
|
- task: PublishPipelineArtifact@1
|
|
inputs:
|
|
targetPath: 'web/api/'
|
|
artifact: 'ts_swagger_client'
|
|
publishLocation: 'pipeline'
|
|
- stage: lint
|
|
jobs:
|
|
- job: eslint
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '16.x'
|
|
displayName: 'Install Node.js'
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/api/"
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'install'
|
|
workingDir: 'web/'
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'custom'
|
|
workingDir: 'web/'
|
|
customCommand: 'run lint'
|
|
- job: lit_analyse
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '16.x'
|
|
displayName: 'Install Node.js'
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/api/"
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'install'
|
|
workingDir: 'web/'
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'custom'
|
|
workingDir: 'web/'
|
|
customCommand: 'run lit-analyse'
|
|
- stage: build_local
|
|
jobs:
|
|
- job: build
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '16.x'
|
|
displayName: 'Install Node.js'
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/api/"
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'install'
|
|
workingDir: 'web/'
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'custom'
|
|
workingDir: 'web/'
|
|
customCommand: 'run build'
|