aboutsummaryrefslogtreecommitdiff
path: root/ci/azure-cross-compile.yml
blob: be46ca3460374bb93f09bdaa853a57994c869c0d (plain)
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
parameters:
  cmd: build
  rust_version: stable

jobs:
- job: ${{ parameters.name }}
  displayName: Cross
  strategy:
    matrix:
      i686:
        vmImage: ubuntu-16.04
        target: i686-unknown-linux-gnu
      armv7:
        vmImage: ubuntu-16.04
        target: armv7-unknown-linux-gnueabihf
      powerpc:
        vmImage: ubuntu-16.04
        target: powerpc-unknown-linux-gnu
      powerpc64:
        vmImage: ubuntu-16.04
        target: powerpc64-unknown-linux-gnu
      wasm:
        vmImage: ubuntu-16.04
        target: wasm32-unknown-unknown
  pool:
    vmImage: $(vmImage)

  steps:
    - template: azure-install-rust.yml
      parameters:
        rust_version: ${{parameters.rust_version}}

    - script: cargo install cross
      displayName: Install cross
      condition: not(eq(variables['target'], 'wasm32-unknown-unknown'))

    - script: cross ${{ parameters.cmd }} --target $(target)
      displayName: cross ${{ parameters.cmd }} --target $(target)
      condition: not(eq(variables['target'], 'wasm32-unknown-unknown'))

    # WASM support
    - script: |
        rustup target add $(target)
        cargo build --target $(target)
      displayName: cargo build --target $(target)
      condition: eq(variables['target'], 'wasm32-unknown-unknown')