-
Notifications
You must be signed in to change notification settings - Fork 124
62 lines (56 loc) · 1.65 KB
/
rust.yml
File metadata and controls
62 lines (56 loc) · 1.65 KB
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
name: Rust
# The following should ensure that the workflow only runs a single set of actions
# for each PR. But it will not apply this to pushes to the main branch.
concurrency:
group: ${{ github.ref }}-rust
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory:
./snmalloc-rs
strategy:
matrix:
os: [windows-latest, macos-14, macos-15, ubuntu-latest]
rust: [stable, nightly]
# Don't abort runners if a single one fails
fail-fast: false
steps:
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
- name: Checkout
uses: actions/checkout@v4
- name: update dependency
run: |
if bash -c 'uname -s | grep 'Linux' >/dev/null'; then
sudo apt-get update -y && sudo apt-get --reinstall install -y libc6-dev
fi
shell: bash
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --all
- name: Run tests debug
run: cargo test --all --features debug
- name: Run tests check
run: cargo test --all --features check
- name: Run tests build_cc
run: cargo test --all --features "build_cc usecxx17"
- name: Run tests native-cpu
run: cargo test --all --features native-cpu
- name: Run tests local_dynamic_tls
run: cargo test --all --features local_dynamic_tls
- name: Run tests lto
run: cargo test --all --features lto