trigger: - master 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: lint jobs: - job: eslint pool: vmImage: 'ubuntu-latest' steps: - task: NodeTool@0 inputs: versionSpec: '12.x' displayName: 'Install Node.js' - 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: 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: 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: Bash@3 inputs: targetType: 'inline' script: | set -x branchName=$(echo "$(System.PullRequest.SourceBranch)" | sed "s/\//-/g") echo "##vso[task.setvariable variable=branchName]$branchName" - task: Docker@2 inputs: containerRegistry: 'dockerhub' repository: 'beryju/authentik-static' command: 'buildAndPush' Dockerfile: 'web/Dockerfile' tags: "gh-$(branchName)" buildContext: 'web/'