Skip to content

Commit 6d12362

Browse files
authored
Merge pull request #86 from chipspeak/release-v1.4.0
Release v1.4.0
2 parents 600a346 + 8492d77 commit 6d12362

21 files changed

+335
-11
lines changed

.github/pull.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: "1"
2+
rules:
3+
- base: dev
4+
upstream: ray-project:master
5+
mergeMethod: hardreset
6+
conflictLabel: "merge-conflict"

.github/workflows/actions/kind/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ runs:
3737
- name: Setup KinD cluster
3838
uses: helm/[email protected]
3939
with:
40-
cluster_name: cluster
40+
cluster_name: kind
4141
version: v0.17.0
4242
config: ${{ env.KIND_CONFIG_FILE }}
4343

.github/workflows/actions/kind/kind.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ kind: Cluster
22
apiVersion: kind.x-k8s.io/v1alpha4
33
nodes:
44
- role: control-plane
5-
image: kindest/node:v1.25.3@sha256:f52781bc0d7a19fb6c405c2af83abfeb311f130707a0e219175677e366cc45d1
5+
image: kindest/node:v1.30.8@sha256:17cd608b3971338d9180b00776cb766c50d0a0b6b904ab4ff52fd3fc5c6369bf
66
kubeadmConfigPatches:
77
- |
88
kind: InitConfiguration

.github/workflows/consistency-check.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ name: operator-consistency-check
33
on:
44
push:
55
branches:
6-
- master
6+
- dev
77
- release-*
88
pull_request:
99
branches:
10-
- master
11-
- release-*
10+
- '**'
1211

1312
jobs:
1413
# Check consistency between types.go and generated API.

.github/workflows/e2e-tests.yaml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: E2E Tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '**'
7+
push:
8+
branches:
9+
- dev
10+
- 'release-*'
11+
12+
concurrency:
13+
group: ${{ github.head_ref }}-${{ github.workflow }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v3
22+
with:
23+
submodules: recursive
24+
25+
- name: Set up Go
26+
uses: actions/setup-go@v3
27+
with:
28+
go-version: v1.22
29+
30+
- name: Set up gotestfmt
31+
uses: gotesttools/gotestfmt-action@v2
32+
with:
33+
token: ${{ secrets.GITHUB_TOKEN }}
34+
35+
- name: Setup and start KinD cluster
36+
uses: ./.github/workflows/actions/kind
37+
38+
- name: Deploy Kuberay operator
39+
id: deploy
40+
run: |
41+
echo "Deploying Kuberay operator"
42+
cd ray-operator
43+
44+
IMG=quay.io/opendatahub/kuberay-operator:dev
45+
make docker-build -e IMG="${IMG}" -e ENGINE=docker
46+
kind load docker-image ${IMG}
47+
48+
make deploy -e IMG="${IMG}"
49+
kubectl wait --timeout=90s --for=condition=Available=true deployment -n default kuberay-operator
50+
51+
- name: Run e2e tests
52+
run: |
53+
export KUBERAY_TEST_TIMEOUT_SHORT=3m
54+
export KUBERAY_TEST_TIMEOUT_MEDIUM=10m
55+
export KUBERAY_TEST_TIMEOUT_LONG=15m
56+
57+
set -euo pipefail
58+
cd ray-operator
59+
go test -timeout 60m -v ./test/e2e -json 2>&1 | tee ./gotest.log | gotestfmt
60+
61+
- name: Print KubeRay operator logs
62+
if: steps.deploy.outcome == 'success'
63+
run: |
64+
echo "Printing KubeRay operator logs"
65+
kubectl logs -n default --tail -1 -l app.kubernetes.io/name=kuberay-operator app.kubernetes.io/name=kuberay | tee ./kuberay-operator.log
66+
67+
- name: Upload logs
68+
uses: actions/upload-artifact@v4
69+
with:
70+
name: logs
71+
retention-days: 10
72+
path: |
73+
**/*.log

.github/workflows/odh-release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# This workflow will compile e2e tests and release them
2+
3+
name: ODH Release
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
version:
8+
description: 'Tag to be used for release, i.e.: v0.0.1'
9+
required: true
10+
push:
11+
tags:
12+
- '*'
13+
14+
env:
15+
KUBERAY_RELEASE_VERSION: ${{ github.event.inputs.version || github.ref_name }}
16+
17+
jobs:
18+
release-odh:
19+
runs-on: ubuntu-latest
20+
21+
# Permission required to create a release
22+
permissions:
23+
contents: write
24+
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- name: Set Go
29+
uses: actions/setup-go@v5
30+
with:
31+
go-version: v1.22
32+
cache-dependency-path: "ray-operator/go.sum"
33+
34+
- name: Verify that release doesn't exist yet
35+
shell: bash {0}
36+
run: |
37+
gh release view $KUBERAY_RELEASE_VERSION
38+
status=$?
39+
if [[ $status -eq 0 ]]; then
40+
echo "Release $KUBERAY_RELEASE_VERSION already exists."
41+
exit 1
42+
fi
43+
env:
44+
GITHUB_TOKEN: ${{ github.TOKEN }}
45+
46+
- name: Compile tests
47+
run: |
48+
go test -c -o compiled-tests/e2e ./test/e2e/
49+
working-directory: ray-operator
50+
51+
- name: Creates a release in GitHub
52+
run: |
53+
gh release create $KUBERAY_RELEASE_VERSION --target $GITHUB_SHA ray-operator/compiled-tests/*
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.CODEFLARE_MACHINE_ACCOUNT_TOKEN }}
56+
shell: bash

.github/workflows/test-job.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ name: Go-build-and-test
33
on:
44
push:
55
branches:
6-
- master
6+
- dev
77
- release-*
88
pull_request:
99
branches:
10-
- master
11-
- release-*
10+
- '**'
1211

1312
jobs:
1413
lint:

ray-operator/DEVELOPMENT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ make clean
6262

6363
```bash
6464
# Step 1: Create a Kind cluster
65-
kind create cluster --image=kindest/node:v1.24.0
65+
kind create cluster --image=kindest/node:v1.27.3
6666

6767
# Step 2: Modify KubeRay source code
6868
# For example, add a log by adding setupLog.Info("Hello KubeRay") in the function `main` in `main.go`.
@@ -110,7 +110,7 @@ cd ..
110110
111111
```bash
112112
# Step 1: Create a Kind cluster
113-
kind create cluster --image=kindest/node:v1.25.0
113+
kind create cluster --image=kindest/node:v1.27.3
114114

115115
# Step 2: Install CRDs
116116
make -C ray-operator install

ray-operator/Dockerfile.rhoai

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Build the manager binary - we don't have a registry ubi9 toolset for go1.24 yet
2+
FROM golang:1.24.2-bullseye AS builder
3+
4+
5+
WORKDIR /workspace
6+
# Copy the Go Modules manifests
7+
COPY go.mod go.mod
8+
COPY go.sum go.sum
9+
# cache deps before building and copying source so that we don't need to re-download as much
10+
# and so that source changes don't invalidate our downloaded layer
11+
RUN go mod download
12+
13+
# Copy the go source
14+
COPY main.go main.go
15+
COPY apis/ apis/
16+
COPY controllers/ controllers/
17+
COPY pkg/features pkg/features
18+
COPY pkg/utils pkg/utils
19+
COPY pkg/webhooks pkg/webhooks
20+
21+
# Build
22+
USER root
23+
RUN CGO_ENABLED=1 GOOS=linux GO111MODULE=on go build -tags strictfipsruntime -a -o manager main.go
24+
25+
FROM registry.access.redhat.com/ubi9/ubi:latest
26+
27+
RUN dnf install -y bind-utils
28+
29+
WORKDIR /
30+
COPY --from=builder /workspace/manager .
31+
USER 65532:65532
32+
33+
ENTRYPOINT ["/manager"]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
releases:
2+
- name: KubeRay
3+
version: 1.2.2
4+
repoUrl: https://github.com/ray-project/kuberay

0 commit comments

Comments
 (0)