trigger:
batch: true
branches:
include:
- 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: generate_api
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.16.3'
- task: CmdLine@2
script: make gen-outpost
- task: PublishPipelineArtifact@1
targetPath: 'outpost/api/'
artifact: 'go_api_client'
publishLocation: 'pipeline'
- stage: lint
- job: golint
- task: DownloadPipelineArtifact@2
buildType: 'current'
artifactName: 'go_api_client'
path: "outpost/api/"
script: |
docker run \
--rm \
-v $(pwd):/app \
-w /app \
golangci/golangci-lint:v1.39.0 \
golangci-lint run -v --timeout 200s
workingDirectory: 'outpost/'
- stage: build_docker
- job: proxy_build_docker
- task: Bash@3
targetType: 'inline'
python ./scripts/az_do_set_branch.py
- task: Docker@2
containerRegistry: 'beryjuorg-harbor'
repository: 'authentik/outpost-proxy'
command: 'build'
Dockerfile: 'outpost/proxy.Dockerfile'
buildContext: '$(Build.SourcesDirectory)'
tags: |
gh-$(branchName)
gh-$(branchName)-$(timestamp)
gh-$(Build.SourceVersion)
arguments: '--build-arg GIT_BUILD_HASH=$(Build.SourceVersion)'
command: 'push'
- job: ldap_build_docker
repository: 'authentik/outpost-ldap'
Dockerfile: 'outpost/ldap.Dockerfile'