name: CI

on:
  pull_request:
  push:
    branches: [main]
    tags: ['v*']

jobs:
#  mypy:
#    if: ${{ !github.event.pull_request.draft }}
#    runs-on: ubuntu-latest
#    steps:
#      - name: Check out repository
#        uses: actions/checkout@v3
#      - uses: ./.github/actions/setup
#        with:
#          os: "ubuntu-latest"
#          python-version: "3.9"
#          venv-id: "docs"
#          poetry-dependency-install-flags: "--all-extras --only 'main,dev'"
#      - name: mypy
#        run: MYPYPATH=stubs poetry run mypy src

  docs:
    if: ${{ !github.event.pull_request.draft }}
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v3
      - uses: ./.github/actions/setup
        with:
          os: "ubuntu-latest"
          python-version: "3.9"
          venv-id: "docs"
          poetry-dependency-install-flags: "--all-extras --only 'main,docs'"
      - name: docs
        run: poetry run sphinx-build -W --keep-going -T -b html docs/source docs/build

#  tests:
#    strategy:
#      fail-fast: false
#      matrix:
#        os: [ "ubuntu-latest" ]
#        python-version: [ "3.9", "3.10", "3.11" ]
#    runs-on: "${{ matrix.os }}"
#    defaults:
#      run:
#        # This might be needed for Windows and doesn't seem to affect unix-based systems
#        # so we include it. If you have better proof of whether this is needed or not,
#        # feel free to update.
#        shell: bash
#    steps:
#      - name: Check out repository
#        uses: actions/checkout@v3
#      - uses: ./.github/actions/setup
#        with:
#          os: "${{ matrix.os }}"
#          python-version: "${{ matrix.python-version }}"
#          venv-id: "tests-${{ runner.os }}"
#          poetry-dependency-install-flags: "--all-extras"
#      - name: Run tests
#        run: |
#          poetry run pytest -r a -v src tests --doctest-modules --cov=src --cov-report=term-missing --cov-report=xml
#          poetry run coverage report
#      - name: Upload coverage reports to Codecov
#        uses: codecov/codecov-action@v3

#  imports-without-extras:
#    strategy:
#      fail-fast: false
#      matrix:
#        os: [ "ubuntu-latest" ]
#        python-version: [ "3.9", "3.10", "3.11" ]
#    runs-on: "${{ matrix.os }}"
#    steps:
#      - name: Check out repository
#        uses: actions/checkout@v3
#      - uses: ./.github/actions/setup
#        with:
#          python-version: "${{ matrix.python-version }}"
#          venv-id: "imports-without-extras-${{ runner.os }}"
#          poetry-dependency-install-flags: "--only main"
#      - name: Check importable without extras
#        run: poetry run python scripts/test-install.py
#
#  check-build:
#    runs-on: ubuntu-latest
#    steps:
#      - name: Check out repository
#        uses: actions/checkout@v3
#      - uses: ./.github/actions/setup
#        with:
#          python-version: "3.9"
#          venv-id: "check-build-${{ runner.os }}"
#          run-poetry-install: false
#          poetry-dependency-install-flags: "not used"
#      - name: Build package
#        run: |
#          poetry build --no-interaction
#      - name: Check build
#        run: |
#          tar -tvf dist/unfccc_ghg_data-*.tar.gz --wildcards '*unfccc_ghg_data/py.typed'
#          tar -tvf dist/unfccc_ghg_data-*.tar.gz --wildcards 'unfccc_ghg_data-*/LICENCE'


#  check-dependency-licences:
#    runs-on: ubuntu-latest
#    steps:
#      - name: Check out repository
#        uses: actions/checkout@v3
#      - uses: ./.github/actions/setup
#        with:
#          python-version: "3.9"
#          venv-id: "licence-check"
#          poetry-dependency-install-flags: "--all-extras"
#      - name: Check licences of dependencies
#        shell: bash
#        run: |
#          TEMP_FILE=$(mktemp)
#          poetry export --without=tests --without=docs --without=dev > $TEMP_FILE
#          poetry run liccheck -r $TEMP_FILE -R licence-check.txt
#          cat licence-check.txt