name: Test type stubs
on: [push, pull_request]
permissions:
  contents: read

jobs:
  stubtest:
    name: Run stubtest
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2

      - name: Set up latest Python 3
        uses: actions/setup-python@f38219332975fe8f9c04cca981d674bf22aea1d3 # v2
        with:
          python-version: 3

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install mypy==0.921 types-protobuf==3.19.21

      - name: Execute run_stubtest.py
        run: |
          cd python
          python run_stubtest.py

  mypy:
    name: Run mypy on stubs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2

      - name: Set up latest Python 3
        uses: actions/setup-python@f38219332975fe8f9c04cca981d674bf22aea1d3 # v2
        with:
          python-version: 3

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install mypy==0.921 types-protobuf==3.19.21

      - name: Run mypy
        run: |
          cd python
          mypy --exclude pb2/ -p phonenumbers
