12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- name: "E2E: PR healthcheck"
- on:
- pull_request_target:
- types: [ "opened", "edited", "reopened", "synchronize" ]
- paths:
- - "kafka-ui-api/**"
- - "kafka-ui-contract/**"
- - "kafka-ui-react-app/**"
- - "kafka-ui-e2e-checks/**"
- - "pom.xml"
- permissions:
- statuses: write
- jobs:
- build-and-test:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- with:
- ref: ${{ github.event.pull_request.head.sha }}
- - name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@v3
- with:
- aws-access-key-id: ${{ secrets.S3_AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.S3_AWS_SECRET_ACCESS_KEY }}
- aws-region: eu-central-1
- - name: Set up environment
- id: set_env_values
- run: |
- cat "./kafka-ui-e2e-checks/.env.ci" >> "./kafka-ui-e2e-checks/.env"
- - name: Pull with Docker
- id: pull_chrome
- run: |
- docker pull selenoid/vnc_chrome:103.0
- - name: Set up JDK
- uses: actions/setup-java@v3
- with:
- java-version: '17'
- distribution: 'zulu'
- cache: 'maven'
- - name: Build with Maven
- id: build_app
- run: |
- ./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
- ./mvnw -B -V -ntp clean install -Pprod -Dmaven.test.skip=true ${{ github.event.inputs.extraMavenOptions }}
- - name: Compose with Docker
- id: compose_app
- # use the following command until #819 will be fixed
- run: |
- docker-compose -f kafka-ui-e2e-checks/docker/selenoid-git.yaml up -d
- docker-compose -f ./documentation/compose/e2e-tests.yaml up -d && until [ "$(docker exec kafka-ui wget --spider --server-response http://localhost:8080/actuator/health 2>&1 | grep -c 'HTTP/1.1 200 OK')" == "1" ]; do echo "Waiting for kafka-ui ..." && sleep 1; done
- - name: Run test suite
- run: |
- ./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
- ./mvnw -B -V -ntp -Dsurefire.suiteXmlFiles='src/test/resources/smoke.xml' -f 'kafka-ui-e2e-checks' test -Pprod
- - name: Generate allure report
- uses: simple-elf/allure-report-action@master
- if: always()
- id: allure-report
- with:
- allure_results: ./kafka-ui-e2e-checks/allure-results
- gh_pages: allure-results
- allure_report: allure-report
- subfolder: allure-results
- report_url: "http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com"
- - uses: jakejarvis/s3-sync-action@master
- if: always()
- env:
- AWS_S3_BUCKET: 'kafkaui-allure-reports'
- AWS_REGION: 'eu-central-1'
- SOURCE_DIR: 'allure-history/allure-results'
- - name: Deploy report to Amazon S3
- if: always()
- uses: Sibz/github-status-action@v1.1.6
- with:
- authToken: ${{secrets.GITHUB_TOKEN}}
- context: "Click Details button to open Allure report"
- state: "success"
- sha: ${{ github.event.pull_request.head.sha || github.sha }}
- target_url: http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com/${{ github.run_number }}
- - name: Dump docker logs on failure
- if: failure()
- uses: jwalton/gh-docker-logs@v2.2.1
|