86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
trigger:
 | 
						|
  - master
 | 
						|
 | 
						|
variables:
 | 
						|
  ${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/') }}:
 | 
						|
    branchName: ${{ replace(variables['Build.SourceBranchName'], 'refs/heads/', '') }}
 | 
						|
  ${{ if startsWith(variables['Build.SourceBranch'], 'refs/pull/') }}:
 | 
						|
    branchName: $(System.PullRequest.SourceBranch)
 | 
						|
 | 
						|
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
 | 
						|
              echo '##vso[task.setvariable variable=branchName]$(echo "$(System.PullRequest.SourceBranch)" | sed "s/\//-/g")'
 | 
						|
        - task: Docker@2
 | 
						|
          inputs:
 | 
						|
            containerRegistry: 'dockerhub'
 | 
						|
            repository: 'beryju/authentik-static'
 | 
						|
            command: 'buildAndPush'
 | 
						|
            Dockerfile: 'web/Dockerfile'
 | 
						|
            tags: "gh-${{ variables.branchName }}"
 | 
						|
            buildContext: 'web/'
 |