Skip to content

Commit

Permalink
feat(build): adding parallel test for integration tests (#800)
Browse files Browse the repository at this point in the history
* feat(build): adding parallel tests for integration tests

* feat(build): make Build and Functional tests also parallel

* feat(build): parallel jobs by method test instead of classes
  • Loading branch information
ivanphdz committed Nov 5, 2020
1 parent 90f5b10 commit 4fd59a5
Showing 1 changed file with 70 additions and 3 deletions.
73 changes: 70 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ on: [ pull_request ]

env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Xmx2g -Xms2g

GRADLE_ARGS: -x :kayenta-integration-tests:test
jobs:
build:
runs-on: ubuntu-latest
needs: [integration-tests, provider-integration-tests]
steps:
- uses: actions/checkout@v2
- name: Gradle validation step
Expand All @@ -21,5 +22,71 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Build
run: ./gradlew build
- name: Build and Functional tests
run: ./gradlew build $GRADLE_ARGS

integration-tests:
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Xmx2g -Xms2g
name: Integration-tests
runs-on: ubuntu-latest

strategy:
matrix:
tests:
['Management', 'Swagger']
steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Gradle validation step
uses: gradle/wrapper-validation-action@v1

- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11

- uses: actions/cache@v1
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Run Integration Test
run: |
./gradlew kayenta-integration-tests:test --tests ${{ matrix.tests }}Test
provider-integration-tests:
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Xmx2g -Xms2g
name: Provider-Integration-tests
runs-on: ubuntu-latest

strategy:
matrix:
provider: ['Prometheus', 'Graphite']
test: ['canaryAnalysisIsSuccessful', 'canaryAnalysisIsFailed']
steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Gradle validation step
uses: gradle/wrapper-validation-action@v1

- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11

- uses: actions/cache@v1
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Run Provider Integration Test
run: |
./gradlew kayenta-integration-tests:test --tests ${{ matrix.provider }}StandaloneCanaryAnalysisTest.${{ matrix.test }}

0 comments on commit 4fd59a5

Please sign in to comment.