Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
604d8c6
Bump actions/setup-go from 5 to 6 (#2651)
dependabot[bot] Oct 9, 2025
faba51b
Bump actions/stale from 9 to 10 (#2649)
dependabot[bot] Oct 9, 2025
56bfbd6
fix: webhook encoder configuration (#2664)
pvbouwel Oct 9, 2025
0449f13
Bump aquasecurity/trivy-action from 0.32.0 to 0.33.1 (#2650)
dependabot[bot] Oct 9, 2025
5824e96
Bump github.com/golang/glog from 1.2.4 to 1.2.5 (#2620)
dependabot[bot] Oct 9, 2025
023f6ed
bugfix: hook.upgradeCrd use cases (#2663)
pvbouwel Oct 11, 2025
72c8918
Bump github.com/onsi/ginkgo/v2 from 2.23.3 to 2.26.0 (#2660)
dependabot[bot] Oct 11, 2025
8044286
Add Spark Operator Roadmap (#2622)
ChenYi015 Oct 13, 2025
b621d81
Correct entrypoint.sh for Openshift (#2645)
Reamer Oct 21, 2025
d388811
Bump sigs.k8s.io/scheduler-plugins from 0.31.8 to 0.32.7 (#2675)
dependabot[bot] Oct 21, 2025
5ceb788
Bump github/codeql-action from 3 to 4 (#2672)
dependabot[bot] Oct 22, 2025
d9a1ef9
Set ControllerReference on driver pod and non-Controller OwnerReferen…
everpeace Oct 23, 2025
88b7dee
CI: Add Scorecard workflow (#2654)
AdamKorcz Oct 23, 2025
f183491
Bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (#2673)
dependabot[bot] Oct 23, 2025
bb92be9
unify SparkApplication defaulting logic (#2671)
zhzhuang-zju Oct 23, 2025
d0c8e69
Update GitHub action workflow permissions (#2678)
ChenYi015 Oct 24, 2025
1cfafd5
Bump golang.org/x/time from 0.9.0 to 0.14.0 (#2686)
dependabot[bot] Oct 29, 2025
e917bf0
Bump github.com/prometheus/client_golang from 1.22.0 to 1.23.2 (#2682)
dependabot[bot] Oct 29, 2025
6967e4c
Bump github.com/spf13/viper from 1.20.1 to 1.21.0 (#2683)
dependabot[bot] Oct 29, 2025
f0aa139
Add kube-scheduler podgroup unit tests (#2689)
shadowinlife Oct 30, 2025
d128863
Bump github/codeql-action from 3.29.2 to 4.31.0 (#2684)
dependabot[bot] Oct 30, 2025
193be82
Generate HTML coverage report after running unit tests (#2691)
shadowinlife Oct 30, 2025
0146224
Avoid 409 (Conflict) error at e2e tests with retry. (#2695)
shadowinlife Oct 30, 2025
827bdd3
Add unit test for sparkapplication_validator (#2692)
shadowinlife Oct 31, 2025
07e2981
Add unit test for scheduledsparkapplication_validator (#2694)
shadowinlife Oct 31, 2025
d0cd834
Refactor the unit tests for web_ui.go (#2696)
shadowinlife Nov 3, 2025
317d2ca
Replace strconv.Atoi with strconv.ParseInt (#2699)
ChenYi015 Nov 5, 2025
81d6a0b
refactor: use ptr.To to replace util.XxxPtr (#2693)
ChenYi015 Nov 5, 2025
7e5f12c
added SparkApp name validator to accept valid DNS-1035 format (#2711)
aryankumar04 Nov 7, 2025
2509039
Bump github.com/containerd/containerd from 1.7.27 to 1.7.29 (#2712)
dependabot[bot] Nov 7, 2025
30eae51
No propagate Kueue labels to driver and executor pods (#2714)
everpeace Nov 7, 2025
3764d43
Bump sigs.k8s.io/yaml from 1.5.0 to 1.6.0 (#2704)
dependabot[bot] Nov 10, 2025
0a3a1b8
Bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (#2705)
dependabot[bot] Nov 10, 2025
de5a1e2
Bump github/codeql-action from 4.31.0 to 4.31.2 (#2707)
dependabot[bot] Nov 10, 2025
6c484ee
feat: add support for customizing connect service (#2709)
ChenYi015 Nov 10, 2025
7926d51
Bump actions/upload-artifact from 4 to 5 (#2681)
dependabot[bot] Nov 10, 2025
677be7f
Bump actions/download-artifact from 5 to 6 (#2680)
dependabot[bot] Nov 10, 2025
6f16683
Bump actions/checkout from 4.2.2 to 5.0.0 (#2685)
dependabot[bot] Nov 10, 2025
0650f16
Bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#2687)
dependabot[bot] Nov 10, 2025
d49d47f
Fix driver host configuration to handle IPv6 addresses (#2703)
tiagotxm Nov 10, 2025
f0a817c
Bump github.com/onsi/ginkgo/v2 from 2.26.0 to 2.27.2 (#2719)
dependabot[bot] Nov 12, 2025
7953a2e
Bump golang.org/x/mod from 0.27.0 to 0.29.0 (#2720)
dependabot[bot] Nov 12, 2025
be65fad
Bump helm/chart-testing-action from 2.7.0 to 2.8.0 (#2722)
dependabot[bot] Nov 12, 2025
4e93db0
Add permissions for sparkconnects/finalizers (#2727)
ChenYi015 Nov 13, 2025
40ec307
Remove redundant name and namespace context in logs (#2723)
ChenYi015 Nov 13, 2025
eb757ea
Logging info when resources associated with SparkApplication still ex…
ChenYi015 Nov 14, 2025
f53373e
Add changelog for v2.4.0 (#2731)
ChenYi015 Nov 18, 2025
501c8c9
feat(chart): add hostUsers (user namespace) option (#2721)
t3mi Dec 2, 2025
a349e3d
Add GitHub action workflow for publishing latest spark-operator and k…
ChenYi015 Dec 2, 2025
a531c93
Update ENVTEST_K8S_VERSION for e2e and unit tests (#2751)
ChenYi015 Dec 12, 2025
2405295
Reset SparkApplication status when transitioning from SUCCEEDING/FAIL…
ChenYi015 Dec 15, 2025
740c229
Use custom log constructors for controllers (#2756)
ChenYi015 Dec 15, 2025
6cb0010
Bump golang from 1.24.1 to 1.24.10 (#2732)
ChenYi015 Dec 15, 2025
16e2349
Bump actions/download-artifact from 5 to 7 (#2776)
dependabot[bot] Dec 16, 2025
6cfe7bd
Bump actions/upload-artifact from 4 to 6 (#2777)
dependabot[bot] Dec 16, 2025
7c5fc62
Bump github/codeql-action from 4.31.2 to 4.31.8 (#2778)
dependabot[bot] Dec 16, 2025
57e9d9c
Helm: Add toleration, affinity, and nodeselector for upgrade hook (#2…
MonkeyCanCode Dec 25, 2025
e029f65
feat: introduce feature gate mechanism (#2794)
Kevinz857 Dec 30, 2025
4af4bc0
feat: skip reconcile for webhook-patched executor fields (#2786)
Kevinz857 Dec 30, 2025
8bc91ae
Fix : Propagate batch scheduler initialization errors to trigger retr…
houyuting Dec 31, 2025
0ad578d
Server-side apply CRDs by forcing conflicts (#2800)
ChenYi015 Jan 1, 2026
9b80960
refactor: replace util.ContainsString with slices.Contains (#2796)
ChenYi015 Jan 1, 2026
d28c245
Refactor webhook logging (#2799)
ChenYi015 Jan 6, 2026
610d8bc
feature: Add alpha feature gate LoadSparkDefaults (#2798)
ChenYi015 Jan 6, 2026
4faaabb
Update to spark 4.0.1 (#2804)
nabuskey Jan 12, 2026
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
5 changes: 4 additions & 1 deletion .github/workflows/check-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ on:
paths:
- VERSION

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand All @@ -20,7 +23,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

Expand Down
23 changes: 13 additions & 10 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ on:
- master
- release-*

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.actor }}
cancel-in-progress: true
Expand All @@ -20,12 +23,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: go.mod

Expand Down Expand Up @@ -77,12 +80,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: go.mod

Expand All @@ -99,12 +102,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: go.mod

Expand All @@ -130,7 +133,7 @@ jobs:
echo "BRANCH=$BRANCH" >> "$GITHUB_OUTPUT"

- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

Expand All @@ -146,7 +149,7 @@ jobs:
version: ${{ steps.get_helm_version.outputs.HELM_VERSION }}

- name: Set up chart-testing
uses: helm/chart-testing-action@v2.7.0
uses: helm/chart-testing-action@v2.8.0

- name: Generate manifests
run: |
Expand Down Expand Up @@ -220,12 +223,12 @@ jobs:
- v1.32.0
steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version-file: go.mod

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-helm-charts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0

- name: Configure Git
run: |
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
cp *.tgz /tmp/charts

- name: Checkout to branch gh-pages
uses: actions/checkout@v5
uses: actions/checkout@v5.0.0
with:
ref: gh-pages
fetch-depth: 0
Expand Down
263 changes: 263 additions & 0 deletions .github/workflows/release-latest-images.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,263 @@
name: Release Latest Images

on:
push:
branches:
- master

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.actor }}
cancel-in-progress: true

env:
IMAGE_REGISTRY: ghcr.io
OPERATOR_IMAGE_REPOSITORY: ${{ github.repository }}/controller
KUBECTL_IMAGE_REPOSITORY: ${{ github.repository }}/kubectl
KUBECTL_VERSION: 1.33.2

jobs:
build_operator_images:
runs-on: ubuntu-latest

permissions:
contents: read
packages: write

strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64

steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Checkout source code
uses: actions/checkout@v5

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_REGISTRY }}/${{ env.OPERATOR_IMAGE_REPOSITORY }}
tags: |
type=raw,pattern={{version}},value=latest

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker buildx
uses: docker/setup-buildx-action@v3

- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
with:
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,name=${{ env.IMAGE_REGISTRY }}/${{ env.OPERATOR_IMAGE_REPOSITORY }},push-by-digest=true,name-canonical=true,push=true

- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v6
with:
name: digests-operator-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

build_kubectl_images:
runs-on: ubuntu-latest

permissions:
contents: read
packages: write

strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64

steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Checkout source code
uses: actions/checkout@v5

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_REGISTRY }}/${{ env.KUBECTL_IMAGE_REPOSITORY }}
tags: |
type=raw,value=latest

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker buildx
uses: docker/setup-buildx-action@v3

- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
with:
file: docker/Dockerfile.kubectl
platforms: ${{ matrix.platform }}
build-args: |
KUBECTL_VERSION=${{ env.KUBECTL_VERSION }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,name=${{ env.IMAGE_REGISTRY }}/${{ env.KUBECTL_IMAGE_REPOSITORY }},push-by-digest=true,name-canonical=true,push=true

- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v6
with:
name: digests-kubectl-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

release_operator_images:
needs:
- build_operator_images

runs-on: ubuntu-latest

permissions:
contents: read
packages: write

steps:
- name: Checkout source code
uses: actions/checkout@v5

- name: Read version from VERSION file
run: |
VERSION=$(cat VERSION)
echo "VERSION=${VERSION}" >> $GITHUB_ENV

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_REGISTRY }}/${{ env.OPERATOR_IMAGE_REPOSITORY }}
tags: |
type=raw,value=latest

- name: Download digests
uses: actions/download-artifact@v7
with:
path: /tmp/digests
pattern: digests-operator-*
merge-multiple: true

- name: Set up Docker buildx
uses: docker/setup-buildx-action@v3

- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.IMAGE_REGISTRY }}/${{ env.OPERATOR_IMAGE_REPOSITORY }}@sha256:%s ' *)

- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.IMAGE_REGISTRY }}/${{ env.OPERATOR_IMAGE_REPOSITORY }}:${{ steps.meta.outputs.version }}

release_kubectl_images:
needs:
- build_kubectl_images

runs-on: ubuntu-latest

permissions:
contents: read
packages: write

steps:
- name: Checkout source code
uses: actions/checkout@v5

- name: Read version from VERSION file
run: |
VERSION=$(cat VERSION)
echo "VERSION=${VERSION}" >> $GITHUB_ENV

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_REGISTRY }}/${{ env.KUBECTL_IMAGE_REPOSITORY }}
tags: |
type=raw,value=latest

- name: Download digests
uses: actions/download-artifact@v7
with:
path: /tmp/digests
pattern: digests-kubectl-*
merge-multiple: true

- name: Set up Docker buildx
uses: docker/setup-buildx-action@v3

- name: Login to container registry
uses: docker/login-action@v3
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.IMAGE_REGISTRY }}/${{ env.KUBECTL_IMAGE_REPOSITORY }}@sha256:%s ' *)

- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.IMAGE_REGISTRY }}/${{ env.KUBECTL_IMAGE_REPOSITORY }}:${{ steps.meta.outputs.version }}
Loading