• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI
2
3on:
4  pull_request:
5    types: [opened, synchronize, reopened]
6  push:
7    branches:
8      - master
9
10permissions:
11  contents: read # to fetch code (actions/checkout)
12
13jobs:
14  docker_linux_tier1:
15    name: Docker Linux Tier1
16    runs-on: ubuntu-22.04
17    strategy:
18      fail-fast: true
19      matrix:
20        target: [
21          i686-unknown-linux-gnu,
22          x86_64-unknown-linux-gnu,
23        ]
24    steps:
25      - uses: actions/checkout@v3
26      - name: Setup Rust toolchain
27        run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
28      - name: Execute run-docker.sh
29        run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
30
31  macos:
32    name: macOS
33    runs-on: macos-12
34    strategy:
35      fail-fast: true
36      matrix:
37        target: [
38          x86_64-apple-darwin,
39        ]
40    steps:
41      - uses: actions/checkout@v3
42      - name: Setup Rust toolchain
43        run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
44      - name: Execute run.sh
45        run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
46
47  windows:
48    name: Windows
49    runs-on: windows-2022
50    env:
51      OS: windows
52    strategy:
53      fail-fast: true
54      matrix:
55        include:
56          - target: x86_64-pc-windows-gnu
57            env:
58              ARCH_BITS: 64
59              ARCH: x86_64
60          - target: x86_64-pc-windows-msvc
61          # Disabled because broken:
62          #  https://github.com/rust-lang/libc/issues/1592
63          #- target: i686-pc-windows-gnu
64          #  env:
65          #    ARCH_BITS: 32
66          #    ARCH: i686
67          - target: i686-pc-windows-msvc
68    steps:
69      - uses: actions/checkout@v3
70      - name: Self-update rustup
71        run: rustup self update
72        shell: bash
73      - name: Setup Rust toolchain
74        run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
75        shell: bash
76      - name: Execute run.sh
77        run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
78        shell: bash
79
80  style_check:
81    name: Style check
82    runs-on: ubuntu-22.04
83    steps:
84      - uses: actions/checkout@v3
85      - name: Setup Rust toolchain
86        run: sh ./ci/install-rust.sh
87      - name: Check style
88        run: sh ci/style.sh
89