Skip to content

Commit de64c84

Browse files
committed
Merge branch 'main' of https://github.com/stackabletech/docker-images into feat/hadoop-rework
2 parents 1859408 + 7e34d80 commit de64c84

File tree

111 files changed

+2900
-5724
lines changed

Some content is hidden

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

111 files changed

+2900
-5724
lines changed

.github/ISSUE_TEMPLATE/add-product.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ assignees: ''
2020
- [ ] Add a `versions.py` file to the folder. Add all required key-value pairs.
2121
- [ ] Add a new "Update Product" issue template in `.github/ISSUE_TEMPLATE/`
2222
folder. See existing ones as a guide of reference.
23-
- [ ] Add a new `dev_<PRODUCT>.yml` GitHub Action workflow in the
23+
- [ ] Add a new `build_<PRODUCT>.yml` GitHub Action workflow in the
2424
`.github/workflows` folder. Use existing local action whenever possible
2525
or consider creating a new one when there is no fitting action available.
2626
- [ ] Run `.scripts/update_readme_badges.sh` to generate the new status badge.

.github/workflows/dev_airflow.yaml .github/workflows/build_airflow.yaml

+73-12
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,38 @@
11
---
22
name: Build Airflow
3+
run-name: |
4+
Build Airflow (attempt #${{ github.run_attempt }})
35
46
env:
57
PRODUCT_NAME: airflow
8+
SDP_VERSION: ${{ github.ref_type == 'tag' && github.ref_name || '0.0.0-dev' }}
69

710
on:
811
workflow_dispatch:
912
schedule:
10-
- cron: '0 1 1/2 * *' # https://crontab.guru/#0_1_1/2_*_*
13+
- cron: '0 0 1/2 * *' # https://crontab.guru/#0_0_1/2_*_*
1114
push:
12-
branches:
13-
- main
15+
branches: [main]
16+
tags: ['*']
1417
paths:
1518
# To check dependencies, run this ( you will need to consider transitive dependencies)
1619
# bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
1720
- airflow/**
1821
- vector/**
1922
- stackable-base/**
2023
- .github/actions/**
21-
- .github/workflows/dev_airflow.yaml
24+
- .github/workflows/build_airflow.yaml
2225

2326
jobs:
2427
generate_matrix:
2528
name: Generate Version List
2629
runs-on: ubuntu-latest
2730
steps:
2831
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
32+
with:
33+
persist-credentials: false
2934
- id: shard
30-
uses: stackabletech/actions/shard@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
35+
uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
3136
with:
3237
product-name: ${{ env.PRODUCT_NAME }}
3338
outputs:
@@ -40,6 +45,7 @@ jobs:
4045
id-token: write
4146
runs-on: ${{ matrix.runner.name }}
4247
strategy:
48+
fail-fast: false
4349
matrix:
4450
runner:
4551
- {name: "ubuntu-latest", arch: "amd64"}
@@ -48,17 +54,23 @@ jobs:
4854
steps:
4955
- name: Checkout Repository
5056
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
57+
with:
58+
persist-credentials: false
59+
60+
- name: Free Disk Space
61+
uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
5162

5263
- name: Build Product Image
5364
id: build
54-
uses: stackabletech/actions/build-product-image@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
65+
uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
5566
with:
5667
product-name: ${{ env.PRODUCT_NAME }}
5768
product-version: ${{ matrix.versions }}
5869
build-cache-password: ${{ secrets.BUILD_CACHE_NEXUS_PASSWORD }}
70+
sdp-version: ${{ env.SDP_VERSION }}
5971

6072
- name: Publish Container Image on docker.stackable.tech
61-
uses: stackabletech/actions/publish-image@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
73+
uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
6274
with:
6375
image-registry-uri: docker.stackable.tech
6476
image-registry-username: github
@@ -68,7 +80,7 @@ jobs:
6880
source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
6981

7082
- name: Publish Container Image on oci.stackable.tech
71-
uses: stackabletech/actions/publish-image@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
83+
uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
7284
with:
7385
image-registry-uri: oci.stackable.tech
7486
image-registry-username: robot$sdp+github-action-build
@@ -84,26 +96,75 @@ jobs:
8496
id-token: write
8597
runs-on: ubuntu-latest
8698
strategy:
99+
fail-fast: false
87100
matrix:
88101
versions: ${{ fromJson(needs.generate_matrix.outputs.versions) }}
89102
steps:
90103
- name: Checkout Repository
91104
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
105+
with:
106+
persist-credentials: false
92107

93108
- name: Publish and Sign Image Index Manifest to docker.stackable.tech
94-
uses: stackabletech/actions/publish-index-manifest@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
109+
uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
95110
with:
96111
image-registry-uri: docker.stackable.tech
97112
image-registry-username: github
98113
image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
99114
image-repository: stackable/${{ env.PRODUCT_NAME }}
100-
image-index-manifest-tag: ${{ matrix.versions }}-stackable0.0.0-dev
115+
image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
101116

102117
- name: Publish and Sign Image Index Manifest to oci.stackable.tech
103-
uses: stackabletech/actions/publish-index-manifest@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
118+
uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
104119
with:
105120
image-registry-uri: oci.stackable.tech
106121
image-registry-username: robot$sdp+github-action-build
107122
image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
108123
image-repository: sdp/${{ env.PRODUCT_NAME }}
109-
image-index-manifest-tag: ${{ matrix.versions }}-stackable0.0.0-dev
124+
image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
125+
126+
notify:
127+
name: Failure Notification
128+
needs: [generate_matrix, build, publish_manifests]
129+
runs-on: ubuntu-latest
130+
if: failure()
131+
steps:
132+
- uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
133+
with:
134+
channel-id: "C07UG6JH44F" # notifications-container-images
135+
payload: |
136+
{
137+
"text": "*${{ github.workflow }}* failed (attempt ${{ github.run_attempt }})",
138+
"attachments": [
139+
{
140+
"pretext": "See the details below for a summary of which job(s) failed.",
141+
"color": "#aa0000",
142+
"fields": [
143+
{
144+
"title": "Generate Version List",
145+
"short": true,
146+
"value": "${{ needs.generate_matrix.result }}"
147+
},
148+
{
149+
"title": "Build/Publish Image",
150+
"short": true,
151+
"value": "${{ needs.build.result }}"
152+
},
153+
{
154+
"title": "Build/Publish Manifests",
155+
"short": true,
156+
"value": "${{ needs.publish_manifests.result }}"
157+
}
158+
],
159+
"actions": [
160+
{
161+
"type": "button",
162+
"text": "Go to workflow run",
163+
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/attempts/${{ github.run_attempt }}"
164+
}
165+
]
166+
}
167+
]
168+
}
169+
env:
170+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_CONTAINER_IMAGE_TOKEN }}

.github/workflows/dev_druid.yaml .github/workflows/build_druid.yaml

+72-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
---
22
name: Build Druid
3+
run-name: |
4+
Build Druid (attempt #${{ github.run_attempt }})
35
46
env:
57
PRODUCT_NAME: druid
8+
SDP_VERSION: ${{ github.ref_type == 'tag' && github.ref_name || '0.0.0-dev' }}
69

710
on:
811
workflow_dispatch:
912
schedule:
1013
- cron: '0 1 1/2 * *' # https://crontab.guru/#0_1_1/2_*_*
1114
push:
12-
branches:
13-
- main
15+
branches: [main]
16+
tags: ['*']
1417
paths:
1518
# To check dependencies, run this ( you will need to consider transitive dependencies)
1619
# bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
@@ -20,16 +23,18 @@ on:
2023
- java-base/**
2124
- java-devel/**
2225
- .github/actions/**
23-
- .github/workflows/dev_druid.yaml
26+
- .github/workflows/build_druid.yaml
2427

2528
jobs:
2629
generate_matrix:
2730
name: Generate Version List
2831
runs-on: ubuntu-latest
2932
steps:
3033
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
34+
with:
35+
persist-credentials: false
3136
- id: shard
32-
uses: stackabletech/actions/shard@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
37+
uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
3338
with:
3439
product-name: ${{ env.PRODUCT_NAME }}
3540
outputs:
@@ -42,6 +47,7 @@ jobs:
4247
id-token: write
4348
runs-on: ${{ matrix.runner.name }}
4449
strategy:
50+
fail-fast: false
4551
matrix:
4652
runner:
4753
- {name: "ubuntu-latest", arch: "amd64"}
@@ -50,17 +56,23 @@ jobs:
5056
steps:
5157
- name: Checkout Repository
5258
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
59+
with:
60+
persist-credentials: false
61+
62+
- name: Free Disk Space
63+
uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
5364

5465
- name: Build Product Image
5566
id: build
56-
uses: stackabletech/actions/build-product-image@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
67+
uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
5768
with:
5869
product-name: ${{ env.PRODUCT_NAME }}
5970
product-version: ${{ matrix.versions }}
6071
build-cache-password: ${{ secrets.BUILD_CACHE_NEXUS_PASSWORD }}
72+
sdp-version: ${{ env.SDP_VERSION }}
6173

6274
- name: Publish Container Image on docker.stackable.tech
63-
uses: stackabletech/actions/publish-image@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
75+
uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
6476
with:
6577
image-registry-uri: docker.stackable.tech
6678
image-registry-username: github
@@ -70,7 +82,7 @@ jobs:
7082
source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
7183

7284
- name: Publish Container Image on oci.stackable.tech
73-
uses: stackabletech/actions/publish-image@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
85+
uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
7486
with:
7587
image-registry-uri: oci.stackable.tech
7688
image-registry-username: robot$sdp+github-action-build
@@ -86,26 +98,75 @@ jobs:
8698
id-token: write
8799
runs-on: ubuntu-latest
88100
strategy:
101+
fail-fast: false
89102
matrix:
90103
versions: ${{ fromJson(needs.generate_matrix.outputs.versions) }}
91104
steps:
92105
- name: Checkout Repository
93106
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
107+
with:
108+
persist-credentials: false
94109

95110
- name: Publish and Sign Image Index Manifest to docker.stackable.tech
96-
uses: stackabletech/actions/publish-index-manifest@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
111+
uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
97112
with:
98113
image-registry-uri: docker.stackable.tech
99114
image-registry-username: github
100115
image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
101116
image-repository: stackable/${{ env.PRODUCT_NAME }}
102-
image-index-manifest-tag: ${{ matrix.versions }}-stackable0.0.0-dev
117+
image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
103118

104119
- name: Publish and Sign Image Index Manifest to oci.stackable.tech
105-
uses: stackabletech/actions/publish-index-manifest@0c5dbc42a80519b5e1ad6ac1d8bc54a0e1ece8fb # 0.0.7
120+
uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
106121
with:
107122
image-registry-uri: oci.stackable.tech
108123
image-registry-username: robot$sdp+github-action-build
109124
image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
110125
image-repository: sdp/${{ env.PRODUCT_NAME }}
111-
image-index-manifest-tag: ${{ matrix.versions }}-stackable0.0.0-dev
126+
image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
127+
128+
notify:
129+
name: Failure Notification
130+
needs: [generate_matrix, build, publish_manifests]
131+
runs-on: ubuntu-latest
132+
if: failure()
133+
steps:
134+
- uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0
135+
with:
136+
channel-id: "C07UG6JH44F" # notifications-container-images
137+
payload: |
138+
{
139+
"text": "*${{ github.workflow }}* failed (attempt ${{ github.run_attempt }})",
140+
"attachments": [
141+
{
142+
"pretext": "See the details below for a summary of which job(s) failed.",
143+
"color": "#aa0000",
144+
"fields": [
145+
{
146+
"title": "Generate Version List",
147+
"short": true,
148+
"value": "${{ needs.generate_matrix.result }}"
149+
},
150+
{
151+
"title": "Build/Publish Image",
152+
"short": true,
153+
"value": "${{ needs.build.result }}"
154+
},
155+
{
156+
"title": "Build/Publish Manifests",
157+
"short": true,
158+
"value": "${{ needs.publish_manifests.result }}"
159+
}
160+
],
161+
"actions": [
162+
{
163+
"type": "button",
164+
"text": "Go to workflow run",
165+
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/attempts/${{ github.run_attempt }}"
166+
}
167+
]
168+
}
169+
]
170+
}
171+
env:
172+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_CONTAINER_IMAGE_TOKEN }}

0 commit comments

Comments
 (0)