authentik/outpost/azure-pipelines.yml

107 lines
3.5 KiB
YAML
Raw Normal View History

2020-09-02 23:04:12 +01:00
trigger:
- master
variables:
2021-01-25 19:51:01 +00:00
${{ 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/', '') }}
2020-09-02 23:04:12 +01:00
stages:
- stage: generate
jobs:
- job: swagger_generate
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.15'
- task: CmdLine@2
inputs:
script: |
2020-12-04 08:59:59 +00:00
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
echo "deb https://dl.bintray.com/go-swagger/goswagger-debian ubuntu main" | sudo tee /etc/apt/sources.list.d/goswagger.list
sudo apt update
sudo apt install swagger
mkdir -p $(go env GOPATH)
2020-12-05 21:08:42 +00:00
swagger generate client -f ../swagger.yaml -A authentik -t pkg/
2021-01-16 20:49:30 +00:00
workingDirectory: 'outpost/'
2020-09-02 23:04:12 +01:00
- task: PublishPipelineArtifact@1
inputs:
2021-01-16 20:49:30 +00:00
targetPath: 'outpost/pkg/'
2020-09-02 23:04:12 +01:00
artifact: 'swagger_client'
publishLocation: 'pipeline'
- stage: lint
jobs:
- job: golint
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.15'
- task: Go@0
inputs:
command: 'get'
arguments: '-u golang.org/x/lint/golint'
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'swagger_client'
2021-01-16 20:49:30 +00:00
path: "outpost/pkg/"
2020-09-02 23:04:12 +01:00
- task: CmdLine@2
inputs:
script: |
$(go list -f {{.Target}} golang.org/x/lint/golint) ./...
2021-01-16 20:49:30 +00:00
workingDirectory: 'outpost/'
- stage: proxy_build_go
2020-09-02 23:04:12 +01:00
jobs:
- job: build_go
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.15'
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'swagger_client'
2021-01-16 20:49:30 +00:00
path: "outpost/pkg/"
2020-09-02 23:04:12 +01:00
- task: Go@0
inputs:
command: 'build'
2021-01-16 20:49:30 +00:00
arguments: './cmd/proxy'
workingDirectory: 'outpost/'
- stage: proxy_build_docker
2020-09-02 23:04:12 +01:00
jobs:
2021-01-16 20:49:30 +00:00
- job: build
2020-09-02 23:04:12 +01:00
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.15'
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'swagger_client'
2021-01-16 20:49:30 +00:00
path: "outpost/pkg/"
- task: Bash@3
inputs:
targetType: 'inline'
script: |
set -x
branchName=$(echo "$(System.PullRequest.SourceBranch)" | sed "s/\//-/g")
echo "##vso[task.setvariable variable=branchName]$branchName"
2020-09-02 23:04:12 +01:00
- task: Docker@2
inputs:
containerRegistry: 'dockerhub'
repository: 'beryju/authentik-proxy'
2020-09-02 23:04:12 +01:00
command: 'buildAndPush'
2021-01-16 20:49:30 +00:00
Dockerfile: 'outpost/proxy.Dockerfile'
buildContext: 'outpost/'
2021-01-25 19:51:01 +00:00
tags: "gh-$(branchName)"