File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -120,7 +120,7 @@ tokio = "0.1.22"
120120
121121[package .metadata .vcpkg ]
122122git = " https://github.com/microsoft/vcpkg"
123- rev = " 01b29f6d8212bc845da64773b18665d682f5ab66 "
123+ rev = " 1be5a98d090b1d2beeb63a48ba800fbf006e8aca "
124124
125125[package .metadata .vcpkg .target ]
126126x86_64-apple-darwin = { install = [" freetype" ," harfbuzz[icu,graphite2]" ] }
Original file line number Diff line number Diff line change @@ -16,16 +16,30 @@ parameters:
1616- name : windowsVcpkgWorkaround
1717 type : boolean
1818 default : false
19+ - name : testIt
20+ type : boolean
21+ default : true
1922
2023steps :
2124- template : azure-generic-build-setup.yml
2225
26+ - bash : rustup target add $TARGET
27+ displayName : Add target $(TARGET)
28+
2329- bash : |
2430 set -xeuo pipefail
2531 brew install autoconf-archive automake libtool pkg-config
2632 displayName : " Install vcpkg dependencies (macOS)"
2733 condition : and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
2834
35+ - bash : |
36+ set -xeuo pipefail
37+ sudo apt-get update
38+ sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y \
39+ autoconf-archive
40+ displayName : " Install vcpkg dependencies (Ubuntu)"
41+ condition : and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
42+
2943# Note: setvariable + `set -x` adds spurious single quotes at ends of variable values
3044- bash : |
3145 echo "##vso[task.setvariable variable=VCPKG_ROOT;]$(pwd)/target/vcpkg"
5771
5872 - bash : |
5973 set -xeuo pipefail
60- cargo vcpkg -v build
74+ cargo vcpkg -v build --target $TARGET
6175 ls target/vcpkg
6276 echo target/vcpkg/installed/*
6377 ls target/vcpkg/installed/*/lib
7690 parameters :
7791 canaryBuild : ${{ parameters.canaryBuild }}
7892 explicitFeatures : " external-harfbuzz"
93+ testIt : ${{ parameters.testIt }}
Original file line number Diff line number Diff line change @@ -132,14 +132,30 @@ parameters:
132132- name : vcpkgBuilds
133133 type : object
134134 default :
135- - name : macos
135+ - name : x86_64_unknown_linux_gnu
136+ vmImage : ubuntu-20.04
137+ params :
138+ canaryBuild : true
139+ vars :
140+ TARGET : x86_64-unknown-linux-gnu
141+ TOOLCHAIN : stable
142+
143+ - name : x86_64_apple_darwin
136144 vmImage : macos-11
137145 params : {}
138146 vars :
139147 TARGET : x86_64-apple-darwin
140148 TOOLCHAIN : stable
141149
142- - name : windows
150+ - name : aarch64_apple_darwin
151+ vmImage : macos-11
152+ params :
153+ testIt : false
154+ vars :
155+ TARGET : aarch64-apple-darwin
156+ TOOLCHAIN : stable
157+
158+ - name : x86_64_pc_windows_msvc
143159 vmImage : windows-2019
144160 params :
145161 windowsVcpkgWorkaround : true
@@ -181,10 +197,9 @@ jobs:
181197 ${{ insert }} : ${{ build.vars }}
182198
183199# vcpkg builds
184- # TODO: I think Linux/vcpkg is broken: https://github.com/mcgoo/vcpkg-rs/issues/21
185200- ${{ each build in parameters.vcpkgBuilds }} :
186201 - job : ${{ format('build_{0}_vcpkg', build.name) }}
187- ${{ if eq(build.name, 'windows ') }} : # work around timeouts with slow builds
202+ ${{ if eq(build.name, 'x86_64_pc_windows_msvc ') }} : # work around timeouts with slow builds
188203 dependsOn : windows_vcpkg_prebuild
189204 pool :
190205 vmImage : ${{ build.vmImage }}
Original file line number Diff line number Diff line change @@ -22,6 +22,9 @@ parameters:
2222- name : explicitFeatures
2323 type : string
2424 default : ' '
25+ - name : testIt
26+ type : boolean
27+ default : true
2528
2629steps :
2730# We use two variables for feature flagging just because I'm worried about
@@ -48,19 +51,20 @@ steps:
4851 DEFAULT_FEATURES_FLAG : ${{ parameters.defaultFeatures }}
4952 EXPLICIT_FEATURES : ${{ parameters.explicitFeatures }}
5053
51- - bash : cargo build --all --release $CARGO_FEATURES_FLAGS --features="$CARGO_FEATURES_EXPLICIT" -v
52- displayName : " cargo build"
54+ - bash : cargo build --all --target $TARGET -- release $CARGO_FEATURES_FLAGS --features="$CARGO_FEATURES_EXPLICIT" -v
55+ displayName : cargo build for $(TARGET)
5356
54- - bash : cargo test --all --release $CARGO_FEATURES_FLAGS --features="$CARGO_FEATURES_EXPLICIT"
55- displayName : " cargo test"
57+ - ${{ if parameters.testIt }} :
58+ - bash : cargo test --all --target $TARGET --release $CARGO_FEATURES_FLAGS --features="$CARGO_FEATURES_EXPLICIT"
59+ displayName : cargo test
5660
5761# For non-canary builds, export artifacts.
5862
5963- ${{ if eq(parameters.canaryBuild, false) }} :
6064 - bash : |
6165 artifact_dir="$(Build.ArtifactStagingDirectory)/binary-$TARGET"
6266 mkdir -p "$artifact_dir"
63- cranko cargo package-released-binaries -t $TARGET $artifact_dir -- build --release
67+ cranko cargo package-released-binaries -t $TARGET $artifact_dir -- build --target $TARGET -- release
6468 displayName: Package binaries
6569
6670 - task : PublishPipelineArtifact@1
You can’t perform that action at this time.
0 commit comments