-
Notifications
You must be signed in to change notification settings - Fork 288
/
Copy pathci.yml
90 lines (78 loc) · 3.04 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# This template will generate a list of jobs that will run. The
# jobs created will correspond to the cross product of the
# vmImages and goVersions specified by the parameters.
parameters:
goVersions: []
vmImages: []
maxParallel: 1
jobs:
- job: build
timeoutInMinutes: 600
displayName: "Build: "
# Build on each combination of supported OS and Go version
strategy:
maxParallel: ${{ parameters.maxParallel }}
matrix:
${{ each goVersion in parameters.goVersions }}:
${{ each vmImage in parameters.vmImages }}:
OS_${{ vmImage.ymlSafeName }}_GO_${{ goVersion.ymlSafeName }}:
vmImage: ${{ vmImage.value }}
goVersion: ${{ goVersion.value }}
pool:
vmImage: $(vmImage)
steps:
- task: GoTool@0
displayName: "Install correct version of Go"
inputs:
version: $(goVersion)
GOPATH: "$(Pipeline.Workspace)/gopath"
GOBIN: "$(GOPATH)/bin"
- bash: |
#!/usr/bin/env bash
cd "$BUILD_SOURCESDIRECTORY"
make tools
displayName: "Install Dependencies"
- bash: |
#!/usr/bin/env bash
cd "$BUILD_SOURCESDIRECTORY"
make check-vendor-vs-mod
displayName: "Verify Vendored Dependencies"
- bash: |
#!/usr/bin/env bash
cd "$BUILD_SOURCESDIRECTORY"
make fmtcheck
displayName: "Run Format Check"
- bash: |
#!/usr/bin/env bash
cd "$BUILD_SOURCESDIRECTORY"
./scripts/terrafmt.sh
displayName: "Run Terrafmt"
- bash: |
#!/usr/bin/env bash
cd "$BUILD_SOURCESDIRECTORY"
make lint
displayName: "Run Lint Check"
- ${{ if eq(parameters.unitTest, true) }}:
- bash: |
#!/usr/bin/env bash
go version
cd "$BUILD_SOURCESDIRECTORY"
make test
displayName: "Run Unit Tests"
- ${{ if eq(parameters.accTest, true) }}:
- bash: |
#!/usr/bin/env bash
cd "$BUILD_SOURCESDIRECTORY"
make testacc
displayName: "Run All Tests"
env:
AZDO_ORG_SERVICE_URL: $(ACC_TEST_AZDO_ORG_URL)
AZDO_PERSONAL_ACCESS_TOKEN: $(ACC_TEST_AZDO_PAT)
AZDO_GITHUB_SERVICE_CONNECTION_PAT: $(ACC_TEST_GH_PAT)
AZDO_DOCKERREGISTRY_SERVICE_CONNECTION_USERNAME: $(AZDO_DOCKERREGISTRY_SERVICE_CONNECTION_USERNAME)
AZDO_DOCKERREGISTRY_SERVICE_CONNECTION_EMAIL: $(AZDO_DOCKERREGISTRY_SERVICE_CONNECTION_EMAIL)
AZDO_DOCKERREGISTRY_SERVICE_CONNECTION_PASSWORD: $(AZDO_DOCKERREGISTRY_SERVICE_CONNECTION_PASSWORD)
AZDO_BITBUCKET_SERVICE_CONNECTION_USERNAME: $(AZDO_BITBUCKET_SERVICE_CONNECTION_USERNAME)
AZDO_BITBUCKET_SERVICE_CONNECTION_PASSWORD: $(AZDO_BITBUCKET_SERVICE_CONNECTION_PASSWORD)
AZDO_GENERIC_GIT_SERVICE_CONNECTION_USERNAME: username
AZDO_GENERIC_GIT_SERVICE_CONNECTION_PASSWORD: $(ACC_TEST_AZDO_PAT)