-
Notifications
You must be signed in to change notification settings - Fork 40
/
Copy pathazure-pipelines.yml
153 lines (143 loc) · 5.99 KB
/
azure-pipelines.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
parameters:
- name: github_release
displayName: Create Github Release
type: boolean
default: false
- name: dockerhub_release
displayName: Create Dockerhub Release
type: boolean
default: false
stages:
- stage: Generate_toolchain
jobs:
- job: aarch64_gcc_10_5_0_glibc_2_28
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
config: aarch64-gcc-10.5.0-glibc-2.28.config
arch: arm64
tuple: aarch64-linux-gnu
pkg: aarch64-linux-gnu-glibc-2.28-gcc-10.5.0
- job: aarch64_gcc_8_5_0_glibc_2_28
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
config: aarch64-gcc-8.5.0-glibc-2.28.config
arch: arm64
tuple: aarch64-linux-gnu
pkg: aarch64-linux-gnu-glibc-2.28-gcc-8.5.0
- job: x86_64_gcc_10_5_0_glibc_2_28
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
config: x86_64-gcc-10.5.0-glibc-2.28.config
arch: amd64
tuple: x86_64-linux-gnu
pkg: x86_64-linux-gnu-glibc-2.28-gcc-10.5.0
- job: x86_64_gcc_8_5_0_glibc_2_28
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
config: x86_64-gcc-8.5.0-glibc-2.28.config
arch: amd64
tuple: x86_64-linux-gnu
pkg: x86_64-linux-gnu-glibc-2.28-gcc-8.5.0
- job: armhf_gcc_10_5_0_glibc_2_28
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
arch: armhf
config: armhf-gcc-10.5.0-glibc-2.28.config
tuple: arm-rpi-linux-gnueabihf
pkg: arm-rpi-linux-gnueabihf-glibc-2.28-gcc-10.5.0
- job: armhf_gcc_8_5_0_glibc_2_28
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
arch: armhf
config: armhf-gcc-8.5.0-glibc-2.28.config
tuple: arm-rpi-linux-gnueabihf
pkg: arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0
- ${{ if parameters.github_release }}:
- stage: Release_toolchain
dependsOn:
- Generate_toolchain
pool:
vmImage: 'ubuntu-latest'
jobs:
- job: Publish_to_Github
variables:
currentDate: $[ format('{0:yyyy}{0:MM}{0:dd}', pipeline.startTime) ]
steps:
- download: current
patterns: |
**/*.tar.gz
- script: cp $(Pipeline.Workspace)/x86_64-linux-gnu-glibc-2.28-gcc-10.5.0/x86_64-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz $(Build.ArtifactStagingDirectory)/x86_64-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz
displayName: Copy x86_64 glibc 2.28 gcc 10.5.0 toolchain
- script: cp $(Pipeline.Workspace)/aarch64-linux-gnu-glibc-2.28-gcc-10.5.0/aarch64-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz $(Build.ArtifactStagingDirectory)/aarch64-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz
displayName: Copy aarch64 glibc 2.28 gcc 10.5.0 toolchain
- script: cp $(Pipeline.Workspace)/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-10.5.0/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-10.5.0.tar.gz $(Build.ArtifactStagingDirectory)/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-10.5.0.tar.gz
displayName: Copy armhf glibc 2.28 gcc 10.5.0 toolchain
- script: cp $(Pipeline.Workspace)/x86_64-linux-gnu-glibc-2.28-gcc-8.5.0/x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz $(Build.ArtifactStagingDirectory)/x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz
displayName: Copy x86_64 glibc 2.28 gcc 8.5.0 toolchain
- script: cp $(Pipeline.Workspace)/aarch64-linux-gnu-glibc-2.28-gcc-8.5.0/aarch64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz $(Build.ArtifactStagingDirectory)/aarch64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz
displayName: Copy aarch64 glibc 2.28 gcc 8.5.0 toolchain
- script: cp $(Pipeline.Workspace)/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0.tar.gz $(Build.ArtifactStagingDirectory)/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0.tar.gz
displayName: Copy armhf glibc 2.28 gcc 8.5.0 toolchain
- script: (cd $(Build.ArtifactStagingDirectory) ; shasum -a 256 *.tar.gz) > $(Build.ArtifactStagingDirectory)/SHASUMS256.txt
displayName: Compute checksums
- task: GithubRelease@1
displayName: Create GitHub Release
inputs:
gitHubConnection: oauth
repositoryName: microsoft/vscode-linux-build-agent
action: create
addChangeLog: false
tagSource: userSpecifiedTag
tag: v$(currentDate)-$(Build.BuildId)
- stage: Containers
dependsOn: []
jobs:
- job: alpine_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build-containers.yml
parameters:
arch: alpine-x64
release: ${{ parameters.dockerhub_release }}
- job: alpine_arm64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build-containers.yml
parameters:
qemu: 'true'
arch: alpine-arm64
release: ${{ parameters.dockerhub_release }}
#- job: snapcraft_x64
# pool:
# vmImage: 'ubuntu-latest'
# steps:
# - template: build-containers.yml
# parameters:
# arch: snapcraft-x64
# release: ${{ parameters.dockerhub_release }}