name: bindgen

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  rustfmt-clippy:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          # TODO: Should ideally be stable, but we use some nightly-only
          # features.
          toolchain: nightly
          override: true
          components: rustfmt, clippy

      - name: Run rustfmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- --check

      - name: Run clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --tests

  msrv:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Install msrv
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          # MSRV below is documented in Cargo.toml and README.md, please update those if you
          # change this.
          toolchain: 1.60.0
          override: true

      - name: Build with msrv
        run: rm Cargo.lock && cargo +1.60.0 build --lib

  minimal:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -D warnings
    steps:
      - uses: actions/checkout@v3

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Check without default features 
        run: cargo check -p bindgen --no-default-features --features=runtime 

  docs:
    runs-on: ubuntu-latest
    env:
      RUSTDOCFLAGS: -D warnings
    steps:
      - uses: actions/checkout@v3

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Generate documentation for `bindgen` 
        run: cargo doc --document-private-items --no-deps -p bindgen 

      - name: Generate documentation for `bindgen-cli` 
        run: cargo doc --document-private-items --no-deps -p bindgen-cli

  quickchecking:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      # TODO: Actually run quickchecks once `bindgen` is reliable enough.
      - name: Build quickcheck tests
        run: cd bindgen-tests/tests/quickchecking && cargo test

  test-expectations:
    runs-on: ${{matrix.os}}
    strategy:
      matrix:
        # TODO(#1954): These should be run on mac too, but turns out they're
        # broken.
        os: [ubuntu-latest, macos-latest]
    steps:
      - uses: actions/checkout@v3

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      - name: Test expectations
        run: cd bindgen-tests/tests/expectations && cargo test

  test:
    runs-on: ${{matrix.os}}
    strategy:
      matrix:
        os: [ubuntu-latest]
        target:
          - debian: null
            cross: null
            rust: null
        llvm_version: ["5.0", "9.0"]
        main_tests: [1]
        release_build: [0, 1]
        no_default_features: [0, 1]
        # FIXME: There are no pre-built static libclang libraries, so the
        # `static` feature is not testable atm.
        feature_runtime: [0, 1]
        feature_extra_asserts: [0]

        include:
          # Test with extra asserts + docs just with latest llvm versions to
          # prevent explosion
          - os: ubuntu-latest
            llvm_version: "9.0"
            release_build: 0
            no_default_features: 0
            feature_extra_asserts: 1

          # FIXME: Seems installing multiarch packages fails:
          #
          #   https://github.com/rust-lang/rust-bindgen/pull/2037/checks?check_run_id=2441799333
          #
          # - os: ubuntu-latest
          #   target:
          #     debian: arm64
          #     cross: aarch64-linux-gnu
          #     rust: aarch64-unknown-linux-gnu
          #   llvm_version: "9.0"
          #   main_tests: 0
          #   release_build: 0
          #   feature_extra_asserts: 0

          # Ensure stuff works on macos too
          - os: macos-latest
            llvm_version: "9.0"
            release_build: 0
            no_default_features: 0
            feature_extra_asserts: 0
    steps:
      - uses: actions/checkout@v3

      - name: Install multiarch packages
        if: matrix.target.debian
        run: |
          sudo apt-get install binfmt-support qemu-user-static gcc-${{matrix.target.cross}} g++-${{matrix.target.cross}}
          source /etc/lsb-release
          sudo tee /etc/apt/sources.list <<EOF >/dev/null
          deb [arch=${{matrix.target.debian}}] http://ports.ubuntu.com/ubuntu-ports/ $DISTRIB_CODENAME main
          deb [arch=${{matrix.target.debian}}] http://ports.ubuntu.com/ubuntu-ports/ $DISTRIB_CODENAME-updates main
          deb [arch=${{matrix.target.debian}}] http://ports.ubuntu.com/ubuntu-ports/ $DISTRIB_CODENAME-backports main
          deb [arch=${{matrix.target.debian}}] http://ports.ubuntu.com/ubuntu-ports/ $DISTRIB_CODENAME-security main
          EOF
          sudo dpkg --add-architecture ${{matrix.target.debian}}
          sudo apt-get update
          sudo apt-get install libc6:${{matrix.target.debian}} libstdc++6:${{matrix.target.debian}}

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          target: ${{matrix.target.rust}}
          override: true
      - name: Install libtinfo
        if: matrix.os == 'ubuntu-latest'
        run: |
          sudo apt-get update
          sudo apt-get install libtinfo5
      - name: Run all the tests
        env:
          GITHUB_ACTIONS_OS: ${{matrix.os}}
          RUST_CROSS_COMPILER: ${{matrix.target.cross}}
          RUST_TARGET: ${{matrix.target.rust}}
          LLVM_VERSION: ${{matrix.llvm_version}}
          BINDGEN_MAIN_TESTS: ${{matrix.main_tests}}
          BINDGEN_RELEASE_BUILD: ${{matrix.release_build}}
          BINDGEN_FEATURE_RUNTIME: ${{matrix.feature_runtime}}
          BINDGEN_FEATURE_EXTRA_ASSERTS: ${{matrix.feature_extra_asserts}}
          BINDGEN_NO_DEFAULT_FEATURES: ${{matrix.no_default_features}}
        run: ./ci/test.sh

  check-cfg:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: -D warnings
    steps:
      - uses: actions/checkout@v3
      
      - name: Install nightly
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
      
      - name: Check cfg
        run: cargo check -Z unstable-options -Z check-cfg=features

  test-book:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Install stable
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true

      # NOTE(emilio): Change deploy-book as well if you change this.
      - name: Test book
        run: |
          curl -L https://github.com/rust-lang/mdBook/releases/download/v0.4.5/mdbook-v0.4.5-x86_64-unknown-linux-gnu.tar.gz | tar xz
          ./mdbook build book
          ./mdbook test book
