-
-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
192 additions
and
370 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,7 @@ on: | |
|
||
permissions: | ||
contents: read | ||
statuses: write | ||
|
||
jobs: | ||
build: | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,75 +14,13 @@ on: | |
|
||
permissions: | ||
contents: read | ||
checks: write | ||
statuses: write | ||
|
||
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" | ||
- 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/[email protected] | ||
with: | ||
authToken: ${{secrets.GITHUB_TOKEN}} | ||
context: "Click Details button to open 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] | ||
uses: ./.github/workflows/e2e-run.yml | ||
secrets: inherit | ||
with: | ||
suite_name: ${{ github.event.inputs.test_suite }} | ||
sha: ${{ github.sha }} |
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
name: "E2E: Run tests" | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
suite_name: | ||
description: 'Test suite name to run' | ||
default: 'regression' | ||
required: true | ||
type: string | ||
sha: | ||
required: true | ||
type: string | ||
|
||
permissions: | ||
contents: read | ||
checks: write | ||
statuses: write | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
token: ${{ github.token }} | ||
ref: ${{ inputs.sha }} | ||
|
||
- 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=${{ inputs.sha }} | ||
./mvnw -B -V -ntp clean install -Pprod -Dmaven.test.skip=true | ||
- name: Upload maven artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: artifacts | ||
path: ~/.m2/repository/io/kafbat/ui/**/* | ||
retention-days: 7 | ||
|
||
- name: Dump docker image | ||
run: | | ||
docker image save ghcr.io/kafbat/kafka-ui:latest > /tmp/image.tar | ||
- name: Upload docker image | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: image | ||
path: /tmp/image.tar | ||
retention-days: 7 | ||
|
||
tests: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
token: ${{ github.token }} | ||
ref: ${{ inputs.sha }} | ||
|
||
- name: Set up JDK | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: '17' | ||
distribution: 'zulu' | ||
cache: 'maven' | ||
|
||
- name: Download maven artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: artifacts | ||
path: ~/.m2/repository/io/kafbat/ui | ||
|
||
- name: Download docker image | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: image | ||
path: /tmp | ||
|
||
- name: Load Docker image | ||
run: | | ||
docker load --input /tmp/image.tar | ||
- name: Cache Docker images. | ||
uses: ScribeMD/[email protected] | ||
with: | ||
key: docker-${{ runner.os }}-${{ hashFiles('./e2e-tests/selenoid/selenoid-ci.yaml', './documentation/compose/e2e-tests.yaml') }} | ||
|
||
- name: Compose up | ||
id: compose_app | ||
# use the following command until #819 will be fixed # TODO recheck 819 | ||
run: | | ||
mkdir -p ./e2e-tests/target/selenoid-results/video | ||
mkdir -p ./e2e-tests/target/selenoid-results/logs | ||
docker-compose -f ./e2e-tests/selenoid/selenoid-ci.yaml up -d | ||
docker-compose -f ./documentation/compose/e2e-tests.yaml up -d | ||
- name: Run test suite | ||
run: | | ||
./mvnw -B -ntp versions:set -DnewVersion=${{ inputs.sha }} | ||
./mvnw -B -V -ntp -Dsurefire.suiteXmlFiles='src/test/resources/${{ github.event.inputs.test_suite }}.xml' -f 'e2e-tests' test -Pprod | ||
- name: Dump Docker logs on failure | ||
if: failure() | ||
uses: jwalton/[email protected] | ||
|
||
- name: Upload allure reports artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: reports | ||
path: ./e2e-tests/target/allure-results | ||
retention-days: 7 | ||
|
||
reports: | ||
runs-on: ubuntu-latest | ||
needs: tests | ||
if: ${{ github.repository == 'kafbat/kafka-ui' }} | ||
steps: | ||
- name: Download allure reports artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: reports | ||
path: ./e2e-tests/target/allure-results | ||
|
||
- name: Generate Allure report | ||
uses: simple-elf/[email protected] | ||
id: allure-report | ||
with: | ||
allure_results: ./e2e-tests/target/allure-results | ||
gh_pages: allure-results | ||
allure_report: allure-report | ||
subfolder: allure-results | ||
report_url: "https://reports.kafbat.dev" | ||
|
||
- name: Upload allure report to R2 | ||
uses: ryand56/r2-upload-action@latest | ||
with: | ||
source-dir: allure-history/allure-results | ||
destination-dir: . | ||
r2-bucket: "reports" | ||
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} | ||
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} | ||
r2-secret-access-key: ${{ secrets.R2_ACCESS_SECRET_KEY }} | ||
|
||
- name: Add allure link status check | ||
uses: Sibz/[email protected] | ||
with: | ||
authToken: ${{secrets.GITHUB_TOKEN}} | ||
context: "Click Details button to view Allure report" | ||
state: "success" | ||
sha: ${{ inputs.sha }} | ||
target_url: https://reports.kafbat.dev/${{ github.run_number }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
name: "E2E: PR healthcheck" | ||
on: | ||
pull_request_target: | ||
pull_request: | ||
types: [ "opened", "reopened", "synchronize" ] | ||
paths: | ||
- "pom.xml" | ||
|
@@ -12,76 +12,13 @@ on: | |
|
||
permissions: | ||
contents: read | ||
checks: write | ||
statuses: write | ||
|
||
jobs: | ||
build-and-test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
token: ${{ github.token }} | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
- name: Configure AWS credentials | ||
uses: aws-actions/configure-aws-credentials@v4 | ||
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 "./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.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 e2e-tests/docker/selenoid-git.yaml up -d | ||
docker-compose -f ./documentation/compose/e2e-tests.yaml up -d && until [ "$(docker exec kafbat-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 '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" | ||
- 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/[email protected] | ||
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/[email protected] | ||
uses: ./.github/workflows/e2e-run.yml | ||
secrets: inherit | ||
with: | ||
suite_name: "smoke" | ||
sha: ${{ github.event.pull_request.head.sha }} |
Oops, something went wrong.