Our docs build is failing with the following error on PRs and locally, example https://github.com/apache/airflow/pull/14983/checks?check_run_id=2185523525#step:4:282:

```
Fetched inventory: https://googleapis.dev/python/videointelligence/latest/objects.inv
Traceback (most recent call last):
  File "/opt/airflow/docs/build_docs.py", line 278, in <module>
    main()
  File "/opt/airflow/docs/build_docs.py", line 218, in main
    priority_packages = fetch_inventories()
  File "/opt/airflow/docs/exts/docs_build/fetch_inventories.py", line 126, in fetch_inventories
    failed, success = list(failed), list(failed)
  File "/usr/local/lib/python3.6/concurrent/futures/_base.py", line 586, in result_iterator
    yield fs.pop().result()
  File "/usr/local/lib/python3.6/concurrent/futures/_base.py", line 425, in result
    return self.__get_result()
  File "/usr/local/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/airflow/docs/exts/docs_build/fetch_inventories.py", line 53, in _fetch_file
    response = session.get(url, allow_redirects=True, stream=True)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 677, in send
    history = [resp for resp in gen]
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 677, in <listcomp>
    history = [resp for resp in gen]
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 166, in resolve_redirects
    raise TooManyRedirects('Exceeded {} redirects.'.format(self.max_redirects), response=resp)
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
###########################################################################################
```

To reproduce locally run:

```
./breeze build-docs -- --package-filter apache-airflow
```
docs/exts/docs_build/fetch_inventories.py
return True
    delta = datetime.datetime.now() - datetime.datetime.fromtimestamp(os.path.getmtime(path))
    return delta > datetime.timedelta(hours=12)
def fetch_inventories():
    """Fetch all inventories for Airflow documentation packages and store in cache."""
    os.makedirs(os.path.dirname(CACHE_DIR), exist_ok=True)
    to_download: List[Tuple[str, str, str]] = []
    for pkg_name in get_available_providers_packages():
        to_download.append(
            (
                pkg_name,
                S3_DOC_URL_VERSIONED.format(package_name=pkg_name),
                f'{CACHE_DIR}/{pkg_name}/objects.inv',
            )
        )
    to_download.append(
        (
            "apache-airflow",
            S3_DOC_URL_VERSIONED.format(package_name='apache-airflow'),
            f'{CACHE_DIR}/apache-airflow/objects.inv',
        )
    )
    for pkg_name in ['apache-airflow-providers', 'docker-stack']:
        to_download.append(
            (
                pkg_name,
                S3_DOC_URL_NON_VERSIONED.format(package_name=pkg_name),
                f'{CACHE_DIR}/{pkg_name}/objects.inv',
            )
        )