# Build and test the python package
name: Python build and test

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

permissions:
  contents: read

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
      fail-fast: false

    steps:
    - name: Check out from Git
      uses: actions/checkout@v3
    - name: Get history and tags for SCM versioning to work
      run: |
        git fetch --prune --unshallow
        git fetch --depth=1 origin +refs/tags/*:refs/tags/*
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install ".[build,test,development,documentation]"
    - name: Test
      run: |
        invoke test
    - name: Build
      run: |
        inv build
        inv build.mkdocs

  build-rust:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
        rust-version: [ "1.76.0", "stable" ]
      fail-fast: false
    steps:
      - name: Check out from Git
        uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install Python dependencies
        run: |
          python -m pip install --upgrade pip
          python -m pip install ".[build,test,development,documentation]"
      - name: Install Rust toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: clippy,rustfmt
          toolchain: ${{ matrix.rust-version }}
      - name: Install Rust dependencies
        run: cargo install cargo-all-features # allows building/testing combinations of features
      - name: Check License Headers
        run: cd rust && cargo run --features dev-tools --bin file-header check-all
      - name: Rust Build
        run: cd rust && cargo build --all-targets && cargo build-all-features --all-targets
      # Lints after build so what clippy needs is already built
      - name: Rust Lints
        run: cd rust && cargo fmt --check && cargo clippy --all-targets -- --deny warnings && cargo clippy --all-features --all-targets -- --deny warnings
      - name: Rust Tests
        run: cd rust && cargo test-all-features
      # At some point, hook up publishing the binary. For now, just make sure it builds.
      # Once we're ready to publish binaries, this should be built with `--release`.
      - name: Build Bumble CLI
        run: cd rust && cargo build --features bumble-tools --bin bumble