This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 82f1f3879a Fix remote installation from git (#37340)
82f1f3879a is described below
commit 82f1f3879a166e751ef93a23bd502c76a823ef2f
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Feb 11 19:36:24 2024 +0100
Fix remote installation from git (#37340)
Having hatch_build.py in dev is not a good idea because hatch_build
is removed from the archive produced by git archive and effectively
it means that when you install Airflow from git URL it cannot find
hatch_build.py
---
.dockerignore | 1 +
Dockerfile.ci | 2 +-
dev/hatch_build.py => hatch_build.py | 6 +++---
pyproject.toml | 6 +++---
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/.dockerignore b/.dockerignore
index 9b2a558846..3ddf7344a4 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -52,6 +52,7 @@
!.github
!empty
!Dockerfile
+!hatch_build.py
# This folder is for you if you want to add any packages to the docker context
when you build your own
# docker image. most of other files and any new folder you add will be
excluded by default
diff --git a/Dockerfile.ci b/Dockerfile.ci
index a7a3396925..1d5c88d9ba 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -1180,7 +1180,7 @@ COPY generated/* ${AIRFLOW_SOURCES}/generated/
COPY constraints/* ${AIRFLOW_SOURCES}/constraints/
COPY LICENSE ${AIRFLOW_SOURCES}/LICENSE
COPY dev/airflow_pre_installed_providers.txt
${AIRFLOW_SOURCES}/dev/airflow_pre_installed_providers.txt
-COPY dev/hatch_build.py ${AIRFLOW_SOURCES}/dev/hatch_build.py
+COPY hatch_build.py ${AIRFLOW_SOURCES}/
COPY --from=scripts install_airflow.sh /scripts/docker/
# The goal of this line is to install the dependencies from the most current
pyproject.toml from sources
diff --git a/dev/hatch_build.py b/hatch_build.py
similarity index 97%
rename from dev/hatch_build.py
rename to hatch_build.py
index afbf35df63..844bd39dca 100644
--- a/dev/hatch_build.py
+++ b/hatch_build.py
@@ -32,7 +32,7 @@ log = logging.getLogger(__name__)
log_level = logging.getLevelName(os.getenv("CUSTOM_AIRFLOW_BUILD_LOG_LEVEL",
"INFO"))
log.setLevel(log_level)
-AIRFLOW_ROOT_PATH = Path(__file__).parent.parent.resolve()
+AIRFLOW_ROOT_PATH = Path(__file__).parent.resolve()
GENERATED_PROVIDERS_DEPENDENCIES_FILE = AIRFLOW_ROOT_PATH / "generated" /
"provider_dependencies.json"
DEV_DIR_PATH = AIRFLOW_ROOT_PATH / "dev"
PREINSTALLED_PROVIDERS_FILE = DEV_DIR_PATH /
"airflow_pre_installed_providers.txt"
@@ -84,7 +84,7 @@ class CustomBuild(BuilderInterface[BuilderConfig,
PluginManager]):
run(cmd, cwd=work_dir.as_posix(), check=True, shell=True)
def get_version_api(self) -> dict[str, Callable[..., str]]:
- """Custom build target for standard package preparation."""
+ """Get custom build target for standard package preparation."""
return {"standard": self.build_standard}
def build_standard(self, directory: str, artifacts: Any, **build_data:
Any) -> str:
@@ -149,7 +149,7 @@ class CustomBuildHook(BuildHookInterface[BuilderConfig]):
def initialize(self, version: str, build_data: dict[str, Any]) -> None:
"""
- This occurs immediately before each build.
+ Initialize hook immediately before each build.
Any modifications to the build data will be seen by the build target.
"""
diff --git a/pyproject.toml b/pyproject.toml
index eb6f6b8322..36411e4f3f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1221,13 +1221,13 @@ features = []
path = "airflow/__init__.py"
[tool.hatch.build.targets.wheel.hooks.custom]
-path = "./dev/hatch_build.py"
+path = "./hatch_build.py"
[tool.hatch.build.hooks.custom]
-path = "./dev/hatch_build.py"
+path = "./hatch_build.py"
[tool.hatch.build.targets.custom]
-path = "./dev/hatch_build.py"
+path = "./hatch_build.py"
[tool.hatch.build.targets.sdist]
include = [