Merge pull request #5506 from vector-im/michaelk/build_tests_on_pr
Compile tests on PR, to ensure we don't break the build when merging. Alert if we merge and the build fails.
This commit is contained in:
commit
25cfc7e05f
|
@ -14,50 +14,6 @@ env:
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
-Porg.gradle.jvmargs=-Xmx4g
|
||||||
-Porg.gradle.parallel=false
|
-Porg.gradle.parallel=false
|
||||||
jobs:
|
jobs:
|
||||||
# Build Android Tests [Matrix SDK]
|
|
||||||
build-android-test-matrix-sdk:
|
|
||||||
name: Matrix SDK - Build Android Tests
|
|
||||||
runs-on: macos-latest
|
|
||||||
# No concurrency required, runs every time on a schedule.
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: 'adopt'
|
|
||||||
java-version: 11
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Build Android Tests for matrix-sdk-android
|
|
||||||
run: ./gradlew clean matrix-sdk-android:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
|
||||||
|
|
||||||
# Build Android Tests [Matrix APP]
|
|
||||||
build-android-test-app:
|
|
||||||
name: App - Build Android Tests
|
|
||||||
runs-on: macos-latest
|
|
||||||
# No concurrency required, runs every time on a schedule.
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: 'adopt'
|
|
||||||
java-version: 11
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Build Android Tests for vector
|
|
||||||
run: ./gradlew clean vector:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
|
||||||
|
|
||||||
# Run Android Tests
|
# Run Android Tests
|
||||||
integration-tests:
|
integration-tests:
|
||||||
name: Matrix SDK - Running Integration Tests
|
name: Matrix SDK - Running Integration Tests
|
||||||
|
@ -367,9 +323,6 @@ jobs:
|
||||||
needs:
|
needs:
|
||||||
- integration-tests
|
- integration-tests
|
||||||
- ui-tests
|
- ui-tests
|
||||||
# - unit-tests
|
|
||||||
- build-android-test-matrix-sdk
|
|
||||||
- build-android-test-app
|
|
||||||
- sonarqube
|
- sonarqube
|
||||||
if: always() && github.event_name != 'workflow_dispatch'
|
if: always() && github.event_name != 'workflow_dispatch'
|
||||||
# No concurrency required, runs every time on a schedule.
|
# No concurrency required, runs every time on a schedule.
|
||||||
|
|
|
@ -12,6 +12,30 @@ env:
|
||||||
-Porg.gradle.parallel=false
|
-Porg.gradle.parallel=false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
# Build Android Tests
|
||||||
|
build-android-tests:
|
||||||
|
name: Build Android Tests
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('unit-tests-{0}', github.ref) }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: 11
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- name: Build Android Tests
|
||||||
|
run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||||
|
|
||||||
unit-tests:
|
unit-tests:
|
||||||
name: Run Unit Tests
|
name: Run Unit Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -41,3 +65,20 @@ jobs:
|
||||||
( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository )
|
( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository )
|
||||||
with:
|
with:
|
||||||
files: ./**/build/test-results/**/*.xml
|
files: ./**/build/test-results/**/*.xml
|
||||||
|
|
||||||
|
# Notify the channel about runs against develop or main that have failures, as PRs should have caught these first.
|
||||||
|
notify:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- unit-tests
|
||||||
|
- build-android-tests
|
||||||
|
if: ${{ (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main' ) && failure() }}
|
||||||
|
steps:
|
||||||
|
- uses: michaelkaye/matrix-hookshot-action@v0.3.0
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }}
|
||||||
|
matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }}
|
||||||
|
text_template: "Build is broken for ${{ github.ref }}: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||||
|
html_template: "Build is broken for ${{ github.ref }}: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{icon conclusion }}{{name}} <font color='{{color conclusion }}'>{{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a></font>{{/if}}{{/with}}{{/each}}"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue