Skip to content

Cluster Integration UI Tests #161

Cluster Integration UI Tests

Cluster Integration UI Tests #161

name: Cluster Integration UI Tests
on:
workflow_run:
workflows: [ "Java CI with Gradle" ]
types:
- completed
jobs:
kubernetes-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
- 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:
GPG_PASSPHRASE: ${{ secrets.IDEA_KEY_PASSPHRASE }}
CLUSTER_ALREADY_LOGGED_IN: 'true'
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 clusterIntegrationUITest --continue --no-daemon --info
- 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: Cluster Integration UI Tests Report
- name: Publish screenshots as artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: screenshots
path: ./build/screenshots