diff --git a/.dockerignore b/.dockerignore index c1e439cb863..965ad52fb3d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -14,6 +14,7 @@ hail/.ensime.cache.d/ hail/.ensime_cache.d/ hail/.ensime_cache/ hail/build/ +!hail/build/deploy/dist/*.whl hail/hail.iml hail/hail.log hail/out/ @@ -26,4 +27,5 @@ hail/src/main/c/libsimdpp-2.0-rc2.tar.gz hail/src/main/resources/build-info.properties hail/src/test/resources/example.v11.bgen.idx hail/src/test/resources/random.bgen.idx +benchmark/python/build/ ci/repos diff --git a/Makefile b/Makefile index d4003d8505f..943226866e9 100644 --- a/Makefile +++ b/Makefile @@ -98,6 +98,7 @@ install-dev-requirements: python3 -m pip install \ -r hail/python/pinned-requirements.txt \ -r hail/python/dev/pinned-requirements.txt \ + -r benchmark/python/pinned-requirements.txt \ -r gear/pinned-requirements.txt \ -r web_common/pinned-requirements.txt \ -r batch/pinned-requirements.txt \ @@ -112,6 +113,9 @@ hail/python/pinned-requirements.txt: hail/python/hailtop/pinned-requirements.txt hail/python/dev/pinned-requirements.txt: hail/python/pinned-requirements.txt hail/python/dev/requirements.txt ./generate-linux-pip-lockfile.sh hail/python/dev +benchmark/python/pinned-requirements.txt: benchmark/python/requirements.txt + ./generate-linux-pip-lockfile.sh benchmark/python + gear/pinned-requirements.txt: hail/python/pinned-requirements.txt hail/python/dev/pinned-requirements.txt hail/python/hailtop/pinned-requirements.txt gear/requirements.txt ./generate-linux-pip-lockfile.sh gear @@ -128,6 +132,7 @@ ci/pinned-requirements.txt: web_common/pinned-requirements.txt ci/requirements.t generate-pip-lockfiles: hail/python/hailtop/pinned-requirements.txt generate-pip-lockfiles: hail/python/pinned-requirements.txt generate-pip-lockfiles: hail/python/dev/pinned-requirements.txt +generate-pip-lockfiles: benchmark/python/pinned-requirements.txt generate-pip-lockfiles: gear/pinned-requirements.txt generate-pip-lockfiles: web_common/pinned-requirements.txt generate-pip-lockfiles: batch/pinned-requirements.txt diff --git a/batch/pinned-requirements.txt b/batch/pinned-requirements.txt index ebf2ae519db..90417efb954 100644 --- a/batch/pinned-requirements.txt +++ b/batch/pinned-requirements.txt @@ -66,7 +66,6 @@ multidict==6.0.4 # yarl numpy==1.26.1 # via - # -c hail/batch/../hail/python/dev/pinned-requirements.txt # -c hail/batch/../hail/python/pinned-requirements.txt # pandas packaging==23.2 diff --git a/benchmark/Dockerfile b/benchmark/Dockerfile index 720ff9dc0d7..dd89bf7f169 100644 --- a/benchmark/Dockerfile +++ b/benchmark/Dockerfile @@ -1,43 +1,23 @@ -FROM --platform=linux/amd64 {{ global.docker_root_image }} +ARG HAIL_UBUNTU +FROM --platform=linux/amd64 ${HAIL_UBUNTU} -ENV LANG C.UTF-8 +RUN hail-apt-get-install \ + liblapack3 \ + openjdk-11-jre-headless \ + wget -ARG DEBIAN_FRONTEND=noninteractive -RUN apt-get update && \ - apt-get -y install \ - git \ - htop \ - unzip bzip2 zip tar \ - wget curl \ - rsync \ - emacs-nox \ - mysql-client \ - xsltproc pandoc \ - jq \ - python \ - python3.9 python3-pip python3.9-dev \ - liblapack3 && \ - update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 && \ - rm -rf /var/lib/apt/lists/* +COPY benchmark/python/pinned-requirements.txt benchmark-requirements.txt +COPY hail/python/pinned-requirements.txt hail-requirements.txt +RUN hail-pip-install \ + -r benchmark-requirements.txt \ + -r hail-requirements.txt -RUN wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | apt-key add - && \ - echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list && \ - apt update && \ - apt -y install temurin-11-jdk - -COPY requirements.txt requirements.txt -RUN python3 -m pip install --upgrade --no-cache-dir --upgrade pip && \ - python3 -m pip install --upgrade --no-cache-dir setuptools && \ - python3 -m pip install --upgrade --no-cache-dir -r requirements.txt && \ - python3 -m pip install --upgrade --no-cache-dir aiomysql && \ - python3 -m pip check +ARG BENCHMARK_WHEEL +COPY ${BENCHMARK_WHEEL} . ARG HAIL_WHEEL -COPY $HAIL_WHEEL . -RUN python3 -m pip install --upgrade --no-cache-dir --quiet $HAIL_WHEEL && \ - python3 -m pip check +COPY ${HAIL_WHEEL} . -ARG BENCHMARK_WHEEL -COPY $BENCHMARK_WHEEL . -RUN python3 -m pip install --upgrade --no-cache-dir --quiet $BENCHMARK_WHEEL && \ - python3 -m pip check +RUN hail-pip-install --no-deps --quiet \ + $(basename ${BENCHMARK_WHEEL}) \ + $(basename ${HAIL_WHEEL}) diff --git a/benchmark/Makefile b/benchmark/Makefile index 5c9d2dc5333..42693731349 100644 --- a/benchmark/Makefile +++ b/benchmark/Makefile @@ -1,12 +1,5 @@ include ../config.mk - -ifndef HAIL_WHEEL -$(error HAIL_WHEEL is not set!) -endif - -ifndef HAIL_PIP_VERSION -$(error HAIL_PIP_VERSION is not set!) -endif +include ../hail/version.mk SHORT_REVISION := $(shell git rev-parse --short=12 HEAD) @@ -14,10 +7,13 @@ HAIL_PYTHON3 ?= python3 PIP := $(HAIL_PYTHON3) -m pip BENCHMARK_WHEEL := python/dist/benchmark_hail-$(HAIL_PIP_VERSION)-py3-none-any.whl -.PHONY: wheel -wheel: +$(BENCHMARK_WHEEL): $(shell git ls-files python) + echo $^ cd python/ && HAIL_BENCHMARK_VERSION=$(HAIL_PIP_VERSION) $(HAIL_PYTHON3) setup.py -q bdist_wheel +.PHONY: wheel +wheel: $(BENCHMARK_WHEEL) + .PHONY: install install: wheel -$(PIP) uninstall -y benchmark_hail @@ -25,32 +21,27 @@ install: wheel .PHONY: cleanup_image cleanup_image: - rm -f image_sha - rm -f pushed_image + rm -f image_sha pushed_image BENCHMARK_DOCKER_TAG ?= $(shell whoami) BECNHMARK_IMAGE_REPOSITORY ?= us-docker.pkg.dev/broad-ctsa/hail-benchmarks BENCHMARK_REPO_BASE = $(BECNHMARK_IMAGE_REPOSITORY)/$(BENCHMARK_DOCKER_TAG) -DOCKER_ROOT_IMAGE := ubuntu:22.04 -ifndef HAIL_WHEEL -image_sha: - @echo the image_sha target requires the HAIL_WHEEL variable to be set. - exit 1 -else -image_sha: wheel cleanup_image - cp $(HAIL_WHEEL) . - cp $(BENCHMARK_WHEEL) . - # it's possible that the HAIL_WHEEL installs different dependencies, but this generally creates less work for docker - cp ../hail/python/dev/pinned-requirements.txt requirements.txt - python3 ../ci/jinja2_render.py '{"global":{"docker_root_image":"$(DOCKER_ROOT_IMAGE)"}}' Dockerfile Dockerfile.out - docker build --platform linux/amd64 -f Dockerfile.out -t $(BENCHMARK_DOCKER_TAG) . --build-arg HAIL_WHEEL=$(notdir $(HAIL_WHEEL)) --build-arg BENCHMARK_WHEEL=$(notdir $(BENCHMARK_WHEEL)) +.PHONY: hail-ubuntu-image +hail-ubuntu-image: + $(MAKE) -C ../ $@ + +.PHONY: hail-wheel +hail-wheel: + $(MAKE) -C ../hail wheel + +image_sha: hail-ubuntu-image wheel hail-wheel cleanup_image + docker build --platform linux/amd64 -f Dockerfile -t $(BENCHMARK_DOCKER_TAG) ../ \ + --build-arg HAIL_UBUNTU=$(shell cat ../hail-ubuntu-image) \ + --build-arg BENCHMARK_WHEEL=benchmark/$(BENCHMARK_WHEEL) \ + --build-arg HAIL_WHEEL=hail/build/deploy/dist/hail-$(HAIL_PIP_VERSION)-py3-none-any.whl @printf $$(docker images -q --no-trunc $(BENCHMARK_DOCKER_TAG) | sed -e 's,[^:]*:,,') > image_sha @echo Image sha is `cat image_sha` - rm $(notdir $(HAIL_WHEEL)) - rm $(notdir $(BENCHMARK_WHEEL)) - rm requirements.txt -endif pushed_image: image_sha @printf $(BENCHMARK_REPO_BASE):`cat image_sha` > pushed_image @@ -62,15 +53,12 @@ BENCHMARK_ITERS ?= 3 BENCHMARK_REPLICATES ?= 5 HAIL_WHEEL_DESCRIPTOR ?= $(HAIL_PIP_VERSION)-$(SHORT_REVISION) BENCHMARK_BUCKET ?= gs://hail-benchmarks-2 -.PHONY: benchmark -benchmark: pushed_image install +.PHONY: submit +submit: pushed_image install @echo Using pushed image `cat pushed_image` $(HAIL_PYTHON3) scripts/benchmark_in_batch.py `cat pushed_image` $(BENCHMARK_BUCKET)/$(shell whoami) $(HAIL_WHEEL_DESCRIPTOR) $(BENCHMARK_REPLICATES) $(BENCHMARK_ITERS) -clean: +clean: cleanup_image rm -rf python/dist/* rm -rf python/build/* - rm -f $(notdir $(HAIL_WHEEL)) rm -f $(notdir $(BENCHMARK_WHEEL)) - rm -f requirements.txt - rm -f hailtop_requirements.txt diff --git a/benchmark/python/pinned-requirements.txt b/benchmark/python/pinned-requirements.txt new file mode 100644 index 00000000000..7a15b1905dc --- /dev/null +++ b/benchmark/python/pinned-requirements.txt @@ -0,0 +1,51 @@ +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile --output-file=hail/benchmark/python/pinned-requirements.txt hail/benchmark/python/requirements.txt +# +contourpy==1.1.1 + # via + # -c hail/benchmark/python/../../hail/python/pinned-requirements.txt + # matplotlib +cycler==0.12.1 + # via matplotlib +fonttools==4.43.1 + # via matplotlib +importlib-resources==6.1.0 + # via matplotlib +kiwisolver==1.4.5 + # via matplotlib +matplotlib==3.8.0 + # via -r hail/benchmark/python/requirements.txt +numpy==1.26.1 + # via + # -c hail/benchmark/python/../../hail/python/pinned-requirements.txt + # contourpy + # matplotlib +packaging==23.2 + # via + # -c hail/benchmark/python/../../hail/python/dev/pinned-requirements.txt + # -c hail/benchmark/python/../../hail/python/pinned-requirements.txt + # matplotlib +pillow==10.1.0 + # via + # -c hail/benchmark/python/../../hail/python/dev/pinned-requirements.txt + # -c hail/benchmark/python/../../hail/python/pinned-requirements.txt + # matplotlib +pyparsing==3.1.1 + # via matplotlib +python-dateutil==2.8.2 + # via + # -c hail/benchmark/python/../../hail/python/dev/pinned-requirements.txt + # -c hail/benchmark/python/../../hail/python/pinned-requirements.txt + # matplotlib +six==1.16.0 + # via + # -c hail/benchmark/python/../../hail/python/dev/pinned-requirements.txt + # -c hail/benchmark/python/../../hail/python/pinned-requirements.txt + # python-dateutil +zipp==3.17.0 + # via + # -c hail/benchmark/python/../../hail/python/dev/pinned-requirements.txt + # importlib-resources diff --git a/benchmark/python/requirements.txt b/benchmark/python/requirements.txt new file mode 100644 index 00000000000..85a2faae323 --- /dev/null +++ b/benchmark/python/requirements.txt @@ -0,0 +1,5 @@ +-c ../../hail/python/pinned-requirements.txt +# dev is installed in the batch tests +-c ../../hail/python/dev/pinned-requirements.txt + +matplotlib>=3.5,<4 diff --git a/build.yaml b/build.yaml index d7975c7c3cd..da9a1252006 100644 --- a/build.yaml +++ b/build.yaml @@ -2803,6 +2803,7 @@ steps: cp -R /io/repo/hail/python ./hail/ cp /io/repo/hail/Makefile ./hail/ cp /io/repo/hail/env_var.mk ./hail/ + cp /io/repo/hail/version.mk ./hail/ cp -R /io/repo/web_common ./ cp /io/repo/hail/python/setup-hailtop.py ./hail/python/ diff --git a/ci/pinned-requirements.txt b/ci/pinned-requirements.txt index 71d57623823..0a5dccb0c44 100644 --- a/ci/pinned-requirements.txt +++ b/ci/pinned-requirements.txt @@ -28,7 +28,7 @@ click==8.1.7 # -c hail/ci/../hail/python/dev/pinned-requirements.txt # -c hail/ci/../hail/python/pinned-requirements.txt # zulip -cryptography==41.0.4 +cryptography==41.0.5 # via # -c hail/ci/../hail/python/pinned-requirements.txt # pyjwt diff --git a/gear/pinned-requirements.txt b/gear/pinned-requirements.txt index ab6c692a71d..1dbde220066 100644 --- a/gear/pinned-requirements.txt +++ b/gear/pinned-requirements.txt @@ -71,7 +71,7 @@ frozenlist==1.4.0 # aiosignal google-api-core==2.12.0 # via google-api-python-client -google-api-python-client==2.104.0 +google-api-python-client==2.105.0 # via google-cloud-profiler google-auth==2.23.3 # via @@ -161,9 +161,7 @@ pymysql==1.1.0 # -r hail/gear/requirements.txt # aiomysql pyparsing==3.1.1 - # via - # -c hail/gear/../hail/python/dev/pinned-requirements.txt - # httplib2 + # via httplib2 python-dateutil==2.8.2 # via # -c hail/gear/../hail/python/dev/pinned-requirements.txt diff --git a/hail/Makefile b/hail/Makefile index b83e83b73b2..2b797d53f3e 100644 --- a/hail/Makefile +++ b/hail/Makefile @@ -3,34 +3,12 @@ HAIL_HAIL_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) include env_var.mk +include version.mk .DEFAULT_GOAL := shadowJar MAKEFLAGS += --no-builtin-rules .SUFFIXES: -REVISION := $(shell git rev-parse HEAD) -SHORT_REVISION := $(shell git rev-parse --short=12 HEAD) -BRANCH := $(shell git rev-parse --abbrev-ref HEAD) -SCALA_VERSION ?= 2.12.15 -SPARK_VERSION ?= 3.3.0 -HAIL_MAJOR_MINOR_VERSION := 0.2 -HAIL_PATCH_VERSION := 124 -HAIL_PIP_VERSION := $(HAIL_MAJOR_MINOR_VERSION).$(HAIL_PATCH_VERSION) -HAIL_VERSION := $(HAIL_PIP_VERSION)-$(SHORT_REVISION) -ELASTIC_MAJOR_VERSION ?= 7 - -ifndef REVISION -$(error "git rev-parse HEAD" failed to produce output) -endif - -ifndef SHORT_REVISION -$(error "git rev-parse --short=12 HEAD" failed to produce output) -endif - -ifndef BRANCH -$(error "git rev-parse --abbrev-ref HEAD" failed to produce output) -endif - $(eval $(call ENV_VAR,REVISION)) $(eval $(call ENV_VAR,SHORT_REVISION)) $(eval $(call ENV_VAR,BRANCH)) @@ -439,14 +417,6 @@ test-dataproc-38: install-hailctl deploy: test-dataproc $(WHEEL) bash scripts/deploy.sh $(HAIL_PIP_VERSION) $(HAIL_VERSION) $(REVISION) $(DEPLOY_REMOTE) $(WHEEL) $(GITHUB_OAUTH_HEADER_FILE) $(HAIL_GENETICS_HAIL_IMAGE) $(HAIL_GENETICS_HAIL_IMAGE_PY_3_10) $(HAIL_GENETICS_HAIL_IMAGE_PY_3_11) $(HAIL_GENETICS_HAILTOP_IMAGE) $(HAIL_GENETICS_VEP_GRCH37_85_IMAGE) $(HAIL_GENETICS_VEP_GRCH38_95_IMAGE) $(WHEEL_FOR_AZURE) $(WEBSITE_TAR) $(GCP_PROJECT) $(HAIL_HAIL_DIR)/../infra/gcp-broad/gcp-ar-cleanup-policy.txt -.PHONY: benchmark -benchmark: $(WHEEL) - HAIL_WHEEL=../hail/$(WHEEL) HAIL_PIP_VERSION=$(HAIL_PIP_VERSION) $(MAKE) -C ../benchmark benchmark - -.PHONY: install-benchmark -install-benchmark: - HAIL_WHEEL=DUMMY HAIL_PIP_VERSION=$(HAIL_PIP_VERSION) $(MAKE) -C ../benchmark install - python/hail/docs/change_log.rst: python/hail/docs/change_log.md sed -E "s/\(hail\#([0-9]+)\)/(\[#\1](https:\/\/github.com\/hail-is\/hail\/pull\/\1))/g" \ < $< \ diff --git a/hail/python/dev/pinned-requirements.txt b/hail/python/dev/pinned-requirements.txt index 76757221dc5..0c943559c6c 100644 --- a/hail/python/dev/pinned-requirements.txt +++ b/hail/python/dev/pinned-requirements.txt @@ -26,7 +26,7 @@ attrs==23.1.0 # curlylint # jsonschema # referencing -babel==2.13.0 +babel==2.13.1 # via # jupyterlab-server # sphinx @@ -62,14 +62,8 @@ comm==0.1.4 # via # ipykernel # ipywidgets -contourpy==1.1.1 - # via - # -c hail/hail/python/dev/../pinned-requirements.txt - # matplotlib curlylint==0.13.1 # via -r hail/hail/python/dev/requirements.txt -cycler==0.12.1 - # via matplotlib debugpy==1.8.0 # via ipykernel decorator==4.4.2 @@ -102,8 +96,6 @@ fastjsonschema==2.18.1 # via nbformat filelock==3.12.4 # via virtualenv -fonttools==4.43.1 - # via matplotlib fqdn==1.5.1 # via jsonschema fswatch==0.1.1 @@ -126,8 +118,6 @@ importlib-metadata==6.8.0 # jupyterlab-server # nbconvert # sphinx -importlib-resources==6.1.0 - # via matplotlib iniconfig==2.0.0 # via pytest ipykernel==6.25.2 @@ -216,8 +206,6 @@ jupyterlab-server==2.25.0 # notebook jupyterlab-widgets==3.0.9 # via ipywidgets -kiwisolver==1.4.5 - # via matplotlib lazy-object-proxy==1.9.0 # via astroid markupsafe==2.1.3 @@ -225,8 +213,6 @@ markupsafe==2.1.3 # -c hail/hail/python/dev/../pinned-requirements.txt # jinja2 # nbconvert -matplotlib==3.8.0 - # via -r hail/hail/python/dev/requirements.txt matplotlib-inline==0.1.6 # via # ipykernel @@ -266,11 +252,6 @@ notebook-shim==0.2.3 # via # jupyterlab # notebook -numpy==1.26.1 - # via - # -c hail/hail/python/dev/../pinned-requirements.txt - # contourpy - # matplotlib overrides==7.4.0 # via jupyter-server packaging==23.2 @@ -280,7 +261,6 @@ packaging==23.2 # jupyter-server # jupyterlab # jupyterlab-server - # matplotlib # nbconvert # pytest # qtconsole @@ -304,7 +284,6 @@ pillow==10.1.0 # via # -c hail/hail/python/dev/../pinned-requirements.txt # -r hail/hail/python/dev/requirements.txt - # matplotlib platformdirs==3.11.0 # via # black @@ -345,8 +324,6 @@ pygments==2.16.1 # sphinx pylint==2.17.7 # via -r hail/hail/python/dev/requirements.txt -pyparsing==3.1.1 - # via matplotlib pyright==1.1.332 # via -r hail/hail/python/dev/requirements.txt pytest==7.4.2 @@ -380,7 +357,6 @@ python-dateutil==2.8.2 # -c hail/hail/python/dev/../pinned-requirements.txt # arrow # jupyter-client - # matplotlib python-json-logger==2.0.7 # via # -c hail/hail/python/dev/../pinned-requirements.txt @@ -399,7 +375,7 @@ pyzmq==25.1.1 # qtconsole qtconsole==5.4.4 # via jupyter -qtpy==2.4.0 +qtpy==2.4.1 # via qtconsole referencing==0.30.2 # via @@ -423,7 +399,7 @@ rpds-py==0.10.6 # via # jsonschema # referencing -ruff==0.1.1 +ruff==0.1.2 # via -r hail/hail/python/dev/requirements.txt send2trash==1.8.2 # via jupyter-server @@ -558,7 +534,7 @@ urllib3==1.26.18 # via # -c hail/hail/python/dev/../pinned-requirements.txt # requests -virtualenv==20.24.5 +virtualenv==20.24.6 # via pre-commit wcwidth==0.2.8 # via prompt-toolkit @@ -570,6 +546,8 @@ webencodings==0.5.1 # tinycss2 websocket-client==1.6.4 # via jupyter-server +wheel==0.41.2 + # via -r hail/hail/python/dev/requirements.txt widgetsnbextension==4.0.9 # via ipywidgets wrapt==1.15.0 @@ -577,9 +555,7 @@ wrapt==1.15.0 # -c hail/hail/python/dev/../pinned-requirements.txt # astroid zipp==3.17.0 - # via - # importlib-metadata - # importlib-resources + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/hail/python/dev/requirements.txt b/hail/python/dev/requirements.txt index 568f555f856..821f00946a2 100644 --- a/hail/python/dev/requirements.txt +++ b/hail/python/dev/requirements.txt @@ -21,7 +21,7 @@ sphinx_rtd_theme>=1.0.0,<2 jupyter>=1.0.0,<2 sphinxcontrib.katex>=0.9.0,<1 fswatch>=0.1.1,<1 -matplotlib>=3.5,<4 +wheel>=0.41,<0.42 # library type stubs types-Deprecated diff --git a/hail/python/hailtop/pinned-requirements.txt b/hail/python/hailtop/pinned-requirements.txt index 4926a43aee5..fe82b17a3b9 100644 --- a/hail/python/hailtop/pinned-requirements.txt +++ b/hail/python/hailtop/pinned-requirements.txt @@ -30,9 +30,9 @@ azure-mgmt-storage==20.1.0 # via -r hail/hail/python/hailtop/requirements.txt azure-storage-blob==12.18.3 # via -r hail/hail/python/hailtop/requirements.txt -boto3==1.28.68 +boto3==1.28.69 # via -r hail/hail/python/hailtop/requirements.txt -botocore==1.31.68 +botocore==1.31.69 # via # -r hail/hail/python/hailtop/requirements.txt # boto3 @@ -55,7 +55,7 @@ click==8.1.7 # via typer commonmark==0.9.1 # via rich -cryptography==41.0.4 +cryptography==41.0.5 # via # azure-identity # azure-storage-blob diff --git a/hail/python/pinned-requirements.txt b/hail/python/pinned-requirements.txt index cc6b4fc7a79..c50706333a6 100644 --- a/hail/python/pinned-requirements.txt +++ b/hail/python/pinned-requirements.txt @@ -57,11 +57,11 @@ azure-storage-blob==12.18.3 # -r hail/hail/python/hailtop/requirements.txt bokeh==3.3.0 # via -r hail/hail/python/requirements.txt -boto3==1.28.68 +boto3==1.28.69 # via # -c hail/hail/python/hailtop/pinned-requirements.txt # -r hail/hail/python/hailtop/requirements.txt -botocore==1.31.68 +botocore==1.31.69 # via # -c hail/hail/python/hailtop/pinned-requirements.txt # -r hail/hail/python/hailtop/requirements.txt @@ -96,7 +96,7 @@ commonmark==0.9.1 # rich contourpy==1.1.1 # via bokeh -cryptography==41.0.4 +cryptography==41.0.5 # via # -c hail/hail/python/hailtop/pinned-requirements.txt # azure-identity diff --git a/hail/version.mk b/hail/version.mk new file mode 100644 index 00000000000..8a7995f9dc6 --- /dev/null +++ b/hail/version.mk @@ -0,0 +1,22 @@ +REVISION := $(shell git rev-parse HEAD) +ifndef REVISION +$(error "git rev-parse HEAD" failed to produce output) +endif + +SHORT_REVISION := $(shell git rev-parse --short=12 HEAD) +ifndef SHORT_REVISION +$(error "git rev-parse --short=12 HEAD" failed to produce output) +endif + +BRANCH := $(shell git rev-parse --abbrev-ref HEAD) +ifndef BRANCH +$(error "git rev-parse --abbrev-ref HEAD" failed to produce output) +endif + +SCALA_VERSION ?= 2.12.15 +SPARK_VERSION ?= 3.3.0 +HAIL_MAJOR_MINOR_VERSION := 0.2 +HAIL_PATCH_VERSION := 124 +HAIL_PIP_VERSION := $(HAIL_MAJOR_MINOR_VERSION).$(HAIL_PATCH_VERSION) +HAIL_VERSION := $(HAIL_PIP_VERSION)-$(SHORT_REVISION) +ELASTIC_MAJOR_VERSION ?= 7