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