2852fa3c5e
* api: fix types for config API * api: remove broken swagger UI * admin: re-fix system task enum * events: make event optional * events: fix Schema for notification transport test * flows: use APIView for Flow Executor * core: fix schema for Metrics APIs * web: rewrite to use generated API client * web: generate API Client in CI * admin: use x_cord and y_cord to prevent yaml issues * events: fix linting errors * web: don't lint generated code * core: fix fields not being required in TypeSerializer * flows: fix missing permission_classes * web: cleanup * web: fix rendering of graph on Overview page * web: cleanup imports * core: fix missing background image filter * flows: fix flows not advancing properly * stages/*: fix warnings during get_challenge * web: send Flow response as JSON instead of FormData * web: fix styles for horizontal tabs * web: add base chart class and custom chart for application view * root: generate ts client for e2e tests * web: don't attempt to connect to websocket in selenium tests * web: fix UserTokenList not being included in the build * web: fix styling for static token list * web: fix CSRF Token missing * stages/authenticator_static: fix error when disable static tokens * core: fix display issue when updating user info * web: fix Flow executor not showing spinner when redirecting
126 lines
3.8 KiB
YAML
126 lines
3.8 KiB
YAML
trigger:
|
|
- master
|
|
- next
|
|
- version-*
|
|
|
|
variables:
|
|
${{ if startsWith(variables['Build.SourceBranch'], 'refs/pull/') }}:
|
|
branchName: ${{ replace(variables['System.PullRequest.SourceBranch'], '/', '-') }}
|
|
${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/') }}:
|
|
branchName: ${{ replace(variables['Build.SourceBranchName'], 'refs/heads/', '') }}
|
|
|
|
stages:
|
|
- stage: generate
|
|
jobs:
|
|
- job: swagger_generate
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '12.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/src/api --additional-properties=typescriptThreePlus=true
|
|
- task: PublishPipelineArtifact@1
|
|
inputs:
|
|
targetPath: 'web/src/api/'
|
|
artifact: 'ts_swagger_client'
|
|
publishLocation: 'pipeline'
|
|
- stage: lint
|
|
jobs:
|
|
- job: eslint
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '12.x'
|
|
displayName: 'Install Node.js'
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/src/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: '12.x'
|
|
displayName: 'Install Node.js'
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/src/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: '12.x'
|
|
displayName: 'Install Node.js'
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/src/api/"
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'install'
|
|
workingDir: 'web/'
|
|
- task: Npm@1
|
|
inputs:
|
|
command: 'custom'
|
|
workingDir: 'web/'
|
|
customCommand: 'run build'
|
|
- stage: build_docker
|
|
jobs:
|
|
- job: build_static
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
artifactName: 'ts_swagger_client'
|
|
path: "web/src/api/"
|
|
- task: Bash@3
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
python ./scripts/az_do_set_branch.py
|
|
- task: Docker@2
|
|
inputs:
|
|
containerRegistry: 'beryjuorg-harbor'
|
|
repository: 'authentik/static'
|
|
command: 'buildAndPush'
|
|
Dockerfile: 'web/Dockerfile'
|
|
tags: "gh-$(branchName)"
|
|
buildContext: 'web/'
|