Skip to content

Integration UI Tests with Local Kind Cluster Context #2

Integration UI Tests with Local Kind Cluster Context

Integration UI Tests with Local Kind Cluster Context #2

name: Integration UI Tests with Local Kind Cluster Context
on:
workflow_run:
workflows: [ "Java CI with Gradle" ]
types:
- completed
jobs:
cluster-integration-ui-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@d9c87d481d55275bb5441eef3fe0e46805f9ef70 #v3.5.0
with:
add-job-summary: 'on-failure'
add-job-summary-as-pr-comment: 'on-failure'
validate-wrappers: true
- uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde #v1.10.0
name: Start cluster
# service setup disabled along with service test
# - name: Setup cluster
# run: |
# curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.26.0/install.sh | bash -s v0.26.0
# 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 cluster integration UI tests
env:
CLUSTER_ALREADY_LOGGED_IN: 'true'
run: |
export DISPLAY=:99.0
Xvfb -ac :99 -screen 0 1920x1080x16 &
sleep 10
./gradlew integrationUITest --continue
- name: Publish tests reports
if: always()
uses: scacap/action-surefire-report@a2911bd1a4412ec18dde2d93b1758b3e56d2a880 #v1.8.0
with:
github_token: ${{secrets.GITHUB_TOKEN}}
report_paths: '${{github.workspace}}/build/test-results/**/TEST-*.xml'
commit: ${{github.event.workflow_run.head_sha}}
check_name: Integration UI Tests with Local Kind Cluster Context Report
- name: Publish screenshots as artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: screenshots
path: ./build/screenshots