authentik/azure-pipelines.yml

198 lines
5.6 KiB
YAML
Raw Normal View History

trigger:
2020-05-28 18:15:18 +01:00
- master
resources:
2020-05-28 18:15:18 +01:00
- repo: self
variables:
2020-05-28 18:15:18 +01:00
POSTGRES_DB: passbook
POSTGRES_USER: passbook
POSTGRES_PASSWORD: "EK-5jnKfjrGRm<77"
stages:
2020-05-28 18:15:18 +01:00
- stage: Lint
jobs:
- job: pylint
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
- task: CmdLine@2
inputs:
script: pipenv run pylint passbook
- job: black
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
- task: CmdLine@2
inputs:
script: pipenv run black --check passbook
- job: prospector
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
pipenv install --dev prospector --skip-lock
- task: CmdLine@2
inputs:
2020-05-28 18:29:28 +01:00
script: pipenv run prospector passbook
2020-05-28 18:15:18 +01:00
- job: bandit
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
- task: CmdLine@2
inputs:
script: pipenv run bandit -r passbook
- job: pyright
pool:
vmImage: ubuntu-latest
steps:
- task: UseNode@1
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: CmdLine@2
inputs:
script: npm install -g pyright
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
- task: CmdLine@2
inputs:
script: pipenv run pyright
2020-05-28 18:29:28 +01:00
- stage: Test
jobs:
- job: migrations
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: DockerCompose@0
displayName: Run services
inputs:
dockerComposeFile: 'scripts/docker-compose.yml'
action: 'Run services'
buildImages: false
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
- task: CmdLine@2
inputs:
script: pipenv run ./manage.py migrate
- job: coverage
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.8'
- task: DockerCompose@0
displayName: Run services
inputs:
dockerComposeFile: 'scripts/docker-compose.yml'
action: 'Run services'
buildImages: false
- task: CmdLine@2
inputs:
script: |
sudo pip install -U wheel pipenv
pipenv install --dev
- task: CmdLine@2
inputs:
script: pipenv run ./scripts/coverage.sh
- task: CmdLine@2
inputs:
script: pipenv run coverage xml
- task: CmdLine@2
env:
CODECOV_TOKEN: $(CODECOV_TOKEN)
2020-05-28 18:29:28 +01:00
inputs:
script: bash <(curl -s https://codecov.io/bash)
2020-05-28 18:44:25 +01:00
- stage: Build
jobs:
2020-05-28 18:46:10 +01:00
- job: build_server
2020-05-28 18:44:25 +01:00
pool:
vmImage: 'ubuntu-latest'
2020-05-28 20:00:30 +01:00
steps:
- task: Docker@2
inputs:
containerRegistry: 'dockerhub'
repository: 'beryju/passbook'
command: 'buildAndPush'
Dockerfile: 'Dockerfile'
tags: '$(Build.SourceBranchName)'
2020-05-28 18:46:10 +01:00
- job: build_gatekeeper
2020-05-28 18:44:25 +01:00
pool:
vmImage: 'ubuntu-latest'
2020-05-28 20:00:30 +01:00
steps:
- task: CmdLine@2
inputs:
script: cd gatekeeper
- task: Docker@2
inputs:
containerRegistry: 'dockerhub'
repository: 'beryju/passbook-gatekeeper'
command: 'buildAndPush'
Dockerfile: 'Dockerfile'
tags: '$(Build.SourceBranchName)'
2020-05-28 18:46:10 +01:00
- job: build_static
2020-05-28 18:44:25 +01:00
pool:
vmImage: 'ubuntu-latest'
2020-05-28 20:00:30 +01:00
steps:
- task: DockerCompose@0
displayName: Run services
inputs:
dockerComposeFile: 'scripts/docker-compose.yml'
action: 'Run services'
buildImages: false
- task: Docker@2
inputs:
containerRegistry: 'dockerhub'
repository: 'beryju/passbook-static'
2020-05-29 08:43:00 +01:00
command: 'build'
Dockerfile: 'static.Dockerfile'
2020-05-28 20:00:30 +01:00
tags: '$(Build.SourceBranchName)'
arguments: "--network=beryjupassbook_default"
2020-05-29 08:43:00 +01:00
- task: Docker@2
inputs:
containerRegistry: 'dockerhub'
repository: 'beryju/passbook-static'
command: 'push'
tags: '$(Build.SourceBranchName)'