-
Notifications
You must be signed in to change notification settings - Fork 14
110 lines (96 loc) · 4.16 KB
/
Copy pathci-pr-check.yaml
File metadata and controls
110 lines (96 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
name: CI PR Check
on:
pull_request:
branches:
- development
- main
jobs:
e2e-tests:
name: CI PR Check - E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout PR branch
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install tooling (kind, helm, yq)
run: |
# kind
curl -sSLo /tmp/kind \
"https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64"
sudo install /tmp/kind /usr/local/bin/kind
# helm
curl -sSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | sudo bash
# yq
curl -sSLo /tmp/yq \
"https://github.com/mikefarah/yq/releases/download/v4.44.2/yq_linux_amd64"
sudo install /tmp/yq /usr/local/bin/yq
- name: Test skills volume patch
run: bash tests/helm/test-skills-volume.sh
- name: Deploy RHDH on Kind
env:
GH_APP_APP_ID: ${{ secrets.GH_APP_APP_ID }}
GH_APP_CLIENT_ID: ${{ secrets.GH_APP_CLIENT_ID }}
GH_APP_CLIENT_SECRET: ${{ secrets.GH_APP_CLIENT_SECRET }}
GH_APP_WEBHOOK_URL: ${{ secrets.GH_APP_WEBHOOK_URL }}
GH_APP_WEBHOOK_SECRET: ${{ secrets.GH_APP_WEBHOOK_SECRET }}
GH_APP_PRIVATE_KEY: ${{ secrets.GH_APP_PRIVATE_KEY }}
GITOPS_GIT_ORG: ${{ secrets.GITOPS_GIT_ORG }}
KEYCLOAK_METADATA_URL: ${{ secrets.KEYCLOAK_METADATA_URL }}
KEYCLOAK_CLIENT_ID: ${{ secrets.KEYCLOAK_CLIENT_ID }}
KEYCLOAK_CLIENT_SECRET: ${{ secrets.KEYCLOAK_CLIENT_SECRET }}
KEYCLOAK_REALM: ${{ secrets.KEYCLOAK_REALM }}
KEYCLOAK_BASE_URL: ${{ secrets.KEYCLOAK_BASE_URL }}
KEYCLOAK_LOGIN_REALM: ${{ secrets.KEYCLOAK_LOGIN_REALM }}
QUAY_DOCKERCONFIGJSON: ${{ secrets.QUAY_DOCKERCONFIGJSON }}
VLLM_URL: ${{ secrets.VLLM_URL }}
VLLM_API_KEY: ${{ secrets.VLLM_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
VALIDATION_PROVIDER: ${{ secrets.VALIDATION_PROVIDER }}
VALIDATION_MODEL_NAME: ${{ secrets.VALIDATION_MODEL_NAME }}
LIGHTSPEED_POSTGRES_USER: ${{ secrets.LIGHTSPEED_POSTGRES_USER }}
LIGHTSPEED_POSTGRES_PASSWORD: ${{ secrets.LIGHTSPEED_POSTGRES_PASSWORD }}
LIGHTSPEED_POSTGRES_DB: ${{ secrets.LIGHTSPEED_POSTGRES_DB }}
NOTEBOOKS_QUERY_PROVIDER_ID: ${{ secrets.NOTEBOOKS_QUERY_PROVIDER_ID }}
NOTEBOOKS_QUERY_MODEL: ${{ secrets.NOTEBOOKS_QUERY_MODEL }}
ARGOCD_USER: ${{ secrets.ARGOCD_USER }}
ARGOCD_PASSWORD: ${{ secrets.ARGOCD_PASSWORD }}
ARGOCD_HOSTNAME: ${{ secrets.ARGOCD_HOSTNAME }}
ARGOCD_API_TOKEN: ${{ secrets.ARGOCD_API_TOKEN }}
run: make ci-install
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "24"
cache: "npm"
cache-dependency-path: tests/package-lock.json
- name: Install test dependencies
working-directory: tests
run: npm ci
- name: Install Playwright browsers
working-directory: tests
run: npx playwright install chromium --with-deps
- name: Run E2E tests
env:
RHDH_BASE_URL: "https://rhdh-ci.apps.testing"
RHDH_ENVIRONMENT: ${{ secrets.RHDH_ENVIRONMENT }}
ROLLING_DEMO_TEST_USERNAME: ${{ secrets.ROLLING_DEMO_TEST_USERNAME }}
KEYCLOAK_CLIENT_ID: ${{ secrets.KEYCLOAK_CLIENT_ID }}
KEYCLOAK_CLIENT_SECRET: ${{ secrets.KEYCLOAK_CLIENT_SECRET }}
run: make ci-tests
- name: Collect RHDH logs
if: always()
run: |
kubectl logs -n rolling-demo-ns \
-l app.kubernetes.io/component=backstage \
--all-containers --tail=-1 \
> /tmp/rhdh.log 2>&1 || true
- name: Upload test results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: playwright-results
path: |
tests/playwright-report/
tests/test-results/
/tmp/rhdh.log
retention-days: 7