Skip to content

Commit a469211

Browse files
committed
main merge
2 parents 7105132 + c41023a commit a469211

File tree

127 files changed

+641
-4574
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+641
-4574
lines changed

.github/workflows/mirror.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
- amd64
3737
- arm64
3838
steps:
39-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
39+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4040
with:
4141
persist-credentials: false
4242

@@ -57,7 +57,7 @@ jobs:
5757
echo "IMAGE_REPOSITORY=$(.scripts/get_repo_name.sh)" | tee -a "$GITHUB_ENV"
5858
5959
- name: Publish Container Image on oci.stackable.tech
60-
uses: stackabletech/actions/publish-image@320eae677555385b3d40e1c3a81d9263b72742e4 # 0.6.0
60+
uses: stackabletech/actions/publish-image@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
6161
with:
6262
image-registry-uri: oci.stackable.tech
6363
image-registry-username: robot$sdp+github-action-build
@@ -73,7 +73,7 @@ jobs:
7373
id-token: write
7474
runs-on: ubuntu-latest
7575
steps:
76-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
76+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
7777
with:
7878
persist-credentials: false
7979

@@ -84,14 +84,17 @@ jobs:
8484
echo "IMAGE_REPOSITORY=$(.scripts/get_repo_name.sh)" | tee -a "$GITHUB_ENV"
8585
8686
- name: Publish and Sign Image Index Manifest to oci.stackable.tech
87-
uses: stackabletech/actions/publish-index-manifest@320eae677555385b3d40e1c3a81d9263b72742e4 # 0.6.0
87+
uses: stackabletech/actions/publish-index-manifest@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
8888
with:
8989
image-registry-uri: oci.stackable.tech
9090
image-registry-username: robot$sdp+github-action-build
9191
image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
9292
image-repository: ${{ format('sdp/{0}', env.IMAGE_REPOSITORY) }}
9393
image-index-manifest-tag: ${{ inputs.image-index-manifest-tag }}
9494

95+
# NOTE (@Techassi) It is currently not possible to use our own action here, because the inputs
96+
# assume it is used to report on image build results, not mirror results. The action needs to be
97+
# adjusted to support other use-cases.
9598
notify:
9699
name: Failure Notification
97100
needs: [mirror-image, publish_manifests]

.github/workflows/pr_pre-commit.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ jobs:
1212
pre-commit:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
15+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1616
with:
1717
persist-credentials: false
1818
fetch-depth: 0
19-
- uses: stackabletech/actions/run-pre-commit@320eae677555385b3d40e1c3a81d9263b72742e4 # 0.6.0
19+
- uses: stackabletech/actions/run-pre-commit@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
2020
with:
2121
python-version: ${{ env.PYTHON_VERSION }}
2222
hadolint: ${{ env.HADOLINT_VERSION }}

.github/workflows/preflight.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
env:
7575
GITHUB_REF_NAME: ${{ github.ref_name }}
7676
steps:
77-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
77+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
7878
with:
7979
persist-credentials: false
8080
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0

.github/workflows/reusable_build_image.yaml

Lines changed: 14 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ jobs:
2323
name: Generate Version List
2424
runs-on: ubuntu-latest
2525
steps:
26-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
26+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2727
with:
2828
persist-credentials: false
2929
- id: shard
30-
uses: stackabletech/actions/shard@2d3d7ddad981ae09901d45a0f6bf30c2658b1b78 # 0.7.0
30+
uses: stackabletech/actions/shard@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
3131
with:
3232
product-name: ${{ inputs.product-name }}
3333
outputs:
@@ -48,23 +48,23 @@ jobs:
4848
versions: ${{ fromJson(needs.generate_matrix.outputs.versions) }}
4949
steps:
5050
- name: Checkout Repository
51-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
51+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5252
with:
5353
persist-credentials: false
5454

5555
- name: Free Disk Space
56-
uses: stackabletech/actions/free-disk-space@2d3d7ddad981ae09901d45a0f6bf30c2658b1b78 # 0.7.0
56+
uses: stackabletech/actions/free-disk-space@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
5757

5858
- name: Build Product Image
5959
id: build
60-
uses: stackabletech/actions/build-product-image@2d3d7ddad981ae09901d45a0f6bf30c2658b1b78 # 0.7.0
60+
uses: stackabletech/actions/build-product-image@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
6161
with:
6262
product-name: ${{ inputs.product-name }}
6363
product-version: ${{ matrix.versions }}
6464
sdp-version: ${{ inputs.sdp-version }}
6565

6666
- name: Publish Container Image on oci.stackable.tech
67-
uses: stackabletech/actions/publish-image@2d3d7ddad981ae09901d45a0f6bf30c2658b1b78 # 0.7.0
67+
uses: stackabletech/actions/publish-image@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
6868
with:
6969
image-registry-uri: oci.stackable.tech
7070
image-registry-username: robot$${{ inputs.registry-namespace }}+github-action-build
@@ -85,12 +85,12 @@ jobs:
8585
versions: ${{ fromJson(needs.generate_matrix.outputs.versions) }}
8686
steps:
8787
- name: Checkout Repository
88-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
88+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
8989
with:
9090
persist-credentials: false
9191

9292
- name: Publish and Sign Image Index Manifest to oci.stackable.tech
93-
uses: stackabletech/actions/publish-index-manifest@2d3d7ddad981ae09901d45a0f6bf30c2658b1b78 # 0.7.0
93+
uses: stackabletech/actions/publish-index-manifest@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # 0.8.1
9494
with:
9595
image-registry-uri: oci.stackable.tech
9696
image-registry-username: robot$${{ inputs.registry-namespace }}+github-action-build
@@ -102,44 +102,11 @@ jobs:
102102
name: Failure Notification
103103
needs: [generate_matrix, build, publish_manifests]
104104
runs-on: ubuntu-latest
105-
if: failure()
105+
if: failure() || github.run_attempt > 1
106106
steps:
107-
- uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
107+
- name: Send Notification
108+
uses: stackabletech/actions/send-slack-notification@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # v0.8.1
108109
with:
109-
channel-id: "C07UG6JH44F" # notifications-container-images
110-
payload: |
111-
{
112-
"text": "*${{ github.workflow }}* failed (attempt ${{ github.run_attempt }})",
113-
"attachments": [
114-
{
115-
"pretext": "See the details below for a summary of which job(s) failed.",
116-
"color": "#aa0000",
117-
"fields": [
118-
{
119-
"title": "Generate Version List",
120-
"short": true,
121-
"value": "${{ needs.generate_matrix.result }}"
122-
},
123-
{
124-
"title": "Build/Publish Image",
125-
"short": true,
126-
"value": "${{ needs.build.result }}"
127-
},
128-
{
129-
"title": "Build/Publish Manifests",
130-
"short": true,
131-
"value": "${{ needs.publish_manifests.result }}"
132-
}
133-
],
134-
"actions": [
135-
{
136-
"type": "button",
137-
"text": "Go to workflow run",
138-
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/attempts/${{ github.run_attempt }}"
139-
}
140-
]
141-
}
142-
]
143-
}
144-
env:
145-
SLACK_BOT_TOKEN: ${{ secrets.slack-token }}
110+
publish-manifests-result: ${{ needs.publish_manifests.result }}
111+
build-result: ${{ needs.build.result }}
112+
slack-token: ${{ secrets.slack-token }}

.github/workflows/ubi-rust-builder.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
ubi-version: ["ubi9"]
2323
runs-on: ${{ matrix.runner }}
2424
steps:
25-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
25+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2626
with:
2727
persist-credentials: false
2828
- name: Login to Stackable Harbor
@@ -63,7 +63,7 @@ jobs:
6363
runs-on: ubuntu-latest
6464
needs: ["build"]
6565
steps:
66-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
66+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6767
with:
6868
persist-credentials: false
6969
- name: Login to Stackable Harbor

CHANGELOG.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file.
1111
- airflow: Add `2.10.5` ([#1108]).
1212
- druid: check for correct permissions and ownerships in /stackable folder via
1313
`check-permissions-ownership.sh` provided in stackable-base image ([#1039]).
14+
- druid: Add `33.0.0` ([#1110]).
1415
- hadoop: check for correct permissions and ownerships in /stackable folder via
1516
`check-permissions-ownership.sh` provided in stackable-base image ([#1029]).
1617
- hbase: check for correct permissions and ownerships in /stackable folder via
@@ -22,6 +23,8 @@ All notable changes to this project will be documented in this file.
2223
`check-permissions-ownership.sh` provided in stackable-base image ([#1041]).
2324
- nifi: check for correct permissions and ownerships in /stackable folder via
2425
`check-permissions-ownership.sh` provided in stackable-base image ([#1027]).
26+
- nifi: Add [nifi-iceberg-bundle] for NiFi `2.4.0` ([#1060], [#1106]).
27+
- nifi: Add `2.4.0` ([#1114]).
2528
- opa: check for correct permissions and ownerships in /stackable folder via
2629
`check-permissions-ownership.sh` provided in stackable-base image ([#1038]).
2730
- opa: Add `1.4.2` ([#1103]).
@@ -34,12 +37,12 @@ All notable changes to this project will be documented in this file.
3437
`check-permissions-ownership.sh` provided in stackable-base image ([#1025]).
3538
- zookeeper: check for correct permissions and ownerships in /stackable folder via
3639
`check-permissions-ownership.sh` provided in stackable-base image ([#1043]).
37-
- nifi: Add [nifi-iceberg-bundle](https://github.com/stackabletech/nifi-iceberg-bundle) for NiFi `2.2.0` ([#1060], [#1106]).
3840
- java: Add JDK 24 ([#1097]).
3941
- ci: Add golang image to mirror workflow ([#1103]).
4042

4143
### Changed
4244

45+
- airflow,superset: Use `uv` to build the product ([#1116]).
4346
- ubi-rust-builder: Bump Rust toolchain to 1.85.0, cargo-cyclonedx to 0.5.7, and cargo-auditable to 0.6.6 ([#1050]).
4447
- ubi9-rust-builder: Bump base image and update protoc to `30.2` ([#1091]).
4548
- stackable-devel: Bump ubi9 base image ([#1103]).
@@ -55,6 +58,7 @@ All notable changes to this project will be documented in this file.
5558

5659
### Fixed
5760

61+
- airflow: Pin Cython version ([#1116]).
5862
- druid: reduce docker image size by removing the recursive chown/chmods in the final image ([#1039]).
5963
- hadoop: reduce docker image size by removing the recursive chown/chmods in the final image ([#1029]).
6064
- hbase: reduce docker image size by removing the recursive chown/chmods in the final image ([#1028]).
@@ -65,6 +69,7 @@ All notable changes to this project will be documented in this file.
6569
- opa: reduce docker image size by removing the recursive chown/chmods in the final image ([#1038]).
6670
- opa: Manually install Go 1.23.9 ([#1103]).
6771
- spark-k8s: reduce docker image size by removing the recursive chown/chmods in the final image ([#1042]).
72+
- superset: Pin Cython version ([#1116]).
6873
- trino: reduce docker image size by removing the recursive chown/chmods in the final image ([#1025]).
6974
- zookeeper: reduce docker image size by removing the recursive chown/chmods in the final image ([#1043]).
7075
- Fixed two hardcoded username references ([#1052]).
@@ -76,10 +81,13 @@ All notable changes to this project will be documented in this file.
7681
- zookeeper: Remove 3.9.2 ([#1093]).
7782
- Remove ubi8-rust-builder image ([#1091]).
7883
- spark: remove 3.5.2 ([#1094])
84+
- hadoop: Remove `3.3.4` and `3.4.0` ([#1099]).
7985
- opa: Remove `0.67.1` ([#1103]).
8086
- opa: Remove legacy bundle-builder from container build ([#1103]).
87+
- druid: Remove `30.0.0` ([#1110]).
88+
- nifi: Remove `2.2.0` ([#1114]).
8189

82-
[#916]: https://github.com/stackabletech/docker-images/pull/916
90+
[nifi-iceberg-bundle]: https://github.com/stackabletech/nifi-iceberg-bundle
8391
[#1025]: https://github.com/stackabletech/docker-images/pull/1025
8492
[#1027]: https://github.com/stackabletech/docker-images/pull/1027
8593
[#1028]: https://github.com/stackabletech/docker-images/pull/1028
@@ -105,10 +113,14 @@ All notable changes to this project will be documented in this file.
105113
[#1094]: https://github.com/stackabletech/docker-images/pull/1094
106114
[#1097]: https://github.com/stackabletech/docker-images/pull/1097
107115
[#1098]: https://github.com/stackabletech/docker-images/pull/1098
116+
[#1099]: https://github.com/stackabletech/docker-images/pull/1099
108117
[#1102]: https://github.com/stackabletech/docker-images/pull/1102
109118
[#1103]: https://github.com/stackabletech/docker-images/pull/1103
110119
[#1106]: https://github.com/stackabletech/docker-images/pull/1106
111120
[#1108]: https://github.com/stackabletech/docker-images/pull/1108
121+
[#1110]: https://github.com/stackabletech/docker-images/pull/1110
122+
[#1114]: https://github.com/stackabletech/docker-images/pull/1114
123+
[#1116]: https://github.com/stackabletech/docker-images/pull/1116
112124

113125
## [25.3.0] - 2025-03-21
114126

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ resolver = "2"
44

55
[workspace.dependencies]
66
clap = { version = "4.5.27", features = ["derive"] }
7-
git2 = "0.20.0"
7+
git2 = "0.20.1"
88
serde = { version = "1.0.217", features = ["derive"] }
99
snafu = "0.8.5"
1010
tempfile = "3.16.0"

airflow/Dockerfile

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ ARG TARGETARCH
3131
ARG STACKABLE_USER_UID
3232
ARG S3FS
3333
ARG CYCLONEDX_BOM
34-
35-
COPY airflow/constraints-${PRODUCT}-python${PYTHON}.txt /tmp/constraints.txt
36-
COPY --from=opa-auth-manager-builder /tmp/opa-auth-manager/dist/opa_auth_manager-0.1.0-py3-none-any.whl /tmp/
34+
ARG UV
3735

3836
# The mysql provider is currently excluded.
3937
# Requires implementation of https://github.com/apache/airflow/blob/2.2.5/scripts/docker/install_mysql.sh
@@ -62,19 +60,27 @@ RUN microdnf update && \
6260
microdnf clean all && \
6361
rm -rf /var/cache/yum
6462

63+
COPY airflow/stackable/constraints/${PRODUCT}/constraints-python${PYTHON}.txt /tmp/constraints.txt
64+
COPY airflow/stackable/constraints/${PRODUCT}/build-constraints-python${PYTHON}.txt /tmp/build-constraints.txt
65+
COPY --from=opa-auth-manager-builder /tmp/opa-auth-manager/dist/opa_auth_manager-0.1.0-py3-none-any.whl /tmp/
66+
6567
RUN <<EOF
6668
python${PYTHON} -m venv --system-site-packages /stackable/app
6769

6870
source /stackable/app/bin/activate
6971

72+
# Upgrade pip to the latest version
73+
# Also install uv to get support for build constraints
7074
pip install --no-cache-dir --upgrade pip
71-
pip install --no-cache-dir apache-airflow[${AIRFLOW_EXTRAS}]==${PRODUCT} --constraint /tmp/constraints.txt
75+
pip install --no-cache-dir uv==${UV}
76+
77+
uv pip install --no-cache-dir apache-airflow[${AIRFLOW_EXTRAS}]==${PRODUCT} --constraint /tmp/constraints.txt --build-constraints /tmp/build-constraints.txt
7278
# Needed for pandas S3 integration to e.g. write and read csv and parquet files to/from S3
73-
pip install --no-cache-dir s3fs==${S3FS} cyclonedx-bom==${CYCLONEDX_BOM}
79+
uv pip install --no-cache-dir s3fs==${S3FS} cyclonedx-bom==${CYCLONEDX_BOM}
7480
# Needed for OIDC
75-
pip install --no-cache-dir Flask_OIDC==2.2.0 Flask-OpenID==1.3.1
81+
uv pip install --no-cache-dir Flask_OIDC==2.2.0 Flask-OpenID==1.3.1
7682

77-
pip install --no-cache-dir /tmp/opa_auth_manager-0.1.0-py3-none-any.whl
83+
uv pip install --no-cache-dir /tmp/opa_auth_manager-0.1.0-py3-none-any.whl
7884

7985
# Create the SBOM for Airflow
8086
# Important: All `pip install` commands must be above this line, otherwise the SBOM will be incomplete
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Cython==3.1.0

0 commit comments

Comments
 (0)