Skip to content

Commit

Permalink
Add automated version replacement in example dag indexes
Browse files Browse the repository at this point in the history
Despite earlier attempts to fix the links there were still many places
where the links were pointing to wrong versions of examples.

It has been Noticed in:
#27774 (comment)

This change addresses it in three ways:

* updated tool to fix the linx in historically released documentation
  (applied already in apache/airflow-site#706)
* replaced hard-coded version with `|version|` everywhere and added
  sphinx extension to convert those to actual provider versions (though
  due to sphinx limitation it has to be done with post-processing of the
  generated .html rather than replacing during generation)
* added pre-commit that detects any use of example_dags links to
  main/master/hard-coded version.
  • Loading branch information
potiuk committed Dec 4, 2022
1 parent 0930d16 commit f2e2416
Show file tree
Hide file tree
Showing 62 changed files with 448 additions and 374 deletions.
13 changes: 13 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,19 @@ repos:
entry: "pydevd.*settrace\\("
pass_filenames: true
files: \.py$
- id: check-links-to-example-dags-do-not-use-hardcoded-versions
name: Check that example dags do not use hard-coded version numbers
description: The links to example dags should use |version| as version specification
language: pygrep
entry: >
(?i)
.*https://github.*[0-9]/tests/system/providers|
.*https://github.*/main/tests/system/providers|
.*https://github.*/master/tests/system/providers|
.*https://github.*/main/airflow/providers/.*/example_dags/|
.*https://github.*/master/airflow/providers/.*/example_dags/
pass_filenames: true
files: ^docs/apache-airflow-providers-.*\.rst
- id: check-safe-filter-usage-in-html
language: pygrep
name: Don't use safe in templates
Expand Down
406 changes: 204 additions & 202 deletions STATIC_CODE_CHECKS.rst

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dev/breeze/src/airflow_breeze/pre_commit_ids.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"check-incorrect-use-of-LoggingMixin",
"check-init-decorator-arguments",
"check-lazy-logging",
"check-links-to-example-dags-do-not-use-hardcoded-versions",
"check-merge-conflict",
"check-newsfragments-are-valid",
"check-no-providers-in-core-examples",
Expand Down
24 changes: 12 additions & 12 deletions dev/example_dags/update_example_dags_paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@
EXAMPLE_DAGS_URL_MATCHER = re.compile(
r"^(.*)(https://github.com/apache/airflow/tree/(.*)/airflow/providers/(.*)/example_dags)(/?\".*)$"
)

SYSTEM_TESTS_URL_MATCHER = re.compile(
r"^(.*)(https://github.com/apache/airflow/tree/(.*)/tests/system/providers/(.*))(/?\".*)$"
)


def check_if_url_exists(url: str) -> bool: # type: ignore[return]
response = requests.head(url)
return True # uncomment to check URLs
response = requests.head(url, allow_redirects=True)
if response.status_code == 200:
return True
if response.status_code == 404:
Expand All @@ -57,12 +57,12 @@ def check_if_url_exists(url: str) -> bool: # type: ignore[return]


def replace_match(file: str, line: str, provider: str, version: str) -> str | None:
for matcher in [EXAMPLE_DAGS_URL_MATCHER, SYSTEM_TESTS_URL_MATCHER]:
for index, matcher in enumerate([EXAMPLE_DAGS_URL_MATCHER, SYSTEM_TESTS_URL_MATCHER]):
match = matcher.match(line)
if match:
url_path_to_dir = match.group(4)
branch = match.group(3)
if branch.startswith("providers-"):
if branch.startswith("providers-") and branch.endswith(f"/{version}"):
console.print(f"[green]Already corrected[/]: {provider}:{version}")
continue
system_tests_url = (
Expand All @@ -73,17 +73,17 @@ def replace_match(file: str, line: str, provider: str, version: str) -> str | No
f"https://github.com/apache/airflow/tree/providers-{provider}/{version}"
f"/airflow/providers/{url_path_to_dir}/example_dags"
)
if check_if_url_exists(system_tests_url):
if check_if_url_exists(system_tests_url) and index == 1:
new_line = re.sub(matcher, r"\1" + system_tests_url + r"\5", line)
elif check_if_url_exists(example_dags_url):
elif check_if_url_exists(example_dags_url) and index == 0:
new_line = re.sub(matcher, r"\1" + example_dags_url + r"\5", line)
else:
console.print(
f"[yellow] Neither example dags nor system tests folder"
f" exists for {provider}:{version} -> removing:[/]"
f" exists for {provider}:{version} -> skipping:[/]"
)
console.print(line)
return None
return line
if line != new_line:
console.print(f"[yellow] Replacing in {file}[/]\n{line.strip()}\n{new_line.strip()}")
return new_line
Expand All @@ -101,8 +101,8 @@ def find_matches(_file: Path, provider: str, version: str):


if __name__ == "__main__":
curdir = Path(os.curdir).resolve()
dirs = list(filter(os.path.isdir, curdir.iterdir()))
curdir: Path = Path(os.curdir).resolve()
dirs: list[Path] = list(filter(os.path.isdir, curdir.iterdir()))
with Progress(console=console) as progress:
task = progress.add_task(f"Updating {len(dirs)}", total=len(dirs))
for directory in dirs:
Expand All @@ -113,8 +113,8 @@ def find_matches(_file: Path, provider: str, version: str):
for version_dir in version_dirs:
version = version_dir.name
console.print(version)
for file_name in ["index.html", "example-dags.html"]:
candidate_file = version_dir / file_name
for file in version_dir.rglob("*.html"):
candidate_file = file
if candidate_file.exists():
find_matches(candidate_file, provider, version)
progress.advance(task)
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-airbyte/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-airbyte/3.0.0/tests/system/providers/airbyte>
Example DAGs <https://github.com/apache/airflow/tree/providers-airbyte/|version|/tests/system/providers/airbyte>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-airbyte/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-alibaba/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-alibaba/2.0.0/tests/system/providers/alibaba>
Example DAGs <https://github.com/apache/airflow/tree/providers-alibaba/|version|/tests/system/providers/alibaba>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-alibaba/>
Installing from sources <installing-providers-from-sources>

Expand Down
4 changes: 2 additions & 2 deletions docs/apache-airflow-providers-amazon/example-dags.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ Example DAGs

You can learn how to use Amazon AWS integrations by analyzing the source code of the example DAGs:

* `Amazon AWS <https://github.com/apache/airflow/tree/providers-amazon/4.0.0/tests/system/providers/amazon/aws>`__
* `Amazon AWS (legacy) <https://github.com/apache/airflow/tree/providers-amazon/4.0.0/airflow/providers/amazon/aws/example_dags>`__
* `Amazon AWS <https://github.com/apache/airflow/tree/providers-amazon/|version|/tests/system/providers/amazon/aws>`__
* `Amazon AWS (legacy) <https://github.com/apache/airflow/tree/providers-amazon/|version|/airflow/providers/amazon/aws/example_dags>`__
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-amazon/operators/athena.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ to run a query in Amazon Athena.

In the following example, we query an existing Athena table and send the results to
an existing Amazon S3 bucket. For more examples of how to use this operator, please
see the `Sample DAG <https://github.com/apache/airflow/blob/main/airflow/providers/amazon/aws/example_dags/example_athena.py>`__.
see the `Sample DAG <https://github.com/apache/airflow/blob/|version|/airflow/providers/amazon/aws/example_dags/example_athena.py>`__.

.. exampleinclude:: /../../tests/system/providers/amazon/aws/example_athena.py
:language: python
Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-beam/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Content
:caption: Resources

PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-beam/>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-beam/4.0.0/tests/system/providers/apache/beam>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-beam/|version|/tests/system/providers/apache/beam>

.. toctree::
:maxdepth: 1
Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-cassandra/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-cassandra/3.0.0/tests/system/providers/apache/cassandra>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-cassandra/|version|/tests/system/providers/apache/cassandra>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-cassandra/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-drill/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-drill/2.0.0/tests/system/providers/apache/drill>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-drill/|version|/tests/system/providers/apache/drill>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-drill/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-druid/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Content

PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-druid/>
Installing from sources <installing-providers-from-sources>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-druid/3.0.0/tests/system/providers/apache/druid>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-druid/|version|/tests/system/providers/apache/druid>

.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-hive/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-hive/3.0.0/tests/system/providers/apache/hive>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-hive/|versrion|/tests/system/providers/apache/hive>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-hive/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-kylin/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-kylin/3.0.0/tests/system/providers/apache/kylin>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-kylin/|version|/tests/system/providers/apache/kylin>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-kylin/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-livy/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-livy/3.0.0/tests/system/providers/apache/livy/>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-livy/|version|/tests/system/providers/apache/livy/>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-livy/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-pig/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-pig/3.0.0/tests/system/providers/apache/pig>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-pig/|version|/tests/system/providers/apache/pig>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-pig/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-apache-spark/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-apache-spark/3.0.0/tests/system/providers/apache/spark>
Example DAGs <https://github.com/apache/airflow/tree/providers-apache-spark/|version|/tests/system/providers/apache/spark>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-apache-spark/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-arangodb/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-arangodb/2.0.0/airflow/providers/arangodb/example_dags>
Example DAGs <https://github.com/apache/airflow/tree/providers-arangodb/|version|/airflow/providers/arangodb/example_dags>

.. toctree::
:maxdepth: 1
Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-asana/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-asana/2.0.0/tests/system/providers/asana/example_asana.py>
Example DAGs <https://github.com/apache/airflow/tree/providers-asana/|version|/tests/system/providers/asana/example_asana.py>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-asana/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-cncf-kubernetes/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-cncf-kubernetes/4.1.0/tests/system/providers/cncf/kubernetes>
Example DAGs <https://github.com/apache/airflow/tree/providers-cncf-kubernetes/|version|/tests/system/providers/cncf/kubernetes>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-cncf-kubernetes/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-common-sql/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-common-sql/1.0.0/tests/system/providers/common/sql>
Example DAGs <https://github.com/apache/airflow/tree/providers-common-sql/|version|/tests/system/providers/common/sql>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-common-sql/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-databricks/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-databricks/3.0.0/tests/system/providers/databricks>
Example DAGs <https://github.com/apache/airflow/tree/providers-databricks/|version|/tests/system/providers/databricks>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-databricks/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-dbt-cloud/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-dbt-cloud/2.0.0/tests/system/providers/dbt/cloud/example_dbt_cloud.py>
Example DAGs <https://github.com/apache/airflow/tree/providers-dbt-cloud/|version|/tests/system/providers/dbt/cloud/example_dbt_cloud.py>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-dbt-cloud/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-dingding/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-dingding/3.0.0/tests/system/providers/dingding>
Example DAGs <https://github.com/apache/airflow/tree/providers-dingding/|version|/tests/system/providers/dingding>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-dingding/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-docker/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-docker/3.0.0/tests/system/providers/docker>
Example DAGs <https://github.com/apache/airflow/tree/providers-docker/|version|/tests/system/providers/docker>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-docker/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-elasticsearch/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-elasticsearch/4.0.0/system/tests/elasticsearch/>
Example DAGs <https://github.com/apache/airflow/tree/providers-elasticsearch/|version|/system/tests/elasticsearch/>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-elasticsearch/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-github/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-github/2.0.0/tests/system/providers/github>
Example DAGs <https://github.com/apache/airflow/tree/providers-github/|version|/tests/system/providers/github>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-github/>
Installing from sources <installing-providers-from-sources>

Expand Down
14 changes: 7 additions & 7 deletions docs/apache-airflow-providers-google/example-dags.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ Example DAGs
============
You can learn how to use Google integrations by analyzing the source code of the example DAGs:

* `Google Ads <https://github.com/apache/airflow/tree/providers-google/8.1.0/tests/system/providers/google/ads>`__
* `Google Cloud (legacy) <https://github.com/apache/airflow/tree/providers-google/8.0.0/airflow/providers/google/cloud/example_dags>`__
* `Google Cloud <https://github.com/apache/airflow/tree/providers-google/8.0.0/tests/system/providers/google>`__
* `Google Firebase <https://github.com/apache/airflow/tree/providers-google/8.1.0/tests/system/providers/google/firebase>`__
* `Google Marketing Platform <https://github.com/apache/airflow/tree/providers-google/8.0.0/airflow/providers/google/marketing_platform/example_dags>`__
* `Google Workplace <https://github.com/apache/airflow/tree/providers-google/8.3.0/tests/system/providers/google/suite>`__ (formerly Google Suite)
* `Google LevelDB <https://github.com/apache/airflow/tree/providers-google/8.0.0/tests/system/providers/google/leveldb>`__
* `Google Ads <https://github.com/apache/airflow/tree/providers-google/|version|/tests/system/providers/google/ads>`__
* `Google Cloud (legacy) <https://github.com/apache/airflow/tree/providers-google/|version|/airflow/providers/google/cloud/example_dags>`__
* `Google Cloud <https://github.com/apache/airflow/tree/providers-google/|version|/tests/system/providers/google>`__
* `Google Firebase <https://github.com/apache/airflow/tree/providers-google/|version|/tests/system/providers/google/firebase>`__
* `Google Marketing Platform <https://github.com/apache/airflow/tree/providers-google/|version|/airflow/providers/google/marketing_platform/example_dags>`__
* `Google Workplace <https://github.com/apache/airflow/tree/providers-google/|version|/tests/system/providers/google/suite>`__ (formerly Google Suite)
* `Google LevelDB <https://github.com/apache/airflow/tree/providers-google/|version|/tests/system/providers/google/leveldb>`__
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ Google Cloud Operators

.. note::
You can learn how to use Google Cloud integrations by analyzing the
`source code <https://github.com/apache/airflow/tree/providers-google/8.0.0/tests/system/providers/google/cloud>`_ of the particular example DAGs.
`source code <https://github.com/apache/airflow/tree/providers-google/|version|/tests/system/providers/google/cloud>`_ of the particular example DAGs.
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-http/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-http/3.0.0/tests/system/providers/http>
Example DAGs <https://github.com/apache/airflow/tree/providers-http/|version|/tests/system/providers/http>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-http/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-influxdb/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-influxdb/2.0.0/tests/system/providers/influxdb>
Example DAGs <https://github.com/apache/airflow/tree/providers-influxdb/|version|/tests/system/providers/influxdb>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-influxdb/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-jdbc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-jdbc/3.0.0/tests/system/providers/jdbc/>
Example DAGs <https://github.com/apache/airflow/tree/providers-jdbc/|version|/tests/system/providers/jdbc/>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-jdbc/>
Installing from sources <installing-providers-from-sources>

Expand Down
2 changes: 1 addition & 1 deletion docs/apache-airflow-providers-jenkins/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Content
:maxdepth: 1
:caption: Resources

Example DAGs <https://github.com/apache/airflow/tree/providers-jenkins/3.0.0/tests/system/providers/jenkins>
Example DAGs <https://github.com/apache/airflow/tree/providers-jenkins/|version|/tests/system/providers/jenkins>
PyPI Repository <https://pypi.org/project/apache-airflow-providers-jenkins/>
Installing from sources <installing-providers-from-sources>

Expand Down
Loading

0 comments on commit f2e2416

Please sign in to comment.