# 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"]
      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" ]
        rust-version: [ "1.70.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 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: 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
      # 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