Skip to content

Commit 467aa3e

Browse files
committed
chore: Merge branch 'main' into feat/boil-image-check-command
2 parents e7c564e + f2643eb commit 467aa3e

55 files changed

Lines changed: 4472 additions & 104 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: Build patchable
3+
4+
on:
5+
pull_request:
6+
paths:
7+
- ".github/workflows/patchable_pr.yaml"
8+
- "rust-toolchain.toml"
9+
- "rust/patchable/**.rs"
10+
- "Cargo.*"
11+
12+
permissions:
13+
contents: read
14+
15+
env:
16+
RUST_VERSION: 1.89.0
17+
18+
jobs:
19+
# This job is always run to ensure we don't miss any new upstream advisories
20+
cargo-deny:
21+
name: Run cargo-deny
22+
runs-on: ubuntu-latest
23+
# Prevent sudden announcement of a new advisory from failing CI
24+
continue-on-error: ${{ matrix.checks == 'advisories' }}
25+
strategy:
26+
matrix:
27+
checks:
28+
- advisories
29+
- bans licenses sources
30+
steps:
31+
- name: Checkout Repository
32+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
33+
with:
34+
persist-credentials: false
35+
36+
- name: Run cargo-deny
37+
uses: EmbarkStudios/cargo-deny-action@3fd3802e88374d3fe9159b834c7714ec57d6c979 # v2.0.15
38+
with:
39+
command: check ${{ matrix.checks }}
40+
41+
build:
42+
name: Build patchable
43+
needs:
44+
- cargo-deny
45+
strategy:
46+
fail-fast: false
47+
matrix:
48+
targets:
49+
- { target: aarch64-unknown-linux-gnu, os: ubuntu-24.04-arm }
50+
- { target: x86_64-unknown-linux-gnu, os: ubuntu-latest }
51+
- { target: aarch64-apple-darwin, os: macos-latest }
52+
runs-on: ${{ matrix.targets.os }}
53+
steps:
54+
- name: Checkout
55+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
56+
with:
57+
persist-credentials: false
58+
59+
- uses: dtolnay/rust-toolchain@6d653acede28d24f02e3cd41383119e8b1b35921
60+
with:
61+
toolchain: ${{ env.RUST_VERSION }}
62+
targets: ${{ matrix.targets.target }}
63+
64+
- name: Build Binary
65+
env:
66+
TARGET: ${{ matrix.targets.target }}
67+
run: cargo build --target "$TARGET" --package patchable
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
name: Compile Hadoop
3+
run-name: |
4+
Compile Hadoop (attempt #${{ github.run_attempt }})
5+
6+
on:
7+
workflow_dispatch:
8+
push:
9+
branches: [main]
10+
paths:
11+
- precompiled/hadoop/**
12+
# I don't think there's any reason to rebuild just because the workflow changed.
13+
# If the version is compiled (for that patch set), then it needs no rebuild.
14+
# - .github/actions/**
15+
# - .github/workflows/precompile_hadoop.yaml
16+
# - .github/workflows/reusable_build_image.yaml
17+
18+
permissions: {}
19+
20+
jobs:
21+
# This is a separate job so that it remains consistent if a rerun of failed jobs is needed.
22+
# It is used in place of the "sdp-version" passed to the build action.
23+
generate_build_timestamp:
24+
name: Generate unix timestamp
25+
runs-on: ubuntu-latest
26+
steps:
27+
- shell: bash
28+
id: unix_timestamp
29+
run: |
30+
set -euo pipefail
31+
UNIX_TIMESTAMP=$(date +%s)
32+
echo "unix_timestamp=$UNIX_TIMESTAMP" | tee -a "$GITHUB_OUTPUT"
33+
outputs:
34+
unix_timestamp: ${{ steps.unix_timestamp.outputs.unix_timestamp }}
35+
36+
build_image:
37+
name: Reusable Workflow
38+
uses: ./.github/workflows/reusable_build_image.yaml
39+
needs: [generate_build_timestamp]
40+
secrets:
41+
harbor-robot-secret: ${{ secrets.HARBOR_ROBOT_PRECOMPILED_GITHUB_ACTION_BUILD_SECRET }}
42+
slack-token: ${{ secrets.SLACK_CONTAINER_IMAGE_TOKEN }}
43+
permissions:
44+
# Needed for cosign (sign and attest)
45+
id-token: write
46+
# Needed for checkout
47+
contents: read
48+
with:
49+
product-name: hadoop
50+
sdp-version: ${{ needs.generate_build_timestamp.outputs.unix_timestamp }}
51+
registry-namespace: precompiled

.github/workflows/reusable_build_image.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ jobs:
146146
name: Failure Notification
147147
needs: [generate_version_dimension, build, publish_manifests]
148148
runs-on: ubuntu-latest
149+
# TODO (@NickLarsenNZ): Allow a condition from input so that we can always
150+
# be notified of new builds for precompiled product images.
149151
if: failure() || (github.run_attempt > 1 && !cancelled())
150152
steps:
151153
- name: Send Notification

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7+
### Added
8+
9+
- hadoop: Add precompiled hadoop for later reuse in dependent images ([#1466]).
10+
- nifi: Add version `2.9.0` ([#1463]).
11+
712
### Changed
813

914
- hbase: Update `hbase-opa-authorizer` from `0.1.0` to `0.2.0` and then `0.3.0` ([#1446], [#1454]).
@@ -17,6 +22,8 @@ All notable changes to this project will be documented in this file.
1722
[#1452]: https://github.com/stackabletech/docker-images/pull/1452
1823
[#1453]: https://github.com/stackabletech/docker-images/pull/1453
1924
[#1454]: https://github.com/stackabletech/docker-images/pull/1454
25+
[#1463]: https://github.com/stackabletech/docker-images/pull/1463
26+
[#1466]: https://github.com/stackabletech/docker-images/pull/1466
2027

2128
## [26.3.0] - 2026-03-16
2229

Cargo.lock

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

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ cap-std = "4.0.2"
1212
clap = { version = "4.5.41", features = ["derive"] }
1313
clap_complete = "4.5.55"
1414
clap_complete_nushell = "4.5.8"
15-
git2 = { version = "0.20.1", features = ["vendored-openssl"] }
15+
git2 = "0.20.1"
1616
glob = "0.3.2"
1717
oci-spec = "0.9.0"
1818
reqwest = { version = "0.13.2", features = ["json"] }
1919
rstest = "0.26.1"
2020
secrecy = "0.10.3"
21-
semver = { version = "1.0.26", features = ["serde"] }
21+
regex = "1.12.3"
2222
serde = { version = "1.0.217", features = ["derive"] }
2323
serde_json = "1.0.140"
2424
snafu = "0.9.0"

java-devel/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ARG STACKABLE_USER_UID
1212

1313
# Find the latest version here: https://github.com/apache/maven/releases
1414
# renovate: datasource=github-tags packageName=apache/maven
15-
ARG MAVEN_VERSION="3.9.11"
15+
ARG MAVEN_VERSION="3.9.14"
1616

1717
# See: https://adoptium.net/en-gb/installation/linux/#_centosrhelfedora_instructions
1818
RUN cat <<EOF > /etc/yum.repos.d/adoptium.repo

nifi/boil-config.toml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ java-devel = "11"
1010
git-sync-version = "v4.4.1"
1111
# Check for new versions at the upstream: https://github.com/stackabletech/nifi-opa-plugin/tags
1212
# Checkout a Patchable version (patch-series) for the new tag
13-
nifi-opa-authorizer-plugin-version = "0.4.0"
13+
nifi-opa-authorizer-plugin-version = "0.5.0"
1414

1515
[versions."2.6.0".local-images]
1616
java-base = "21"
@@ -21,7 +21,7 @@ java-devel = "21"
2121
git-sync-version = "v4.4.1"
2222
# Check for new versions at the upstream: https://github.com/stackabletech/nifi-opa-plugin/tags
2323
# Checkout a Patchable version (patch-series) for the new tag
24-
nifi-opa-authorizer-plugin-version = "0.4.0"
24+
nifi-opa-authorizer-plugin-version = "0.5.0"
2525

2626
# Release a new version here: https://github.com/stackabletech/nifi-iceberg-bundle
2727
# Checkout a Patchable version (patch-series) for the new tag
@@ -36,4 +36,15 @@ java-devel = "21"
3636
git-sync-version = "v4.4.1"
3737
# Check for new versions at the upstream: https://github.com/stackabletech/nifi-opa-plugin/tags
3838
# Checkout a Patchable version (patch-series) for the new tag
39-
nifi-opa-authorizer-plugin-version = "0.4.0"
39+
nifi-opa-authorizer-plugin-version = "0.5.0"
40+
41+
[versions."2.9.0".local-images]
42+
java-base = "21" # As stated in GitHub README
43+
java-devel = "21"
44+
"shared/logback" = "1.5.32" # https://github.com/apache/nifi/blob/rel/nifi-2.9.0/pom.xml#L171
45+
46+
[versions."2.9.0".build-arguments]
47+
git-sync-version = "v4.4.1"
48+
# Check for new versions at the upstream: https://github.com/stackabletech/nifi-opa-plugin/tags
49+
# Checkout a Patchable version (patch-series) for the new tag
50+
nifi-opa-authorizer-plugin-version = "0.5.0"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
mirror = "https://github.com/stackabletech/nifi-opa-plugin.git"
2+
base = "e544db52f445c449f97d809441079b04b5cb1a0b"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
From d4f0275b86729bd28d83f8d4b28166c827a3385a Mon Sep 17 00:00:00 2001
2+
From: Nick Larsen <nick.larsen@stackable.tech>
3+
Date: Mon, 17 Feb 2025 17:26:20 +0100
4+
Subject: no zip assembly
5+
6+
---
7+
nifi-assembly/pom.xml | 1 -
8+
1 file changed, 1 deletion(-)
9+
10+
diff --git a/nifi-assembly/pom.xml b/nifi-assembly/pom.xml
11+
index 60250bd60e..d49fe6d0d9 100644
12+
--- a/nifi-assembly/pom.xml
13+
+++ b/nifi-assembly/pom.xml
14+
@@ -66,7 +66,6 @@ language governing permissions and limitations under the License. -->
15+
<tarLongFileMode>posix</tarLongFileMode>
16+
<formats>
17+
<format>dir</format>
18+
- <format>zip</format>
19+
</formats>
20+
</configuration>
21+
</execution>

0 commit comments

Comments
 (0)