summaryrefslogtreecommitdiffstats
path: root/third_party/rust/cssparser/.github/workflows/main.yml
blob: 0d3c0229fb7741995211c35e0f719dd2a924d158 (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
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
name: CI

on:
  push:
    branches: [master]
  pull_request:
  workflow_dispatch:
  merge_group:
    types: [checks_requested]
    
jobs:
  linux-ci:
    name: Linux
    runs-on: ubuntu-latest
    strategy:
      matrix:
        toolchain:
          - nightly
          - beta
          - stable
          - 1.63.0
        features:
          -
          - --features dummy_match_byte
        include:
          - toolchain: nightly
            features: --features bench
          - toolchain: nightly
            features: --features bench,dummy_match_byte
    steps:
      - uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
          components: ${{ matrix.toolchain == 'nightly' && 'miri,rust-src' || '' }}

      - name: Cargo build
        run: cargo build ${{ matrix.features }}

      - name: Cargo doc
        run: cargo doc ${{ matrix.features }}

      - name: Cargo test
        run: cargo test ${{ matrix.features }}

      - name: macros build
        run: cargo build
        working-directory: macros

      - name: Color build
        run: cargo build
        working-directory: color

      - name: Color test
        run: cargo test
        working-directory: color

      - name: Cargo miri test
        if: "matrix.toolchain == 'nightly'"
        run: cargo miri test --features skip_long_tests ${{ matrix.features }}

  build_result:
    name: Result
    runs-on: ubuntu-latest
    needs:
      - "linux-ci"

    steps:
      - name: Mark the job as successful
        run: exit 0
        if: success()
      - name: Mark the job as unsuccessful
        run: exit 1
        if: "!success()"