-
Notifications
You must be signed in to change notification settings - Fork 53
106 lines (102 loc) · 3.09 KB
/
rust.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
name: Rust
on:
push:
branches: [master]
pull_request:
workflow_dispatch:
merge_group:
types: [checks_requested]
env:
RUST_BACKTRACE: 1
SHELL: /bin/bash
CARGO_INCREMENTAL: 0
jobs:
mac:
runs-on: macos-13
strategy:
fail-fast: false
matrix:
features: ["--features debugmozjs", ""]
env:
RUSTC_WRAPPER: sccache
CCACHE: sccache
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v3
- name: Install deps
run: brew install python llvm yasm
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Build
run: |
cargo build --verbose ${{ matrix.features }}
cargo test --verbose ${{ matrix.features }}
linux:
env:
RUSTC_WRAPPER: "sccache"
CCACHE: sccache
SCCACHE_GHA_ENABLED: "true"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
features: ["--features debugmozjs", ""]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- name: Install deps
run: |
sudo apt install llvm -y
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Build
run: |
cargo build --verbose ${{ matrix.features }}
cargo test --verbose ${{ matrix.features }}
windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
features: ["--features debugmozjs", ""]
target: ["x86_64-pc-windows-msvc", "aarch64-pc-windows-msvc"]
env:
LINKER: "lld-link.exe"
CC: "clang-cl"
CXX: "clang-cl"
MOZTOOLS_PATH: "${{ github.workspace }}\\target\\dependencies\\moztools-4.0"
CCACHE: sccache
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Install deps
run: |
curl -SL "https://github.com/servo/servo-build-deps/releases/download/msvc-deps/moztools-4.0.zip" --create-dirs -o target/dependencies/moztools.zip
cd target/dependencies && unzip -qo moztools.zip -d .
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Build Windows
shell: cmd
run: |
cargo build --verbose --target ${{ matrix.target }} ${{ matrix.features }}
- name: Test Windows
if: ${{ !contains(matrix.target, 'aarch64') }}
shell: cmd
run: |
cargo test --verbose --target ${{ matrix.target }} ${{ matrix.features }}
build_result:
name: Result
runs-on: ubuntu-latest
needs:
["android", "linux", "linux-cross-compile", "mac", "windows", "integrity"]
if: ${{ always() }}
steps:
- name: Mark the job as successful
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
run: exit 0
- name: Mark the job as unsuccessful
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
run: exit 1