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