diff --git a/.github/workflows/build_airflow.yaml b/.github/workflows/build_airflow.yaml index bebfcd206..f12d5c726 100644 --- a/.github/workflows/build_airflow.yaml +++ b/.github/workflows/build_airflow.yaml @@ -17,7 +17,7 @@ on: # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]' - airflow/** - vector/** - - stackable-base/** + - stackable-devel/** - .github/actions/** - .github/workflows/build_airflow.yaml - .github/workflows/reusable_build_image.yaml diff --git a/.github/workflows/build_superset.yaml b/.github/workflows/build_superset.yaml index eb4eed00d..740ea557e 100644 --- a/.github/workflows/build_superset.yaml +++ b/.github/workflows/build_superset.yaml @@ -17,7 +17,7 @@ on: # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]' - superset/** - vector/** - - stackable-base/** + - stackable-devel/** - .github/actions/** - .github/workflows/build_superset.yaml - .github/workflows/reusable_build_image.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 210e1d31b..b79300f6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ All notable changes to this project will be documented in this file. - nifi: Add `2.6.0` ([#1293]). - hive: Add `4.1.0` ([#1295]). - hbase: Add `2.6.3` ([#1296]). +- airflow,superset: Build from source ([#1304]). ### Changed @@ -95,6 +96,7 @@ All notable changes to this project will be documented in this file. [#1296]: https://github.com/stackabletech/docker-images/pull/1296 [#1300]: https://github.com/stackabletech/docker-images/pull/1300 [#1301]: https://github.com/stackabletech/docker-images/pull/1301 +[#1304]: https://github.com/stackabletech/docker-images/pull/1304 ## [25.7.0] - 2025-07-23 diff --git a/airflow/Dockerfile b/airflow/Dockerfile index 164edb912..9cebd874d 100644 --- a/airflow/Dockerfile +++ b/airflow/Dockerfile @@ -37,13 +37,13 @@ uv run pytest --disable-warnings uv build EOF -FROM local-image/vector AS airflow-build-image +FROM local-image/stackable-devel AS airflow-build-image ARG PRODUCT_VERSION -ARG SHARED_STATSD_EXPORTER_VERSION ARG PYTHON_VERSION ARG TARGETARCH ARG STACKABLE_USER_UID +ARG NODEJS_VERSION ARG S3FS_VERSION ARG CYCLONEDX_BOM_VERSION ARG UV_VERSION @@ -54,7 +54,8 @@ ARG UV_VERSION # Requires implementation of https://github.com/apache/airflow/blob/2.2.5/scripts/docker/install_mysql.sh ARG AIRFLOW_EXTRAS -RUN microdnf update && \ +RUN microdnf module enable -y nodejs:${NODEJS_VERSION} && \ + microdnf update && \ microdnf install \ cyrus-sasl-devel \ # Needed by ./configure to build gevent, see snippet [1] at the end of file @@ -72,6 +73,9 @@ RUN microdnf update && \ python${PYTHON_VERSION}-wheel \ # The airflow odbc provider can compile without the development files (headers and libraries) (see https://github.com/stackabletech/docker-images/pull/683) unixODBC \ + # Needed for Airflow UI assets + npm \ + nodejs \ # Needed to modify the SBOM jq && \ microdnf clean all && \ @@ -81,6 +85,11 @@ COPY airflow/stackable/constraints/${PRODUCT_VERSION}/constraints-python${PYTHON COPY airflow/stackable/constraints/${PRODUCT_VERSION}/build-constraints-python${PYTHON_VERSION}.txt /tmp/build-constraints.txt COPY --from=opa-auth-manager-builder /tmp/opa-auth-manager/dist/opa_auth_manager-0.1.0-py3-none-any.whl /tmp/ +COPY --chown=${STACKABLE_USER_UID}:0 airflow/stackable/patches/patchable.toml /stackable/src/airflow/stackable/patches/patchable.toml +COPY --chown=${STACKABLE_USER_UID}:0 airflow/stackable/patches/${PRODUCT_VERSION} /stackable/src/airflow/stackable/patches/${PRODUCT_VERSION} + +WORKDIR /stackable + RUN < /stackable/app/airflow-${PRODUCT_VERSION}.cdx.json EOF -COPY --from=statsd_exporter-builder /statsd_exporter/statsd_exporter /stackable/statsd_exporter -COPY --from=statsd_exporter-builder /statsd_exporter/statsd_exporter-${SHARED_STATSD_EXPORTER_VERSION}.cdx.json /stackable/statsd_exporter-${SHARED_STATSD_EXPORTER_VERSION}.cdx.json -COPY --from=gitsync-image --chown=${STACKABLE_USER_UID}:0 /git-sync /stackable/git-sync - RUN <