Skip to content

Commit 35182dc

Browse files
committed
merge upstream
Signed-off-by: Anxhela Coba <acoba@redhat.com>
2 parents a534ece + 3929189 commit 35182dc

135 files changed

Lines changed: 7489 additions & 2030 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/e2e_tests.yaml

Lines changed: 89 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
mode: ["server", "library"]
13-
environment: ["ci", "azure"]
13+
environment: ["ci", "azure", "vertexai"]
1414

1515
name: "E2E: ${{ matrix.mode }} mode / ${{ matrix.environment }}"
1616

@@ -52,8 +52,7 @@ jobs:
5252
- name: Load lightspeed-stack.yaml configuration
5353
run: |
5454
MODE="${{ matrix.mode }}"
55-
CONFIG_FILE="tests/e2e/configuration/lightspeed-stack-${MODE}-mode.yaml"
56-
55+
CONFIG_FILE="tests/e2e/configuration/${MODE}-mode/lightspeed-stack.yaml"
5756
echo "Loading configuration for ${MODE} mode"
5857
echo "Source: ${CONFIG_FILE}"
5958
@@ -91,46 +90,85 @@ jobs:
9190
echo "✅ Successfully obtained Azure access token."
9291
echo "AZURE_API_KEY=$ACCESS_TOKEN" >> $GITHUB_ENV
9392
93+
- name: Save VertexAI service account key to file
94+
if: matrix.environment == 'vertexai'
95+
env:
96+
GOOGLE_SA_KEY: ${{ secrets.GOOGLE_SA_KEY }}
97+
run: |
98+
echo "Setting up Google Cloud service account credentials..."
99+
100+
if [ -z "$GOOGLE_SA_KEY" ]; then
101+
echo "❌ GOOGLE_SA_KEY is not set. Please configure the secret in GitHub repository settings."
102+
exit 1
103+
fi
104+
105+
GCP_KEYS_PATH=./tmp/.gcp-keys
106+
echo "GCP_KEYS_PATH=$GCP_KEYS_PATH" >> $GITHUB_ENV
107+
108+
mkdir -p $GCP_KEYS_PATH
109+
110+
echo "Writing service account key to file..."
111+
112+
# Decode from base64, needed because GH changes the key if using the raw key
113+
printf '%s' "$GOOGLE_SA_KEY" | base64 -d > $GCP_KEYS_PATH/gcp-key.json
114+
115+
# Verify the file was created and is valid JSON
116+
if [ ! -f "$GCP_KEYS_PATH/gcp-key.json" ]; then
117+
echo "❌ Failed to create gcp-key.json file"
118+
exit 1
119+
fi
120+
121+
if ! jq empty "$GCP_KEYS_PATH/gcp-key.json" 2>/dev/null; then
122+
echo "❌ gcp-key.json is not valid JSON"
123+
exit 1
124+
fi
125+
echo "✅ gcp-key.json is valid JSON"
126+
127+
# Set proper permissions (readable by all, needed for container user 1001)
128+
chmod 644 $GCP_KEYS_PATH/gcp-key.json
129+
130+
echo "GOOGLE_APPLICATION_CREDENTIALS=/opt/app-root/.gcp-keys/gcp-key.json" >> $GITHUB_ENV
131+
94132
- name: Select and configure run.yaml
95133
env:
96-
CONFIG_MODE: ${{ matrix.mode }}
134+
CONFIG_ENVIRONMENT: ${{ matrix.environment || 'ci' }}
97135
run: |
98136
CONFIGS_DIR="tests/e2e/configs"
99-
MODE="$CONFIG_MODE"
137+
ENVIRONMENT="$CONFIG_ENVIRONMENT"
100138
101-
echo "Deployment mode: $MODE"
139+
echo "Looking for configurations in $CONFIGS_DIR/"
102140
103-
# Select config based on mode:
104-
# - library mode: run-library.yaml (llama-stack 0.3.0 format)
105-
# - server mode: run-ci.yaml (original format)
106-
if [ "$MODE" == "library" ]; then
107-
CONFIG_FILE="$CONFIGS_DIR/run-library.yaml"
141+
# List available configurations
142+
if [ -d "$CONFIGS_DIR" ]; then
143+
echo "Available configurations:"
144+
ls -la "$CONFIGS_DIR"/*.yaml 2>/dev/null || echo "No YAML files found in $CONFIGS_DIR/"
108145
else
109-
CONFIG_FILE="$CONFIGS_DIR/run-ci.yaml"
146+
echo "Configs directory '$CONFIGS_DIR' not found!"
147+
exit 1
110148
fi
111149
112-
echo "Using configuration: $CONFIG_FILE"
150+
# Determine which config file to use
151+
CONFIG_FILE="$CONFIGS_DIR/run-$ENVIRONMENT.yaml"
152+
153+
echo "Looking for: $CONFIG_FILE"
113154
114-
if [ ! -f "$CONFIG_FILE" ]; then
115-
echo "❌ Configuration not found: $CONFIG_FILE"
116-
echo "Available configs:"
117-
ls -la "$CONFIGS_DIR"/*.yaml
155+
if [ -f "$CONFIG_FILE" ]; then
156+
echo "✅ Found config for environment: $ENVIRONMENT"
157+
cp "$CONFIG_FILE" run.yaml
158+
echo "✅ Config copied to run.yaml"
159+
else
160+
echo "❌ Configuration file not found: $CONFIG_FILE"
161+
echo "Available files in $CONFIGS_DIR:"
162+
ls -la "$CONFIGS_DIR/"
118163
exit 1
119164
fi
120-
121-
cp "$CONFIG_FILE" run.yaml
122-
echo "✅ Configuration copied to run.yaml"
123165
124166
- name: Show final configuration
125167
run: |
126168
echo "=== Configuration Summary ==="
127169
echo "Deployment mode: ${{ matrix.mode }}"
128170
echo "Environment: ${{ matrix.environment }}"
129-
if [ "${{ matrix.mode }}" == "library" ]; then
130-
echo "Source config: tests/e2e/configs/run-library.yaml"
131-
else
132-
echo "Source config: tests/e2e/configs/run-ci.yaml"
133-
fi
171+
echo "Source config: tests/e2e/configs/run-ci.yaml"
134172
echo ""
135173
echo "=== Configuration Preview ==="
136174
echo "Providers: $(grep -c "provider_id:" run.yaml)"
@@ -139,19 +177,37 @@ jobs:
139177
echo "=== lightspeed-stack.yaml ==="
140178
grep -A 3 "llama_stack:" lightspeed-stack.yaml
141179
180+
- name: Docker Login for quay access
181+
env:
182+
QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_DOWNSTREAM_USERNAME }}
183+
QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_DOWNSTREAM_TOKEN }}
184+
run: |
185+
echo $QUAY_ROBOT_TOKEN | docker login quay.io -u=$QUAY_ROBOT_USERNAME --password-stdin
186+
187+
- name: Create dummy GCP keys directory
188+
if: matrix.environment != 'vertexai'
189+
run: |
190+
echo "Creating dummy GCP keys directory for non-VertexAI environment..."
191+
mkdir -p ./tmp/.gcp-keys-dummy
192+
echo "✅ Dummy directory created."
193+
142194
- name: Run services (Server Mode)
143195
if: matrix.mode == 'server'
144-
env:
196+
env:
145197
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
146198
AZURE_API_KEY: ${{ env.AZURE_API_KEY }}
199+
VERTEX_AI_LOCATION: ${{ secrets.VERTEX_AI_LOCATION }}
200+
VERTEX_AI_PROJECT: ${{ secrets.VERTEX_AI_PROJECT }}
201+
GOOGLE_APPLICATION_CREDENTIALS: ${{ env.GOOGLE_APPLICATION_CREDENTIALS }}
202+
GCP_KEYS_PATH: ${{ env.GCP_KEYS_PATH }}
147203
run: |
148204
# Debug: Check if environment variable is available for docker-compose
149205
echo "OPENAI_API_KEY is set: $([ -n "$OPENAI_API_KEY" ] && echo 'YES' || echo 'NO')"
150206
echo "OPENAI_API_KEY length: ${#OPENAI_API_KEY}"
151-
207+
152208
docker compose version
153209
docker compose up -d
154-
210+
155211
# Check for errors and show logs if any services failed
156212
if docker compose ps | grep -E 'Exit|exited|stopped'; then
157213
echo "Some services failed to start - showing logs:"
@@ -166,10 +222,14 @@ jobs:
166222
env:
167223
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
168224
AZURE_API_KEY: ${{ env.AZURE_API_KEY }}
225+
VERTEX_AI_LOCATION: ${{ secrets.VERTEX_AI_LOCATION }}
226+
VERTEX_AI_PROJECT: ${{ secrets.VERTEX_AI_PROJECT }}
227+
GOOGLE_APPLICATION_CREDENTIALS: ${{ env.GOOGLE_APPLICATION_CREDENTIALS }}
228+
GCP_KEYS_PATH: ${{ env.GCP_KEYS_PATH }}
169229
run: |
170230
echo "Starting service in library mode (1 container)"
171231
docker compose -f docker-compose-library.yaml up -d
172-
232+
173233
if docker compose -f docker-compose-library.yaml ps | grep -E 'Exit|exited|stopped'; then
174234
echo "Service failed to start - showing logs:"
175235
docker compose -f docker-compose-library.yaml logs

.github/workflows/e2e_tests_rhaiis.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ jobs:
122122
run: |
123123
curl -f ${RHAIIS_URL}:8000/v1/models -H "Authorization: Bearer ${RHAIIS_API_KEY}"
124124
125+
- name: Docker Login for quay access
126+
env:
127+
QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_DOWNSTREAM_USERNAME }}
128+
QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_DOWNSTREAM_TOKEN }}
129+
run: |
130+
echo $QUAY_ROBOT_TOKEN | docker login quay.io -u=$QUAY_ROBOT_USERNAME --password-stdin
131+
125132
- name: Run service manually
126133
run: |
127134
docker compose version

.github/workflows/e2e_tests_rhelai.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,13 @@ jobs:
123123
echo $RHEL_AI_MODEL
124124
curl -f ${RHEL_AI_URL}:${RHEL_AI_PORT}/v1/models -H "Authorization: Bearer ${RHEL_AI_API_KEY}"
125125
126+
- name: Docker Login for quay access
127+
env:
128+
QUAY_ROBOT_USERNAME: ${{ secrets.QUAY_DOWNSTREAM_USERNAME }}
129+
QUAY_ROBOT_TOKEN: ${{ secrets.QUAY_DOWNSTREAM_TOKEN }}
130+
run: |
131+
echo $QUAY_ROBOT_TOKEN | docker login quay.io -u=$QUAY_ROBOT_USERNAME --password-stdin
132+
126133
- name: Run service manually
127134
run: |
128135
docker compose version

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,3 +188,6 @@ dev/
188188

189189
# Database files
190190
*.sqlite
191+
192+
# requirements backups files
193+
requirements.*.backup

.tekton/lightspeed-stack-pull-request.yaml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ spec:
119119
set of values is determined by the configuration of the multi-platform-controller.
120120
name: build-platforms
121121
type: array
122+
- name: enable-cache-proxy
123+
default: 'false'
124+
description: Enable cache proxy configuration
125+
type: string
122126
results:
123127
- description: ""
124128
name: IMAGE_URL
@@ -141,12 +145,14 @@ spec:
141145
value: $(params.rebuild)
142146
- name: skip-checks
143147
value: $(params.skip-checks)
148+
- name: enable-cache-proxy
149+
value: $(params.enable-cache-proxy)
144150
taskRef:
145151
params:
146152
- name: name
147153
value: init
148154
- name: bundle
149-
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:3ca52e1d8885fc229bd9067275f44d5b21a9a609981d0324b525ddeca909bf10
155+
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:75b88ee5e134a22ee35eb974808dfe6a63693115fa445208a9060a7175b448cf
150156
- name: kind
151157
value: task
152158
resolver: bundles
@@ -167,7 +173,7 @@ spec:
167173
- name: name
168174
value: git-clone-oci-ta
169175
- name: bundle
170-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:3dc39eae48745a96097c07c577b944d6203a91c35d3f71d9ed5feab41d327a6a
176+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:0a89e1a6304076525e9766f63a4cd006763d21d5aca6863281fc427537a23c6f
171177
- name: kind
172178
value: task
173179
resolver: bundles
@@ -196,7 +202,7 @@ spec:
196202
- name: name
197203
value: prefetch-dependencies-oci-ta
198204
- name: bundle
199-
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.2@sha256:0503f9313dfe70e4defda88a7226ec91a74af42198dccfa3280397d965aa16d6
205+
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.2@sha256:3fa0204a481044b21f0e784ce39cbd25e8fb49c664a5458f3eef351fff1c906e
200206
- name: kind
201207
value: task
202208
resolver: bundles
@@ -243,14 +249,18 @@ spec:
243249
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
244250
- name: IMAGE_APPEND_PLATFORM
245251
value: "true"
252+
- name: HTTP_PROXY
253+
value: $(tasks.init.results.http-proxy)
254+
- name: NO_PROXY
255+
value: $(tasks.init.results.no-proxy)
246256
runAfter:
247257
- prefetch-dependencies
248258
taskRef:
249259
params:
250260
- name: name
251261
value: buildah-remote-oci-ta
252262
- name: bundle
253-
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.6@sha256:ada9b66ac76993bb11a85b8654a534401bccd2a3a4135fa466779e2d77468a41
263+
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.7@sha256:ef1c062b10c9fb17951350de76bce6bb54a4ea75fca4f37ea136d626c444bf78
254264
- name: kind
255265
value: task
256266
resolver: bundles
@@ -281,7 +291,7 @@ spec:
281291
- name: name
282292
value: build-image-index
283293
- name: bundle
284-
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:5da3230a9ecfc5aa58f3e2224327d38d7b4556bda98ea77c6e7b0e80ac1353ad
294+
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.2@sha256:39561ac43e325159497c10c0284cf61dfddf39e39100ca5e3df6b73c5d96db8b
285295
- name: kind
286296
value: task
287297
resolver: bundles
@@ -307,7 +317,7 @@ spec:
307317
- name: name
308318
value: source-build-oci-ta
309319
- name: bundle
310-
value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.3@sha256:282cb5a9119a87e88559444feff67d76d6f356d03654b4845632c049b2314735
320+
value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.3@sha256:4abb2dbc9dcfad52d56b490a2f25f99989a2cb2bbd9881223025272db60fd75e
311321
- name: kind
312322
value: task
313323
resolver: bundles
@@ -360,7 +370,7 @@ spec:
360370
- name: name
361371
value: clair-scan
362372
- name: bundle
363-
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:8ec7d7b9438ace5ef3fb03a533d9440d0fd81e51c73b0dc1eb51602fb7cd044e
373+
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:ee558db6af779ab162163ec88f288a5c1b2d5f70c3361f3690a474866e3bdc74
364374
- name: kind
365375
value: task
366376
resolver: bundles
@@ -385,7 +395,7 @@ spec:
385395
- name: name
386396
value: ecosystem-cert-preflight-checks
387397
- name: bundle
388-
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:9568c51a5158d534248908b9b561cf67d2826ed4ea164ffd95628bb42380e6ec
398+
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:04f75593558f79a27da2336400bc63d460bf0c5669e3c13f40ee2fb650b1ad1e
389399
- name: kind
390400
value: task
391401
resolver: bundles
@@ -580,7 +590,7 @@ spec:
580590
- name: name
581591
value: apply-tags
582592
- name: bundle
583-
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.2@sha256:f44be1bf0262471f2f503f5e19da5f0628dcaf968c86272a2ad6b4871e708448
593+
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.2@sha256:e4017ec351a0891ef95989f35bd20b8c3f091fa1a3da364c4d4e975e99f3063c
584594
- name: kind
585595
value: task
586596
resolver: bundles
@@ -603,7 +613,7 @@ spec:
603613
- name: name
604614
value: push-dockerfile-oci-ta
605615
- name: bundle
606-
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.1@sha256:13633d5ba8445c0f732a0a5d1b33ffbb708398e45ef1647542b0ab22fee25a6a
616+
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.1@sha256:08bba4a659ecd48f871bef00b80af58954e5a09fcbb28a1783ddd640c4f6535e
607617
- name: kind
608618
value: task
609619
resolver: bundles
@@ -620,7 +630,7 @@ spec:
620630
- name: name
621631
value: rpms-signature-scan
622632
- name: bundle
623-
value: quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2@sha256:6cfeaece9a338fa89bcaaad00f9f540789a62eaace6cd9fe35add050957405cc
633+
value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:20eb21c60522a12198205f70b9c58cb5d71db561a255a3ba1ced56ae7b4af270
624634
- name: kind
625635
value: task
626636
resolver: bundles

0 commit comments

Comments
 (0)