def get_airflow_extras(): airflow_dockerfile = Path(get_airflow_sources_root()) / 'Dockerfile' with open(airflow_dockerfile) as dockerfile: for line in dockerfile.readlines(): if "ARG AIRFLOW_EXTRAS=" in line: line = line.split('=')[1].strip() return line.replace('"', '')
def construct_docker_command(ci_image: BuildParams) -> List[str]: arguments = construct_arguments_docker_command(ci_image) final_command = [] final_command.extend(["docker", "build"]) final_command.extend(arguments) final_command.extend(["-t", ci_image.airflow_ci_image_name, "--target", "main", "."]) final_command.extend(["-f", str(Path(get_airflow_sources_root(), 'Dockerfile.ci').resolve())]) return final_command
def build_docs(verbose: bool, docs_only: bool, spellcheck_only: bool, package_filter: Tuple[str]): """ Builds documentation in the container """ params = BuildParams() airflow_sources = str(get_airflow_sources_root()) ci_image_name = params.airflow_ci_image_name check_docker_resources(verbose, airflow_sources, ci_image_name) doc_builder = DocBuilder( package_filter=package_filter, docs_only=docs_only, spellcheck_only=spellcheck_only ) build_documentation.build(verbose, airflow_sources, ci_image_name, doc_builder)
def get_available_packages() -> List[str]: docs_path_content = Path(get_airflow_sources_root(), 'docs').glob('*/') available_packages = [x.name for x in docs_path_content if x.is_dir()] return list(set(available_packages) - set(EXCLUDE_DOCS_PACKAGE_FOLDER))
def get_airflow_version(): airflow_setup_file = Path(get_airflow_sources_root()) / 'setup.py' with open(airflow_setup_file) as setup_file: for line in setup_file.readlines(): if "version =" in line: return line.split()[2][1:-1]