Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
beb4928
feat: Add boil tool
Techassi Aug 12, 2025
4e96bba
chore: Add boil configs and adjust Dockerfiles
Techassi Aug 12, 2025
19738fd
chore: Remove old Python config files
Techassi Aug 12, 2025
9a6ab65
ci: Adjust notification condition
Techassi Aug 12, 2025
75194b2
chore: Remove commented-out code
Techassi Aug 13, 2025
6db36f6
chore: Remove unwraps
Techassi Aug 13, 2025
edaacb9
chore: Add cargo alias for boil
Techassi Aug 15, 2025
84184ec
chore: Update README to mention boil
Techassi Aug 15, 2025
f439e99
chore: Update README
Techassi Aug 15, 2025
5fe47a0
chore: Merge branch 'main' into feat/boil
Techassi Aug 15, 2025
65bab9c
feat: Add --load flag to build command
Techassi Aug 17, 2025
077b2d4
feat: Add more annotations to the built image
Techassi Aug 17, 2025
fe22240
fix: Apply corrections from code review
Techassi Aug 17, 2025
068784d
chore: Remove protobuf-version arg from Hadoop boil config
Techassi Aug 18, 2025
186bd22
feat: List images to show, move CLI arguments
Techassi Aug 19, 2025
d189810
chore: Add example to README
Techassi Aug 20, 2025
06638fc
chore: Merge branch 'main' into feat/boil
Techassi Aug 20, 2025
1dc61e9
chore: Merge branch 'main' into feat/boil
Techassi Aug 22, 2025
8ea62b4
feat: Move shared data into common target which targets inherit from
Techassi Aug 24, 2025
38d1a2f
chore: Add rust-toolchain file
Techassi Aug 25, 2025
45eec1d
chore: Make config arg global
Techassi Sep 1, 2025
43e7745
feat: Add --strip-architecture arg
Techassi Sep 1, 2025
8d99146
ci: Add workflow to release boil
Techassi Sep 1, 2025
2565cb8
ci: Also build boil on PR (without releasing it)
Techassi Sep 1, 2025
02c6a57
ci: Remove reusable workflow
Techassi Sep 1, 2025
c10d03a
ci: Only build boil for aarch64 on macOS
Techassi Sep 1, 2025
7197064
chore: Merge branch 'main' into feat/boil
Techassi Sep 1, 2025
8558c62
chore: Merge branch 'main' into feat/boil
Techassi Sep 4, 2025
64a4ff6
chore: Merge branch 'main' into feat/boil
Techassi Sep 8, 2025
ac0768c
chore: Merge branch 'main' into feat/boil
Techassi Sep 9, 2025
288f801
chore: Remove the term "product" from the Rust source code
Techassi Sep 10, 2025
ae70f91
feat: Add CLI argument to load build argumnts from file
Techassi Sep 10, 2025
95352f9
chore: Add metadata to Cargo.toml files
Techassi Sep 11, 2025
27f30ca
chore: Add rustfmt config, apply changes
Techassi Sep 11, 2025
3d6b482
chore: Adjust pre-commit config file
Techassi Sep 11, 2025
2729751
ci: Add cargo-deny job to workflow
Techassi Sep 11, 2025
69123a1
chore: Bump tracing-subscriber to 0.3.20 to fix RUSTSEC-2025-0055
Techassi Sep 11, 2025
0df9762
chore: Add metadata to patchable's Cargo.toml file
Techassi Sep 11, 2025
ec4c14a
ci: Still build boil on PR
Techassi Sep 11, 2025
3d6f2ac
ci: Install Rust in pre-commit workflow
Techassi Sep 11, 2025
c89dd37
chore: Use Apache-2.0 license instead of OSL-3.0 license
Techassi Sep 11, 2025
e58d20e
chore: Mention nightly Rust toolchain updates
Techassi Sep 11, 2025
9a9bd09
chore: Merge branch 'main' into feat/boil
Techassi Sep 12, 2025
bccc43b
chore: Remove OpenShift arg
Techassi Sep 12, 2025
4b353da
chore: Remove tree subcommand (for now)
Techassi Sep 12, 2025
92a9622
chore: Move glob pattern into const
Techassi Sep 12, 2025
7e6bede
chore: Add more image validation
Techassi Sep 12, 2025
e1798a2
chore: Add image config file name constant
Techassi Sep 12, 2025
c540829
chore: Move Docker label into a constant
Techassi Sep 12, 2025
943d7bc
fix: Actually use --target-containerfile argument
Techassi Sep 12, 2025
2be036e
docs: Add doc comments for clap command handler functions
Techassi Sep 12, 2025
b651cb1
feat: Auto-detect interactive shell for pretty output
Techassi Sep 12, 2025
089d2bf
chore: Only use a single output format
Techassi Sep 12, 2025
79e59b3
chore: Remove unused code
Techassi Sep 12, 2025
dd5caa7
chore: Rename --export-image-manifest-uris CLI argument
Techassi Sep 12, 2025
a2aba86
chore: Apply suggestions
Techassi Sep 12, 2025
52eeaed
docs: Add some clarifying doc comments
Techassi Sep 12, 2025
4ee3524
feat: Improve image parsing and validation
Techassi Sep 12, 2025
71c8f6f
chore: Update slab to 0.4.11 to fix RUSTSEC-2025-0047
Techassi Sep 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[alias]
patchable = ["run", "--bin", "patchable", "--"]
boil = ["run", "--bin", "boil", "--"]
92 changes: 92 additions & 0 deletions .github/workflows/boil_build_release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
name: Build/Release boil

on:
pull_request:
paths:
- '.github/workflows/boil_build_release.yaml'
- 'rust-toolchain.toml'
- 'Cargo.*'
- '**.rs'
push:
tags:
- "boil-[0-9]+.[0-9]+.[0-9]+**"

env:
RUST_VERSION: 1.87.0

jobs:
# This job is always run to ensure we don't miss any new upstream advisories
cargo-deny:
name: Run cargo-deny
runs-on: ubuntu-latest
# Prevent sudden announcement of a new advisory from failing CI
continue-on-error: ${{ matrix.checks == 'advisories' }}
strategy:
matrix:
checks:
- advisories
- bans licenses sources
steps:
- name: Checkout Repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: recursive

- name: Run cargo-deny
uses: EmbarkStudios/cargo-deny-action@f2ba7abc2abebaf185c833c3961145a3c275caad # v2.0.13
with:
command: check ${{ matrix.checks }}

create-release:
name: Create Draft Release
if: github.event_name == 'push'
needs:
- cargo-deny
runs-on: ubuntu-latest
steps:
- name: Create Draft Release
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
with:
draft: true

build:
name: Build boil
needs:
- cargo-deny
strategy:
fail-fast: false
matrix:
targets:
- {target: aarch64-unknown-linux-gnu, os: ubuntu-24.04-arm}
- {target: x86_64-unknown-linux-gnu, os: ubuntu-latest}
- {target: aarch64-apple-darwin, os: macos-latest}
runs-on: ${{ matrix.targets.os }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false

- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9
with:
toolchain: ${{ env.RUST_VERSION }}
targets: ${{ matrix.targets.target }}

- name: Build Binary
env:
TARGET: ${{ matrix.targets.target }}
run: cargo build --target "$TARGET" --release --package boil

- name: Rename Binary
env:
TARGET: ${{ matrix.targets.target }}
run: mv "target/$TARGET/release/boil" "boil-$TARGET"

- name: Upload Artifact to Release
if: github.event_name == 'push'
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
with:
draft: false
files: boil-${{ matrix.targets.target }}
3 changes: 3 additions & 0 deletions .github/workflows/pr_pre-commit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
pull_request:

env:
# Keep in sync with across other repos like operator-rs and operator-templating
RUST_TOOLCHAIN_VERSION: "nightly-2025-05-26"
HADOLINT_VERSION: "v2.12.0"
PYTHON_VERSION: "3.12"

Expand All @@ -19,4 +21,5 @@ jobs:
- uses: stackabletech/actions/run-pre-commit@497f3e3cbfe9b89b1e570351b97d050eebcad5d0 # 0.8.3
with:
python-version: ${{ env.PYTHON_VERSION }}
rust: ${{ env.RUST_TOOLCHAIN_VERSION }}
hadolint: ${{ env.HADOLINT_VERSION }}
2 changes: 1 addition & 1 deletion .github/workflows/reusable_build_image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ jobs:
name: Failure Notification
needs: [generate_matrix, build, publish_manifests]
runs-on: ubuntu-latest
if: failure() || github.run_attempt > 1
if: failure() || (github.run_attempt > 1 && !cancelled())
steps:
- name: Send Notification
uses: stackabletech/actions/send-slack-notification@55d2f9fcbcd7884ac929ea65fd6f069e7b7a49d2 # v0.8.1
Expand Down
24 changes: 24 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,27 @@ repos:
entry: .scripts/update_readme_badges.sh
stages: [pre-commit, pre-merge-commit, manual]
pass_filenames: false

- id: cargo-test
name: cargo-test
language: system
entry: cargo test
stages: [pre-commit, pre-merge-commit]
pass_filenames: false
files: \.rs$|Cargo\.(toml|lock)

- id: cargo-rustfmt
name: cargo-rustfmt
language: system
entry: cargo +nightly-2025-05-26 fmt --all -- --check
stages: [pre-commit, pre-merge-commit]
pass_filenames: false
files: \.rs$

- id: cargo-clippy
name: cargo-clippy
language: system
entry: cargo clippy --all-targets -- -D warnings
stages: [pre-commit, pre-merge-commit]
pass_filenames: false
files: \.rs$
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"rust-analyzer.rustfmt.overrideCommand": [
"rustfmt",
// Keep in sync with across other repos like operator-rs and operator-templating
"+nightly-2025-05-26",
"--edition",
"2024",
"--"
],
}
Loading