Skip to content

Commit 4249b8b

Browse files
bors[bot]reitermarkusrvolgers
authored
Merge #366
366: Build docker images in separate step. r=reitermarkus a=reitermarkus Also, increase timeout for the build step. Co-authored-by: Markus Reiter <me@reitermark.us> Co-authored-by: rvolgers <14318781+rvolgers@users.noreply.github.com>
2 parents 2f284ac + 353e93d commit 4249b8b

File tree

6 files changed

+140
-131
lines changed

6 files changed

+140
-131
lines changed

azure-pipelines.yml

Lines changed: 111 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -8,112 +8,115 @@ trigger:
88
include:
99
- v*.*.*
1010

11-
variables:
12-
VM_IMAGE: ubuntu-latest
13-
TOOLCHAIN: stable
14-
CARGO_NET_RETRY: 3
15-
CARGO_HTTP_CHECK_REVOKE: false
16-
17-
pool:
18-
vmImage: $(VM_IMAGE)
19-
20-
strategy:
21-
matrix:
22-
aarch64-unknown-linux-gnu: { TARGET: aarch64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
23-
arm-unknown-linux-gnueabi: { TARGET: arm-unknown-linux-gnueabi, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
24-
arm-unknown-linux-gnueabihf: { TARGET: arm-unknown-linux-gnueabihf, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
25-
armv7-unknown-linux-gnueabihf: { TARGET: armv7-unknown-linux-gnueabihf, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
26-
i586-unknown-linux-gnu: { TARGET: i586-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
27-
i686-unknown-linux-gnu: { TARGET: i686-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system }
28-
mips-unknown-linux-gnu: { TARGET: mips-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
29-
mipsel-unknown-linux-gnu: { TARGET: mipsel-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
30-
mips64-unknown-linux-gnuabi64: { TARGET: mips64-unknown-linux-gnuabi64, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
31-
mips64el-unknown-linux-gnuabi64: { TARGET: mips64el-unknown-linux-gnuabi64, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
32-
powerpc-unknown-linux-gnu: { TARGET: powerpc-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
33-
powerpc64-unknown-linux-gnu: { TARGET: powerpc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
34-
powerpc64le-unknown-linux-gnu: { TARGET: powerpc64le-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
35-
s390x-unknown-linux-gnu: { TARGET: s390x-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system }
36-
sparc64-unknown-linux-gnu: { TARGET: sparc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system }
37-
x86_64-unknown-linux-gnu: { TARGET: x86_64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system, DEPLOY: 1, CRATES_IO_PUBLISH: 1 }
38-
aarch64-unknown-linux-musl: { TARGET: aarch64-unknown-linux-musl, STD: 1, RUN: 1 }
39-
arm-unknown-linux-musleabihf: { TARGET: arm-unknown-linux-musleabihf, STD: 1, RUN: 1 }
40-
arm-unknown-linux-musleabi: { TARGET: arm-unknown-linux-musleabi, STD: 1, RUN: 1 }
41-
armv5te-unknown-linux-musleabi: { TARGET: armv5te-unknown-linux-musleabi, STD: 1, RUN: 1 }
42-
armv7-unknown-linux-musleabihf: { TARGET: armv7-unknown-linux-musleabihf, STD: 1, RUN: 1 }
43-
i586-unknown-linux-musl: { TARGET: i586-unknown-linux-musl, STD: 1, RUN: 1 }
44-
i686-unknown-linux-musl: { TARGET: i686-unknown-linux-musl, STD: 1, RUN: 1 }
45-
mips-unknown-linux-musl: { TARGET: mips-unknown-linux-musl, CPP: 1, STD: 1, RUN: 1 }
46-
mipsel-unknown-linux-musl: { TARGET: mipsel-unknown-linux-musl, CPP: 1, STD: 1, RUN: 1 }
47-
x86_64-unknown-linux-musl: { TARGET: x86_64-unknown-linux-musl, STD: 1, RUN: 1, DEPLOY: 1 }
48-
aarch64-linux-android: { TARGET: aarch64-linux-android, CPP: 1, STD: 1, RUN: 1 }
49-
arm-linux-androideabi: { TARGET: arm-linux-androideabi, CPP: 1, STD: 1, RUN: 1 }
50-
armv7-linux-androideabi: { TARGET: armv7-linux-androideabi, CPP: 1, STD: 1, RUN: 1 }
51-
i686-linux-android: { TARGET: i686-linux-android, CPP: 1, STD: 1, RUN: 1 }
52-
x86_64-linux-android: { TARGET: x86_64-linux-android, CPP: 1, STD: 1, RUN: 1 }
53-
i686-apple-darwin: { TARGET: i686-apple-darwin, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, VM_IMAGE: macOS-10.13 }
54-
x86_64-apple-darwin: { TARGET: x86_64-apple-darwin, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, VM_IMAGE: macOS-latest, DEPLOY: 1 }
55-
x86_64-pc-windows-gnu: { TARGET: x86_64-pc-windows-gnu, CPP: 1, STD: 1, RUN: 1 }
56-
# `cargo build` fails with undefined symbols (https://github.com/rust-lang/rust/issues/32859) on `i686-pc-windows-gnu`.
57-
# i686-pc-windows-gnu: { TARGET: i686-pc-windows-gnu, CPP: 1, STD: 1, RUN: 1 }
58-
x86_64-unknown-dragonfly: { TARGET: x86_64-unknown-dragonfly, CPP: 1, DYLIB: 1, TOOLCHAIN: nightly }
59-
# i686-unknown-freebsd: { TARGET: i686-unknown-freebsd, DYLIB: 1, STD: 1 }
60-
# x86_64-unknown-freebsd: { TARGET: x86_64-unknown-freebsd, DYLIB: 1, STD: 1 }
61-
x86_64-unknown-netbsd: { TARGET: x86_64-unknown-netbsd, CPP: 1, DYLIB: 1, STD: 1 }
62-
sparcv9-sun-solaris: { TARGET: sparcv9-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 }
63-
x86_64-sun-solaris: { TARGET: x86_64-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 }
64-
asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1 }
65-
# `cargo run` fails with an assertion error (https://github.com/rust-lang/cargo/issues/4689) on `wasm32-unknown-emscripten`.
66-
wasm32-unknown-emscripten: { TARGET: wasm32-unknown-emscripten, STD: 1 }
67-
thumbv6m-none-eabi: { TARGET: thumbv6m-none-eabi, STD: 1 }
68-
thumbv7em-none-eabi: { TARGET: thumbv7em-none-eabi, STD: 1 }
69-
thumbv7em-none-eabihf: { TARGET: thumbv7em-none-eabihf, STD: 1 }
70-
thumbv7m-none-eabi: { TARGET: thumbv7m-none-eabi, STD: 1 }
71-
x86_64-pc-windows-msvc: { TARGET: x86_64-pc-windows-msvc, CPP: 1, STD: 1, RUN: 1, VM_IMAGE: vs2017-win2016, DEPLOY: 1 }
72-
73-
steps:
74-
- template: ci/azure-install-rust.yml
75-
- bash: echo "##vso[task.setvariable variable=OS]$(echo "${AGENT_OS}" | tr '[:upper:]' '[:lower:]')"
76-
displayName: Set OS variable
77-
- bash: echo "##vso[task.setvariable variable=BRANCH]${BUILD_SOURCEBRANCH##refs/heads/}"
78-
displayName: Set BRANCH variable
79-
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/')
80-
- bash: echo "##vso[task.setvariable variable=TAG]${BUILD_SOURCEBRANCH##refs/tags/}"
81-
displayName: Set TAG variable
82-
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
83-
- bash: ci/test.sh
84-
displayName: Test
11+
jobs:
12+
- job:
13+
pool:
14+
vmImage: $(VM_IMAGE)
15+
variables:
16+
VM_IMAGE: ubuntu-latest
17+
TOOLCHAIN: stable
18+
CARGO_NET_RETRY: 3
19+
CARGO_HTTP_CHECK_REVOKE: false
20+
strategy:
21+
matrix:
22+
aarch64-unknown-linux-gnu: { TARGET: aarch64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
23+
arm-unknown-linux-gnueabi: { TARGET: arm-unknown-linux-gnueabi, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
24+
arm-unknown-linux-gnueabihf: { TARGET: arm-unknown-linux-gnueabihf, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
25+
armv7-unknown-linux-gnueabihf: { TARGET: armv7-unknown-linux-gnueabihf, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
26+
i586-unknown-linux-gnu: { TARGET: i586-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
27+
i686-unknown-linux-gnu: { TARGET: i686-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system }
28+
mips-unknown-linux-gnu: { TARGET: mips-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
29+
mipsel-unknown-linux-gnu: { TARGET: mipsel-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
30+
mips64-unknown-linux-gnuabi64: { TARGET: mips64-unknown-linux-gnuabi64, CPP: 1, DYLIB: 1, STD: 1, RUN: 1 }
31+
mips64el-unknown-linux-gnuabi64: { TARGET: mips64el-unknown-linux-gnuabi64, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
32+
powerpc-unknown-linux-gnu: { TARGET: powerpc-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
33+
powerpc64-unknown-linux-gnu: { TARGET: powerpc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
34+
powerpc64le-unknown-linux-gnu: { TARGET: powerpc64le-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-user qemu-system }
35+
s390x-unknown-linux-gnu: { TARGET: s390x-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system }
36+
sparc64-unknown-linux-gnu: { TARGET: sparc64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: qemu-system }
37+
x86_64-unknown-linux-gnu: { TARGET: x86_64-unknown-linux-gnu, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, RUNNERS: native qemu-user qemu-system, DEPLOY: 1, CRATES_IO_PUBLISH: 1 }
38+
aarch64-unknown-linux-musl: { TARGET: aarch64-unknown-linux-musl, STD: 1, RUN: 1 }
39+
arm-unknown-linux-musleabihf: { TARGET: arm-unknown-linux-musleabihf, STD: 1, RUN: 1 }
40+
arm-unknown-linux-musleabi: { TARGET: arm-unknown-linux-musleabi, STD: 1, RUN: 1 }
41+
armv5te-unknown-linux-musleabi: { TARGET: armv5te-unknown-linux-musleabi, STD: 1, RUN: 1 }
42+
armv7-unknown-linux-musleabihf: { TARGET: armv7-unknown-linux-musleabihf, STD: 1, RUN: 1 }
43+
i586-unknown-linux-musl: { TARGET: i586-unknown-linux-musl, STD: 1, RUN: 1 }
44+
i686-unknown-linux-musl: { TARGET: i686-unknown-linux-musl, STD: 1, RUN: 1 }
45+
mips-unknown-linux-musl: { TARGET: mips-unknown-linux-musl, CPP: 1, STD: 1, RUN: 1 }
46+
mipsel-unknown-linux-musl: { TARGET: mipsel-unknown-linux-musl, CPP: 1, STD: 1, RUN: 1 }
47+
x86_64-unknown-linux-musl: { TARGET: x86_64-unknown-linux-musl, STD: 1, RUN: 1, DEPLOY: 1 }
48+
aarch64-linux-android: { TARGET: aarch64-linux-android, CPP: 1, STD: 1, RUN: 1 }
49+
arm-linux-androideabi: { TARGET: arm-linux-androideabi, CPP: 1, STD: 1, RUN: 1 }
50+
armv7-linux-androideabi: { TARGET: armv7-linux-androideabi, CPP: 1, STD: 1, RUN: 1 }
51+
i686-linux-android: { TARGET: i686-linux-android, CPP: 1, STD: 1, RUN: 1 }
52+
x86_64-linux-android: { TARGET: x86_64-linux-android, CPP: 1, STD: 1, RUN: 1 }
53+
i686-apple-darwin: { TARGET: i686-apple-darwin, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, VM_IMAGE: macOS-10.13 }
54+
x86_64-apple-darwin: { TARGET: x86_64-apple-darwin, CPP: 1, DYLIB: 1, STD: 1, RUN: 1, VM_IMAGE: macOS-latest, DEPLOY: 1 }
55+
x86_64-pc-windows-gnu: { TARGET: x86_64-pc-windows-gnu, CPP: 1, STD: 1, RUN: 1 }
56+
# `cargo build` fails with undefined symbols (https://github.com/rust-lang/rust/issues/32859) on `i686-pc-windows-gnu`.
57+
# i686-pc-windows-gnu: { TARGET: i686-pc-windows-gnu, CPP: 1, STD: 1, RUN: 1 }
58+
x86_64-unknown-dragonfly: { TARGET: x86_64-unknown-dragonfly, CPP: 1, DYLIB: 1, TOOLCHAIN: nightly }
59+
# i686-unknown-freebsd: { TARGET: i686-unknown-freebsd, DYLIB: 1, STD: 1 }
60+
# x86_64-unknown-freebsd: { TARGET: x86_64-unknown-freebsd, DYLIB: 1, STD: 1 }
61+
x86_64-unknown-netbsd: { TARGET: x86_64-unknown-netbsd, CPP: 1, DYLIB: 1, STD: 1 }
62+
sparcv9-sun-solaris: { TARGET: sparcv9-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 }
63+
x86_64-sun-solaris: { TARGET: x86_64-sun-solaris, CPP: 1, DYLIB: 1, STD: 1 }
64+
asmjs-unknown-emscripten: { TARGET: asmjs-unknown-emscripten, STD: 1, RUN: 1 }
65+
# `cargo run` fails with an assertion error (https://github.com/rust-lang/cargo/issues/4689) on `wasm32-unknown-emscripten`.
66+
wasm32-unknown-emscripten: { TARGET: wasm32-unknown-emscripten, STD: 1 }
67+
thumbv6m-none-eabi: { TARGET: thumbv6m-none-eabi, STD: 1 }
68+
thumbv7em-none-eabi: { TARGET: thumbv7em-none-eabi, STD: 1 }
69+
thumbv7em-none-eabihf: { TARGET: thumbv7em-none-eabihf, STD: 1 }
70+
thumbv7m-none-eabi: { TARGET: thumbv7m-none-eabi, STD: 1 }
71+
x86_64-pc-windows-msvc: { TARGET: x86_64-pc-windows-msvc, CPP: 1, STD: 1, RUN: 1, VM_IMAGE: vs2017-win2016, DEPLOY: 1 }
8572
timeoutInMinutes: 360
86-
- bash: cargo publish
87-
displayName: Publish on crates.io
88-
env:
89-
CARGO_REGISTRY_TOKEN: $(CARGO_REGISTRY_TOKEN)
90-
condition: and(startsWith(variables['TAG'], 'v'), eq(variables['CRATES_IO_PUBLISH'], '1'))
91-
- bash: ci/build_release.sh
92-
displayName: Build Release
93-
condition: eq(variables['DEPLOY'], '1')
94-
- task: ArchiveFiles@2
95-
inputs:
96-
includeRootFolder: false
97-
archiveType: tar
98-
tarCompression: gz
99-
archiveFile: $(Build.ArtifactStagingDirectory)/cross-$(TAG)-$(TARGET).tar.gz
100-
verbose: true
101-
condition: eq(variables['DEPLOY'], '1')
102-
- task: GithubRelease@0
103-
displayName: Create GitHub Release
104-
inputs:
105-
githubConnection: github
106-
assets: $(Build.ArtifactStagingDirectory)/cross-$(TAG)-$(TARGET).tar.gz
107-
assetUploadMode: replace
108-
action: edit
109-
tag: $(TAG)
110-
condition: and(startsWith(variables['TAG'], 'v'), eq(variables['DEPLOY'], '1'))
111-
- task: Docker@2
112-
displayName: Log into Docker Hub
113-
inputs:
114-
containerRegistry: docker
115-
command: login
116-
condition: and(or(eq(variables['BRANCH'], 'master'), startsWith(variables['TAG'], 'v')), eq(variables['OS'], 'linux'))
117-
- bash: ci/docker_push.sh
118-
displayName: Push Image to Docker Hub
119-
condition: and(or(eq(variables['BRANCH'], 'master'), startsWith(variables['TAG'], 'v')), eq(variables['OS'], 'linux'))
73+
steps:
74+
- template: ci/azure-install-rust.yml
75+
- bash: echo "##vso[task.setvariable variable=OS]$(echo "${AGENT_OS}" | tr '[:upper:]' '[:lower:]')"
76+
displayName: Set OS Variable
77+
- bash: echo "##vso[task.setvariable variable=BRANCH]${BUILD_SOURCEBRANCH##refs/heads/}"
78+
displayName: Set BRANCH Variable
79+
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/')
80+
- bash: echo "##vso[task.setvariable variable=TAG]${BUILD_SOURCEBRANCH##refs/tags/}"
81+
displayName: Set TAG Variable
82+
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
83+
- bash: ./build-docker-image.sh "${TARGET}"
84+
displayName: Build Docker Image
85+
timeoutInMinutes: 360
86+
condition: eq(variables['OS'], 'linux')
87+
- bash: ci/test.sh
88+
displayName: Test
89+
- bash: cargo publish
90+
displayName: Publish on crates.io
91+
env:
92+
CARGO_REGISTRY_TOKEN: $(CARGO_REGISTRY_TOKEN)
93+
condition: and(startsWith(variables['TAG'], 'v'), eq(variables['CRATES_IO_PUBLISH'], '1'))
94+
- bash: ci/build_release.sh
95+
displayName: Build Release
96+
condition: eq(variables['DEPLOY'], '1')
97+
- task: ArchiveFiles@2
98+
inputs:
99+
includeRootFolder: false
100+
archiveType: tar
101+
tarCompression: gz
102+
archiveFile: $(Build.ArtifactStagingDirectory)/cross-$(TAG)-$(TARGET).tar.gz
103+
verbose: true
104+
condition: eq(variables['DEPLOY'], '1')
105+
- task: GithubRelease@0
106+
displayName: Create GitHub Release
107+
inputs:
108+
githubConnection: github
109+
assets: $(Build.ArtifactStagingDirectory)/cross-$(TAG)-$(TARGET).tar.gz
110+
assetUploadMode: replace
111+
action: edit
112+
tag: $(TAG)
113+
condition: and(startsWith(variables['TAG'], 'v'), eq(variables['DEPLOY'], '1'))
114+
- task: Docker@2
115+
displayName: Log into Docker Hub
116+
inputs:
117+
containerRegistry: docker
118+
command: login
119+
condition: and(or(eq(variables['BRANCH'], 'master'), startsWith(variables['TAG'], 'v')), eq(variables['OS'], 'linux'))
120+
- bash: ci/docker_push.sh
121+
displayName: Push Image to Docker Hub
122+
condition: and(or(eq(variables['BRANCH'], 'master'), startsWith(variables['TAG'], 'v')), eq(variables['OS'], 'linux'))

build-docker-image.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ cd docker
88
run() {
99
local dockerfile="Dockerfile.${1}"
1010
local image_name="rustembedded/cross:${1}"
11-
12-
local cache_from_args=()
11+
local cache_from_args=
1312

1413
if docker pull "${image_name}"; then
1514
cache_from_args=(--cache-from "${image_name}")

ci/azure-install-rust.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,26 @@ steps:
66
77
if command -v rustup; then
88
echo `command -v rustup` `rustup -V` already installed
9-
rustup self update
10-
elif [ "$AGENT_OS" = "Windows_NT" ]; then
11-
curl -sSf -o rustup-init.exe https://win.rustup.rs
12-
rustup-init.exe -y --default-toolchain $TOOLCHAIN
13-
echo "##vso[task.prependpath]$USERPROFILE/.cargo/bin"
9+
10+
if brew ls rustup &>/dev/null; then
11+
brew upgrade rustup
12+
else
13+
rustup self update
14+
fi
1415
else
15-
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $TOOLCHAIN
16+
curl -sSL https://sh.rustup.rs | sh -s -- -y --default-toolchain="$TOOLCHAIN" --profile=minimal
1617
echo "##vso[task.prependpath]$HOME/.cargo/bin"
1718
fi
1819
displayName: Install rustup
1920
2021
- bash: |
2122
set -euo pipefail
22-
23-
rustup update $TOOLCHAIN
23+
rustup set profile minimal
24+
rustup component remove --toolchain=$TOOLCHAIN rust-docs || echo "already removed"
25+
rustup update --no-self-update $TOOLCHAIN
26+
if [ "$TOOLCHAIN" = "nightly" ]; then
27+
rustup component add --toolchain=$TOOLCHAIN rustc-dev
28+
fi
2429
rustup default $TOOLCHAIN
2530
displayName: Install rust
2631

ci/test.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ function retry {
2828
main() {
2929
local td=
3030

31-
if [ "${OS}" = linux ]; then
32-
./build-docker-image.sh $TARGET
33-
fi
34-
3531
if [ "${BRANCH-}" = master ] || [[ "${TAG-}" =~ ^v.* ]]; then
3632
return
3733
fi

docker/common.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
set -x
44
set -euo pipefail
55

6+
# For architectures except amd64 and i386, look for packages on ports.ubuntu.com instead.
7+
# This is important if you enable additional architectures so you can install libraries to cross-compile against.
8+
# Look for 'dpkg --add-architecture' in the README for more details.
9+
sed 's/http:\/\/\(.*\).ubuntu.com\/ubuntu\//[arch-=amd64,i386] http:\/\/ports.ubuntu.com\/ubuntu-ports\//g' /etc/apt/sources.list > /etc/apt/sources.list.d/ports.list
10+
sed -i 's/http:\/\/\(.*\).ubuntu.com\/ubuntu\//[arch=amd64,i386] http:\/\/\1.archive.ubuntu.com\/ubuntu\//g' /etc/apt/sources.list
11+
612
apt-get update
713

814
apt-get install -y --no-install-recommends \

0 commit comments

Comments
 (0)