Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
44e5530
Support gang scheduling with Yunikorn (#2107)
jacobsalway Aug 22, 2024
5dcdb7c
Update Makefile for building sparkctl (#2119)
ChenYi015 Aug 22, 2024
466d070
fix: Add default values for namespaces to match usage descriptions (…
snappyyouth Aug 22, 2024
344a84f
Fix: Spark role binding did not render properly when setting spark se…
ChenYi015 Aug 22, 2024
a8b0bf3
Reintroduce option webhook.enable (#2142)
ChenYi015 Aug 24, 2024
0df79cd
Add default batch scheduler argument (#2143)
jacobsalway Aug 28, 2024
99db16a
fix: unable to set controller/webhook replicas to zero (#2147)
ChenYi015 Aug 30, 2024
f625347
Adding support for setting spark job namespaces to all namespaces (#2…
ChenYi015 Sep 3, 2024
1800255
Support extended kube-scheduler as batch scheduler (#2136)
ChenYi015 Sep 3, 2024
7c4902b
Run e2e tests on Kind (#2148)
jacobsalway Sep 3, 2024
c79093e
Set schedulerName to Yunikorn (#2153)
jacobsalway Sep 8, 2024
c2b0fd0
Create role and rolebinding for controller/webhook in every spark job…
ChenYi015 Sep 8, 2024
51f611d
Fix: e2e test failes due to webhook not ready (#2149)
ChenYi015 Sep 9, 2024
4c277a3
Upgrade to Go 1.23.1 (#2155)
jacobsalway Sep 9, 2024
8b3b279
Upgrade to Spark 3.5.2 (#2154)
jacobsalway Sep 9, 2024
93bdccb
Bump sigs.k8s.io/scheduler-plugins from 0.29.7 to 0.29.8 (#2159)
dependabot[bot] Sep 10, 2024
7ce0ae4
feat: support driver and executor pod use different priority (#2146)
Kevinz857 Sep 10, 2024
059be26
Bump gocloud.dev from 0.37.0 to 0.39.0 (#2160)
dependabot[bot] Sep 10, 2024
6e68bea
Update e2e tests (#2161)
ChenYi015 Sep 13, 2024
b310c58
fix: webhook not working when settings spark job namespaces to empty …
ChenYi015 Sep 13, 2024
bac4dd2
fix: The logger had an odd number of arguments, making it panic (#2166)
tcassaert Sep 13, 2024
ffd2ed8
Upgrade to Spark 3.5.2(#2012) (#2157)
ha2hi Sep 13, 2024
4a10b27
Feature: Add pprof endpoint (#2164)
ImpSy Sep 16, 2024
9327d77
fix the make kind-delete-custer to avoid accidental kubeconfig deleti…
ImpSy Sep 18, 2024
6bc13ee
Bump github.com/aws/aws-sdk-go-v2/config from 1.27.27 to 1.27.33 (#2174)
dependabot[bot] Sep 18, 2024
b2d6e4f
Bump helm.sh/helm/v3 from 3.15.3 to 3.16.1 (#2173)
dependabot[bot] Sep 18, 2024
c70541d
Add specific error in log line when failed to create web UI service (…
tcassaert Sep 19, 2024
8921518
Account for spark.executor.pyspark.memory in Yunikorn gang scheduling…
jacobsalway Sep 19, 2024
c37fa88
Fix: spark application does not respect time to live seconds (#2165)
ChenYi015 Sep 19, 2024
bb56d03
Update release workflow and docs (#2121)
ChenYi015 Aug 29, 2024
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
64 changes: 64 additions & 0 deletions .github/workflows/check-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Check Release

on:
pull_request:
branches:
- release-*
paths:
- VERSION

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

env:
SEMVER_PATTERN: '^v([0-9]+)\.([0-9]+)\.([0-9]+)(-rc\.([0-9]+))?$'

jobs:
check:
runs-on: ubuntu-latest

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

- name: Check whether version matches semver pattern
run: |
VERSION=$(cat VERSION)
if [[ ${VERSION} =~ ${{ env.SEMVER_PATTERN }} ]]; then
echo "Version '${VERSION}' matches semver pattern."
else
echo "Version '${VERSION}' does not match semver pattern."
exit 1
fi
echo "VERSION=${VERSION}" >> $GITHUB_ENV

- name: Check whether chart version and appVersion matches version
run: |
VERSION=${VERSION#v}
CHART_VERSION=$(cat charts/spark-operator-chart/Chart.yaml | grep version | awk '{print $2}')
CHART_APP_VERSION=$(cat charts/spark-operator-chart/Chart.yaml | grep appVersion | awk '{print $2}')
if [[ ${CHART_VERSION} == ${VERSION} ]]; then
echo "Chart version '${CHART_VERSION}' matches version '${VERSION}'."
else
echo "Chart version '${CHART_VERSION}' does not match version '${VERSION}'."
exit 1
fi
if [[ ${CHART_APP_VERSION} == ${VERSION} ]]; then
echo "Chart appVersion '${CHART_APP_VERSION}' matches version '${VERSION}'."
else
echo "Chart appVersion '${CHART_APP_VERSION}' does not match version '${VERSION}'."
exit 1
fi

- name: Check if tag exists
run: |
git fetch --tags
if git tag -l | grep -q "^${VERSION}$"; then
echo "Tag '${VERSION}' already exists."
exit 1
else
echo "Tag '${VERSION}' does not exist."
fi
55 changes: 14 additions & 41 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,26 +72,11 @@ jobs:
- name: Run unit tests
run: make unit-test

- name: Build Spark-Operator Docker Image
run: make docker-build IMAGE_TAG=latest

- name: Check changes in resources used in docker file
run: |
DOCKERFILE_RESOURCES=$(cat Dockerfile | grep -P -o "COPY [a-zA-Z0-9].*? " | cut -c6-)
for resource in $DOCKERFILE_RESOURCES; do
# If the resource is different
if ! git diff --quiet origin/master -- $resource; then
## And the appVersion hasn't been updated
if ! git diff origin/master -- charts/spark-operator-chart/Chart.yaml | grep +appVersion; then
echo "resource used in docker.io/kubeflow/spark-operator has changed in $resource, need to update the appVersion in charts/spark-operator-chart/Chart.yaml"
git diff origin/master -- $resource;
echo "failing the build... " && false
fi
fi
done
- name: Build Spark operator
run: make build-operator

build-helm-chart:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Determine branch name
id: get_branch
Expand Down Expand Up @@ -131,7 +116,7 @@ jobs:
- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
env:
BRANCH: ${{ steps.get_branch.outputs.BRANCH }}
BRANCH: ${{ steps.get_branch.outputs.BRANCH }}
run: ct lint --check-version-increment=false --target-branch $BRANCH

- name: Detect CRDs drift between chart and manifest
Expand Down Expand Up @@ -163,37 +148,25 @@ jobs:
minikube image load docker.io/kubeflow/spark-operator:local
ct install

integration-test:
runs-on: ubuntu-22.04
e2e-test:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
with:
fetch-depth: "0"
fetch-depth: 0

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

- name: setup minikube
uses: manusa/actions-setup-minikube@v2.11.0
with:
minikube version: v1.33.0
kubernetes version: v1.30.0
start args: --memory 6g --cpus=2 --addons ingress
github token: ${{ inputs.github-token }}
- name: Create a Kind cluster
run: make kind-create-cluster

- name: Build local spark-operator docker image for minikube testing
- name: Build and load image to Kind cluster
run: |
docker build -t docker.io/kubeflow/spark-operator:local .
minikube image load docker.io/kubeflow/spark-operator:local

# The integration tests are currently broken see: https://github.com/kubeflow/spark-operator/issues/1416
# - name: Run chart-testing (integration test)
# run: make integration-test
make kind-load-image IMAGE_TAG=local

- name: Setup tmate session
if: failure()
uses: mxschmitt/action-tmate@v3
timeout-minutes: 15
- name: Run e2e tests
run: make e2e-test
44 changes: 0 additions & 44 deletions .github/workflows/push-tag.yaml

This file was deleted.

120 changes: 0 additions & 120 deletions .github/workflows/release-docker.yaml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,25 @@ name: Release Helm charts

on:
release:
types: [published]
types:
- published

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

env:
HELM_REGISTRY: ghcr.io
HELM_REPOSITORY: ${{ github.repository_owner }}/helm-charts

jobs:
build:
release_helm_charts:
permissions:
contents: write
packages: write

runs-on: ubuntu-latest

steps:
- name: Checkout source code
uses: actions/checkout@v4
Expand All @@ -27,10 +35,28 @@ jobs:
with:
version: v3.14.4

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

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

- name: Package Helm charts
run: |
for chart in $(ls charts); do
helm package charts/$chart
helm package charts/${chart}
done

- name: Upload charts to GHCR
run: |
for pkg in $(ls *.tgz); do
helm push ${pkg} oci://${{ env.HELM_REGISTRY }}/${{ env.HELM_REPOSITORY }}
done

- name: Save packaged charts to temp directory
Expand All @@ -44,15 +70,15 @@ jobs:
ref: gh-pages
fetch-depth: 0

- name: Copy packages charts
- name: Copy packaged charts
run: |
cp /tmp/charts/*.tgz .

- name: Update Helm charts repo index
env:
CHART_URL: https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}
run: |
helm repo index --merge index.yaml --url $CHART_URL .
helm repo index --merge index.yaml --url ${CHART_URL} .
git add index.yaml
git commit -s -m "Update index.yaml" || exit 0
git commit -s -m "Add index for Spark operator chart ${VERSION}" || exit 0
git push
Loading