Skip to content

Commit ac0e923

Browse files
authored
Test CC correctly with the computed version based on platform version variable (#19)
* Test CC correctly with the computed version based on platform version variable * fix cache key by removing wrong characters * Fail if TB license not set * Add more starters to test by default on push * save output when compiling cc
1 parent b81eb78 commit ac0e923

File tree

5 files changed

+46
-21
lines changed

5 files changed

+46
-21
lines changed

.github/workflows/pit.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@ on:
55
version:
66
description: 'Version'
77
required: false
8-
default: 'SNAPSHOT'
98
type: string
109
starters:
1110
description: 'Starters to run, separated by comma'
1211
required: true
13-
default: 'control-center'
1412
type: string
1513
skipcurrent:
1614
description: 'Skip running tests in current version'
@@ -61,6 +59,7 @@ jobs:
6159
shell: bash
6260
- name: Run Install licenses
6361
run: |
62+
[ -z "${{secrets.TB_LICENSE}}" ] && echo "TB_LICENSE is not set" && exit 1
6463
mkdir -p ~/.vaadin/
6564
echo '{"username":"'`echo ${{secrets.TB_LICENSE}} | cut -d / -f1`'","proKey":"'`echo ${{secrets.TB_LICENSE}} | cut -d / -f2`'"}' > ~/.vaadin/proKey
6665
echo "${{secrets.SS_LICENSE}}" > ~/vaadin.spreadsheet.developer.license
@@ -70,18 +69,20 @@ jobs:
7069
[ true = "${{ inputs.skipcurrent }}" ] && A="$A --skip-current"
7170
[ true = "${{ inputs.skipdev }}" ] && A="$A --skip-dev"
7271
[ true = "${{ inputs.debug }}" ] && A="$A --debug"
73-
[ -n "${{ inputs.version }}" ] && A="$A --version=${{ inputs.version }}" || A="$A --version=SNAPSHOT"
74-
[ -n "${{ inputs.starters }}" ] && A="$A --starters=${{ inputs.starters }}" || A="$A --starters=control-center"
72+
[ -n "${{ inputs.version }}" ] && A="$A --version=${{ inputs.version }}" || A="$A --version=24.7-SNAPSHOT"
73+
[ -n "${{ inputs.starters }}" ] && A="$A --starters=${{ inputs.starters }}" || A="$A --starters=control-center,react,latest-java_partial-auth,vaadin-quarkus"
7574
echo "A=$A" >> $GITHUB_ENV
75+
K=`echo "$A" | perl -pe 's/[^\d\w]/-/g' | tr -s '-'`
76+
echo "K=$K" >> $GITHUB_ENV
7677
shell: bash
7778
- uses: actions/cache@v4
7879
with:
7980
path: |
8081
~/.m2/repository
8182
~/.npm
82-
key: pit-${{ env.A }}
83+
key: pit-${{ env.K }}
8384
restore-keys: |
84-
pit-${{ env.A }}
85+
pit-${{ env.K }}
8586
pit-
8687
- uses: helm/kind-action@v1
8788
with:
@@ -108,8 +109,7 @@ jobs:
108109
run: |
109110
gh extension install actions/gh-actions-cache
110111
gh actions-cache list
111-
gh actions-cache delete "pit-${{ env.A }}" --confirm
112-
exit 0
112+
gh actions-cache delete "pit-${{ env.K }}" --confirm || true
113113
env:
114114
GH_TOKEN: ${{ secrets.GHTK }}
115115
shell: bash

scripts/pit/its/cc-identity-management.js

+7
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,13 @@ const {log, err, args, createPage, closePage, takeScreenshot, waitForServerReady
101101
await waitForServerReady(pageApp, url);
102102
await takeScreenshot(pageApp, __filename, `app-${app}-loaded`);
103103
await pageApp.getByLabel('Email').fill(user);
104+
try {
105+
await pageApp.getByLabel('Password').fill(role, { timeout: 1000 });
106+
} catch (error) {
107+
log('Password not found in the first dialog, trying the second one (cc vers 1.2+)...\n');
108+
await pageApp.getByRole('button', {name: 'Sign In'}).click()
109+
await takeScreenshot(pageApp, __filename, `app-${app}-password-dialog`);
110+
}
104111
await pageApp.getByLabel('Password').fill(role);
105112
await pageApp.getByRole('button', {name: 'Sign In'}).click()
106113
await takeScreenshot(pageApp, __filename, `logged-in-${app}`);

scripts/pit/lib/lib-ccenter.sh

+29-11
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,32 @@ checkDockerRunning() {
2727
fi
2828
}
2929

30+
computeCCVersion() {
31+
[ -z "$1" ] && return
32+
git fetch --tags -q
33+
for i in `git tag | sort -r`; do
34+
local vVersion=`git show $i:pom.xml | grep '<vaadin.components.version>' | cut -d '>' -f2 | cut -d '<' -f1`
35+
# echo "$1 - $vVersion" >&2
36+
[ "$vVersion" = "$1" ] && echo $i && return 0
37+
done
38+
mvn help:evaluate -Dexpression=project.version -q -DforceStdout
39+
}
40+
3041
## Install Control Center with Helm
3142
installCC() {
3243
[ -n "SKIPHELM" ] && H=`kubectl get pods 2>&1` && echo "$H" | egrep -q 'control-center-[0-9abcdef]+-..... ' && return 0
3344
[ -n "$VERBOSE" ] && D=--debug || D=""
3445
[ -n "$CC_KEY" -a -n "$CC_CERT" ] && args="--set app.tlsSecret=$CC_TLS_A --set keycloak.tlsSecret=$CC_TLS_K" || args=""
35-
[ "$1" = "next" ] && args="$args charts/control-center --set app.image.tag=local --set keycloak.image.tag=local" || args="$args oci://docker.io/vaadin/control-center"
46+
[ -z "$TEST" ] && log "Installing Control Center with version: $1"
47+
case "$1" in
48+
*SNAPSHOT)
49+
buildCC || return 1
50+
args="$args charts/control-center --set app.image.tag=local --set keycloak.image.tag=local"
51+
;;
52+
current) args="$args oci://docker.io/vaadin/control-center" ;;
53+
"") err "Unable to compute CC version for platform version '$1'" && return 1 ;;
54+
*) args="$args oci://docker.io/vaadin/control-center --version $1" ;;
55+
esac
3656

3757
runToFile "helm install control-center $args \
3858
-n $CC_NS --create-namespace \
@@ -174,10 +194,11 @@ setClusterContext() {
174194

175195
buildCC() {
176196
computeMvn
177-
[ -z "$VERBOSE" ] && D="-q -ntp" || D="-Dorg.slf4j.simpleLogger.showDateTime -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss.SSS"
178-
runCmd "Compiling CC" "'$MVN' $D -B -pl :control-center-app -Pproduction -DskipTests -am install" || return 1
179-
runCmd "Creating CC application docker image" "'$MVN' $D -B -pl :control-center-app -Pproduction -Ddocker.tag=local docker:build" || return 1
180-
runCmd "Creating CC keycloack docker image" "'$MVN' $D -B -pl :control-center-keycloak package -Ddocker.tag=local docker:build" || return 1
197+
local D="-q -ntp"
198+
[ -z "$VERBOSE" ] && D="-Dorg.slf4j.simpleLogger.showDateTime -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss.SSS"
199+
runToFile "'$MVN' $D -B -pl :control-center-app -Pproduction -DskipTests -am install" "compile-cc-${1}.out" "$VERBOSE" || return 1
200+
runToFile "'$MVN' $D -B -pl :control-center-app -Pproduction -Ddocker.tag=local docker:build" "build-ccapp-docker-${1}.out" "$VERBOSE"|| return 1
201+
runToFile "'$MVN' $D -B -pl :control-center-keycloak package -Ddocker.tag=local docker:build" "build-ccapp-docker-${1}.out" "$VERBOSE" || return 1
181202
if [ "$CLUSTER" = "$KIND_CLUSTER" ]; then
182203
runCmd -q "Load docker image control-center-app for Kind" kind load docker-image vaadin/control-center-app:local --name "$CLUSTER" || return 1
183204
runCmd -q "Load docker image control-center-keycloak for Kind " kind load docker-image vaadin/control-center-keycloak:local --name "$CLUSTER" || return 1
@@ -203,9 +224,6 @@ runControlCenter() {
203224
## Clean up CC from a previous run unless SKIPHELM is set
204225
[ -z "$SKIPHELM" ] && uninstallCC
205226

206-
## Build CC if version is snapshot
207-
[ "$1" = current ] || buildCC || return 1
208-
209227
## Install Control Center
210228
installCC $1 || return 1
211229
## Control center takes a long time to start
@@ -243,9 +261,9 @@ validateControlCenter() {
243261
if [ -z "$NOCURRENT" ]; then
244262
runControlCenter current || return 1
245263
fi
246-
## Run
247-
if expr "$VERSION" : ".*SNAPSHOT" >/dev/null ; then
248-
runControlCenter next || return 1
264+
## Run control center for provided version
265+
if [ -n "$VERSION" ]; then
266+
runControlCenter `computeCCVersion $VERSION` || return 1
249267
fi
250268
}
251269

scripts/pit/lib/lib-patch.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ applyPatches() {
3939
[ -z "$OPENAI_TOKEN" ] && err "Set correctly the OPENAI_TOKEN env var" && return 1
4040
;;
4141
vaadin-quarkus)
42-
log "Fixing quarkus dependencyManagement https://vaadin.com/docs/latest/flow/integrations/quarkus#quarkus.vaadin.knownissues"
42+
[ -n "$TEST" ] || log "Fixing quarkus dependencyManagement https://vaadin.com/docs/latest/flow/integrations/quarkus#quarkus.vaadin.knownissues"
4343
moveQuarkusBomToBottom
4444
;;
4545
esac

scripts/pit/lib/lib-utils.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ computeAbsolutePath() {
154154
}
155155
## Compute the maven command to use for the project and stores in MVN env variable
156156
computeMvn() {
157-
MVN=${MVN:-mvn}
157+
MVN=mvn
158158
[ -x ./mvnw ] && MVN=./mvnw
159159
isWindows && [ -x ./mvnw.bat ] && MVN=./mvnw.bat
160160
isWindows && [ -x ./mvnw.cmd ] && MVN=./mvnw.cmd

0 commit comments

Comments
 (0)