Bug 1888590 - Mark some subtests on trusted-types-event-handlers.html as failing...
[gecko.git] / third_party / rust / midir / azure-pipelines-template.yml
bloba76af85ba05ad907d1c6dbbda0b1066b2be1c4f8
1 jobs:
2 - job: ${{ parameters.name }}
3   pool:
4     vmImage: ${{ parameters.vmImage }}
5   strategy:
6     matrix:
7       stable:
8         rustup_toolchain: stable-${{ parameters.target }}
9         features: ""
10       ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
11         beta:
12           rustup_toolchain: beta-${{ parameters.target }}
13           features: ""
14         nightly:
15           rustup_toolchain: nightly-${{ parameters.target }}
16           features: ""
17       ${{ if startsWith(parameters.name, 'Windows') }}:
18         stable-winrt:
19           rustup_toolchain: stable-${{ parameters.target }}
20           features: "winrt"
21         ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
22           beta-winrt:
23             rustup_toolchain: beta-${{ parameters.target }}
24             features: "winrt"
25           nightly-winrt:
26             rustup_toolchain: nightly-${{ parameters.target }}
27             features: "winrt"
28       ${{ if and(not(startsWith(parameters.name, 'Windows')), not(endsWith(parameters.name, 'WASM'))) }}:
29         stable-jack:
30           rustup_toolchain: stable-${{ parameters.target }}
31           features: "jack"
32         ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
33           beta-jack:
34             rustup_toolchain: beta-${{ parameters.target }}
35             features: "jack"
36           nightly-jack:
37             rustup_toolchain: nightly-${{ parameters.target }}
38             features: "jack"
39   steps:
40   - ${{ if not(startsWith(parameters.name, 'Windows')) }}:
41     # Linux and macOS
42     - script: |
43         curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
44         export PATH="$HOME/.cargo/bin:$PATH"
45         echo "##vso[task.setvariable variable=PATH;]$PATH"
46       displayName: Install Rust
47   - ${{ if and(startsWith(parameters.name, 'Linux'), not(endsWith(parameters.name, 'WASM'))) }}:
48     # Linux only
49     - script: |
50         sudo apt-get update && sudo apt-get install -y libasound2-dev libjack-jackd2-dev
51       displayName: Install ALSA and Jack dependencies
52   - ${{ if startsWith(parameters.name, 'macOS') }}:
53     # macOS only
54     - script: |
55         if [ "$FEATURES" = "jack" ]; then
56           curl -LOS https://github.com/jackaudio/jackaudio.github.com/releases/download/1.9.11/JackOSX.0.92_b3.zip && unzip JackOSX.0.92_b3.zip && sudo installer -pkg JackOSX.0.92_b3.pkg -target /
57         fi
58       displayName: Install Jack dependencies
59   - ${{ if endsWith(parameters.name, 'WASM') }}:
60     # WASM only
61     - script: |
62         rustup target add wasm32-unknown-unknown
63       displayName: Add wasm32-unknown-unknown target
64   - ${{ if startsWith(parameters.name, 'Windows') }}:
65     # Windows
66     - script: |
67         curl -sSf -o rustup-init.exe https://win.rustup.rs
68         rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN%
69         set PATH=%PATH%;%USERPROFILE%\.cargo\bin
70         echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
71       displayName: Install Rust (Windows)
72   # All platforms
73   - script: |
74         rustc -Vv
75         cargo -V
76     displayName: Query installed versions
77   - ${{ if not(endsWith(parameters.name, 'WASM')) }}:
78     # Use bash for cross-platform env variable syntax
79     - bash: cargo build --verbose --features "$FEATURES"
80       displayName: Build
81     - bash: cargo build --features "$FEATURES" --example test_list_ports
82       displayName: Build example program
83     - ${{ if not(startsWith(parameters.name, 'Linux')) }}:
84       # Tests cannot run on Linux (missing ALSA driver) or with Jack (Jack not running)
85       - bash: |
86           if [[ "$FEATURES" != *"jack"* ]]; then
87             cargo test --verbose --features "$FEATURES"
88           fi
89         displayName: Run unit tests
90       - bash: |
91           if [[ "$FEATURES" != *"jack"* ]]; then
92             cargo run --features "$FEATURES" --example test_list_ports
93           fi
94         displayName: Run example program
95   - ${{ if endsWith(parameters.name, 'WASM') }}:
96     # WebAssembly
97     - script: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh -s -- -f
98       displayName: Install wasm-pack
99     #- bash: cargo build --verbose --target wasm32-unknown-unknown --features "$FEATURES"
100     #  displayName: Build
101     - bash: |
102         cd examples/browser
103         wasm-pack build --target=no-modules --dev
104       displayName: Build WASM example program
105     - bash: wasm-pack test --chrome
106       displayName: Run WASM tests