E2E: Automation suite #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "E2E: Automation suite" | |
on: | |
workflow_dispatch: | |
inputs: | |
test_suite: | |
description: 'Select test suite to run' | |
default: 'regression' | |
required: true | |
type: choice | |
options: | |
- regression | |
- sanity | |
- smoke | |
permissions: | |
contents: read | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ github.token }} | |
ref: ${{ github.sha }} | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: eu-central-1 | |
- name: Set up environment | |
id: set_env_values | |
run: | | |
cat "./e2e-tests/.env.ci" >> "./e2e-tests/.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.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 e2e-tests/docker/selenoid-git.yaml up -d | |
docker-compose -f ./documentation/compose/e2e-tests.yaml up -d | |
- name: Run test suite | |
run: | | |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }} | |
./mvnw -B -V -ntp -Dsurefire.suiteXmlFiles='src/test/resources/${{ github.event.inputs.test_suite }}.xml' -Dsuite=${{ github.event.inputs.test_suite }} -f 'e2e-tests' test -Pprod | |
- name: Generate Allure report | |
uses: simple-elf/allure-report-action@master | |
if: always() | |
id: allure-report | |
with: | |
allure_results: ./e2e-tests/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" | |
- name: Upload allure report to R2 | |
uses: magicwallet/r2-upload@main | |
if: always() | |
with: | |
endpoint: ${{ secrets.R2_ENDPOINT }} | |
access_key_id: ${{ secrets.R2_ACCESS_KEY_ID }} | |
secret_access_key: ${{ secrets.R2_ACCESS_SECRET_KEY }} | |
bucket: ${{ secrets.R2_BUCKET }} | |
file: allure-history/allure-results | |
destination: '/' | |
- name: Add allure link status check | |
if: always() | |
uses: Sibz/[email protected] | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "Click Details button to view Allure report" | |
state: "success" | |
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/[email protected] |