• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Abi-cafe
2
3on:
4  - push
5
6jobs:
7  abi_cafe:
8    runs-on: ${{ matrix.os }}
9    timeout-minutes: 60
10    concurrency:
11      group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.env.TARGET_TRIPLE }}
12      cancel-in-progress: true
13
14    defaults:
15      run:
16        shell: bash
17
18    strategy:
19      fail-fast: true
20      matrix:
21        include:
22          - os: ubuntu-latest
23            env:
24              TARGET_TRIPLE: x86_64-unknown-linux-gnu
25          - os: macos-latest
26            env:
27              TARGET_TRIPLE: x86_64-apple-darwin
28          - os: windows-latest
29            env:
30              TARGET_TRIPLE: x86_64-pc-windows-msvc
31          - os: windows-latest
32            env:
33              TARGET_TRIPLE: x86_64-pc-windows-gnu
34
35    steps:
36    - uses: actions/checkout@v3
37
38    - name: Cache cargo target dir
39      uses: actions/cache@v3
40      with:
41        path: build/cg_clif
42        key: ${{ runner.os }}-${{ matrix.env.TARGET_TRIPLE }}-cargo-build-target-${{ hashFiles('rust-toolchain', '**/Cargo.lock') }}
43
44    - name: Set MinGW as the default toolchain
45      if: matrix.env.TARGET_TRIPLE == 'x86_64-pc-windows-gnu'
46      run: rustup set default-host x86_64-pc-windows-gnu
47
48    - name: Prepare dependencies
49      run: ./y.sh prepare
50
51    - name: Build
52      run: ./y.sh build --sysroot none
53
54    - name: Test abi-cafe
55      env:
56        TARGET_TRIPLE: ${{ matrix.env.TARGET_TRIPLE }}
57      run: ./y.sh abi-cafe
58