tre-regex-sys 0.5.1

Rust bindgen bindings to the TRE regex module
name: CI

on:
  push:
  pull_request:

permissions:
  contents: read

jobs:
  test:
    name: ${{ matrix.os }} / ${{ matrix.build.name }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        build:
          - name: vendored, non-wchar
            features: ""
          - name: vendored, wchar
            features: --features wchar
          - name: non-vendored, non-wchar
            features: --no-default-features --features approx
          - name: non-vendored, wchar
            features: --no-default-features --features approx,wchar

    steps:
      - name: Check out sources
        uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Install Linux dependencies
        if: runner.os == 'Linux'
        run: sudo apt-get update && sudo apt-get install --yes autoconf automake libtool libtre-dev

      - name: Install macOS dependencies
        if: runner.os == 'macOS'
        run: brew install autoconf automake libtool tre

      - name: Install Windows dependencies
        if: runner.os == 'Windows'
        uses: msys2/setup-msys2@v2
        with:
          msystem: MINGW64
          update: true
          path-type: inherit
          install: >-
            base-devel
            mingw-w64-x86_64-autotools
            mingw-w64-x86_64-clang
            mingw-w64-x86_64-gcc
            mingw-w64-x86_64-libtre
            mingw-w64-x86_64-pkgconf

      - name: Install Rust
        if: runner.os != 'Windows'
        uses: dtolnay/rust-toolchain@stable

      - name: Install Rust (Windows GNU)
        if: runner.os == 'Windows'
        uses: dtolnay/rust-toolchain@stable
        with:
          targets: x86_64-pc-windows-gnu

      - name: Test
        if: runner.os != 'Windows'
        run: cargo test --locked ${{ matrix.build.features }}

      - name: Test (Windows GNU)
        if: runner.os == 'Windows'
        shell: msys2 {0}
        run: cargo test --locked --target x86_64-pc-windows-gnu ${{ matrix.build.features }}