Skip to content

Commit f253b4e

Browse files
Merge remote-tracking branch 'upstream/master' into feature/pipeline-run-parallelism
Signed-off-by: sduvvuri1603 <sduvvuri@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
2 parents ee9ed84 + e86d034 commit f253b4e

21 files changed

+214
-59
lines changed

.github/copilot-instructions.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copilot Instructions
2+
3+
## Review style
4+
5+
- The volume of PRs has increased significantly as a result of LLMs. Your job is to help maintain the codebase by being a tier 1 reviewer for incoming PRs. Maintainer time is limited. Your vigilance will help ensure the continuity of the project.
6+
- Explain the "why" behind recommendations using bullet points.
7+
- Don't get bogged down in small details that will be caught by the hooks listed in `.pre-commit-config.yaml` anyway.
8+
- Make sure that functions have clear docstrings and are well-documented.
9+
- Make sure that type hints are used consistently for Python code.
10+
- Make sure that logic is clear and easy to follow.
11+
- Make sure that functions are reasonably sized and properly decomposed.
12+
- Make sure complex logic is broken down into smaller functions.
13+
- Make sure complex logic has sufficient comments, within reason, to explain the why behind the logic.
14+
- Make sure that variable names are descriptive and meaningful.
15+
- Make sure that new logic is covered by unit tests.
16+
- Make sure that large changes have adequate large tests, not just small tests.
17+
- Make sure that the PR description is clear.
18+
- Identify design flaws, uneccessary redundancy, and security issues introduced by the PR.
19+
- Provide an estimate about whether or not the PR is LLM-generated. Include a confidence level for the estimate. Do this as an HTML comment in the "PR Overview" section.
20+
- Once a PR has met all of these criterias, comment on the PR with "🤖 LGTM 🤖" to notify maintainers that it's time for human review.
21+
- Adhere to the following software engineering principles:
22+
23+
FUNDAMENTAL SOFTWARE ENGINEERING PRINCIPLES
24+
25+
--- CORE DESIGN PRINCIPLES (SOLID) ---
26+
S - Single Responsibility Principle (SRP): A class or module should have one, and only one, reason to change.
27+
O - Open/Closed Principle (OCP): Software entities should be open for extension, but closed for modification.
28+
L - Liskov Substitution Principle (LSP): Subtypes must be substitutable for their base types without altering program correctness.
29+
I - Interface Segregation Principle (ISP): Clients should not be forced to depend on methods they do not use; prefer small, specific interfaces.
30+
D - Dependency Inversion Principle (DIP): Depend upon abstractions (interfaces), not concretes (classes).
31+
32+
--- ESSENTIAL DEVELOPMENT PRINCIPLES ---
33+
DRY (Don't Repeat Yourself): Every piece of knowledge must have a single, unambiguous representation within a system.
34+
KISS (Keep It Simple, Stupid): Avoid unnecessary complexity; simple code is easier to maintain and debug.
35+
YAGNI (You Aren't Gonna Need It): Do not add functionality until it is deemed necessary.
36+
Composition Over Inheritance: Prefer achieving polymorphic behavior and code reuse by composing objects rather than inheriting from a base class.
37+
Law of Demeter (Principle of Least Knowledge): A module should only talk to its immediate neighbors, not to strangers.
38+
39+
--- SOFTWARE ARCHITECTURE & QUALITY PRINCIPLES ---
40+
Separation of Concerns: Divide code into distinct sections, each addressing a separate concern or functionality.
41+
Encapsulation: Hide the internal state and behavior of an object, exposing only necessary functionality.
42+
High Cohesion: Elements within a module should belong together, focusing on a single, well-defined task.
43+
Low Coupling: Minimize dependencies between modules to reduce the impact of changes.
44+
Boy Scout Rule: Always leave the code cleaner than you found it.

.github/workflows/api-server-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ concurrency:
5454

5555
jobs:
5656
build:
57-
uses: ./.github/workflows/image-builds-with-cache.yml
57+
uses: ./.github/workflows/image-builds.yml
5858

5959
api-test-standalone:
6060
needs: build

.github/workflows/e2e-test-frontend.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414

1515
jobs:
1616
build:
17-
uses: ./.github/workflows/image-builds-with-cache.yml
17+
uses: ./.github/workflows/image-builds.yml
1818

1919
frontend-integration-test:
2020
runs-on: ubuntu-latest

.github/workflows/e2e-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ concurrency:
5252

5353
jobs:
5454
build:
55-
uses: ./.github/workflows/image-builds-with-cache.yml
55+
uses: ./.github/workflows/image-builds.yml
5656

5757
end-to-end-scenario-tests:
5858
runs-on: ubuntu-latest

.github/workflows/image-builds-with-cache.yml renamed to .github/workflows/image-builds.yml

Lines changed: 6 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
name: Build and Cache
1+
name: Build Images
22
on:
33
workflow_call:
44
outputs:
55
IMAGE_PATH:
66
description: 'A description of my output'
7-
value: ${{ jobs.image-build-with-cache.outputs.image_path }}
7+
value: ${{ jobs.image-build.outputs.image_path }}
88
IMAGE_TAG:
99
description: 'A description of my output'
10-
value: ${{ jobs.image-build-with-cache.outputs.image_tag }}
10+
value: ${{ jobs.image-build.outputs.image_tag }}
1111
IMAGE_REGISTRY:
1212
description: 'A description of my output'
13-
value: ${{ jobs.image-build-with-cache.outputs.registry }}
13+
value: ${{ jobs.image-build.outputs.registry }}
1414

1515
env:
1616
IMAGE_TAG: "latest"
@@ -19,7 +19,7 @@ env:
1919
GITHUB_SHA: ${{ github.sha }}
2020

2121
jobs:
22-
image-build-with-cache:
22+
image-build:
2323
runs-on: ubuntu-latest
2424
outputs:
2525
image_path: ${{ steps.configure.outputs.artifact_path }}
@@ -82,23 +82,8 @@ jobs:
8282
echo "registry=${{ env.REGISTRY }}"
8383
} >> "$GITHUB_OUTPUT"
8484
85-
- name: Get current date
86-
id: date
87-
run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
88-
89-
# Check if the image was already built for this SHA using cache
90-
- name: Check if already built
91-
id: cache-check
92-
if: ${{ github.ref_name != github.event.repository.default_branch }}
93-
uses: actions/cache@v5
94-
with:
95-
path: .build-marker-${{ matrix.image }}
96-
key: image-built-${{ matrix.image }}-${{ github.sha }}-${{ github.event.pull_request.number || github.ref_name }}-${{ steps.date.outputs.date }}
97-
lookup-only: true
98-
9985
- name: Set up Docker Buildx
10086
uses: docker/setup-buildx-action@v3
101-
if: ${{ steps.cache-check.outputs.cache-hit != 'true' || github.ref_name == github.event.repository.default_branch }}
10287
id: setup-buildx
10388

10489
- name: Build and save Docker image
@@ -129,17 +114,4 @@ jobs:
129114
with:
130115
name: ${{ env.ARTIFACT_NAME }}
131116
path: ${{ env.ARTIFACTS_PATH }}/${{ env.ARTIFACT_NAME }}.tar
132-
retention-days: 1
133-
# Continue the workflow even if the upload failed, because upload can fail if other jobs were able to upload artifact first before the current one
134-
continue-on-error: true
135-
136-
- name: Create build marker
137-
if: ${{ steps.save-image.outcome == 'success' || steps.rebuild.outcome == 'success' }}
138-
run: echo "built" > .build-marker-${{ matrix.image }}
139-
140-
- name: Save build marker to cache
141-
if: ${{ steps.save-image.outcome == 'success' || steps.rebuild.outcome == 'success' }}
142-
uses: actions/cache/save@v5
143-
with:
144-
path: .build-marker-${{ matrix.image }}
145-
key: image-built-${{ matrix.image }}-${{ github.sha }}-${{ github.event.pull_request.number || github.ref_name }}-${{ steps.date.outputs.date }}
117+
retention-days: 1

.github/workflows/integration-tests-v1.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ concurrency:
2424

2525
jobs:
2626
build:
27-
uses: ./.github/workflows/image-builds-with-cache.yml
27+
uses: ./.github/workflows/image-builds.yml
2828

2929
initialization-integration-tests-v1:
3030
runs-on: ubuntu-latest

.github/workflows/kfp-kubernetes-native-migration-tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919

2020
jobs:
2121
build:
22-
uses: ./.github/workflows/image-builds-with-cache.yml
22+
uses: ./.github/workflows/image-builds.yml
2323

2424
kfp-kubernetes-native-migration-tests:
2525
runs-on: ubuntu-24.04

.github/workflows/kfp-sdk-client-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ env:
2424

2525
jobs:
2626
build:
27-
uses: ./.github/workflows/image-builds-with-cache.yml
27+
uses: ./.github/workflows/image-builds.yml
2828

2929
sdk-client-tests:
3030
runs-on: ubuntu-24.04

.github/workflows/kfp-webhooks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515

1616
jobs:
1717
build:
18-
uses: ./.github/workflows/image-builds-with-cache.yml
18+
uses: ./.github/workflows/image-builds.yml
1919

2020
webhook-tests:
2121
runs-on: ubuntu-latest

.github/workflows/legacy-v2-api-integration-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ concurrency:
2424

2525
jobs:
2626
build:
27-
uses: ./.github/workflows/image-builds-with-cache.yml
27+
uses: ./.github/workflows/image-builds.yml
2828

2929
api-integration-tests-v2:
3030
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)