Skip to content

UI and Integration Tests #38

UI and Integration Tests

UI and Integration Tests #38

Workflow file for this run

name: UI and Integration Tests
on:
workflow_run:
workflows: [ "Java CI with Gradle" ]
types:
- completed
jobs:
kubernetes-integration-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
cache: 'gradle'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 #v3.1.0
- uses: helm/kind-action@99576bfa6ddf9a8e612d83b513da5a75875caced #v1.9.0
name: Start cluster
with:
version: v0.11.1
- name: Setup cluster
run: |
curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.19.1/install.sh | bash -s v0.19.1
kubectl create -f https://operatorhub.io/install/service-binding-operator.yaml
kubectl create -f https://operatorhub.io/install/stable/cloud-native-postgresql.yaml
nb=0
echo -n "Waiting for operator to show up "
while [ "$nb" != "2" ]
do
echo -n "."
sleep 1
nb=`kubectl get pods -n operators --no-headers --ignore-not-found | grep Running | wc -l`
done
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Play integration UI tests
env:
GPG_PASSPHRASE: ${{ secrets.IDEA_KEY_PASSPHRASE }}
run: |
echo -n "$GPG_PASSPHRASE" | gpg --decrypt --passphrase-fd 0 --pinentry-mode loopback --output idea_license_token/idea.key idea_license_token/idea.key.gpg
export DISPLAY=:99.0
Xvfb -ac :99 -screen 0 1920x1080x16 &
sleep 10
./gradlew integrationUITest --continue --no-daemon
- uses: actions/upload-artifact@v4
if: always()
with:
name: kubernetes-integration-tests-reports
path: |
build/test-results/**/*.xml
build/jacoco/