From ff1d8c310e30a184dc0916ded163184ea44490eb Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Thu, 25 Mar 2021 12:26:26 +0100 Subject: [PATCH 01/19] ci: add initial github actions pipelines --- .github/workflows/build.yml | 59 +++++++++++++++++++++++++++++++++++ .github/workflows/quality.yml | 46 +++++++++++++++++++++++++++ .github/workflows/tests.yml | 39 +++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/quality.yml create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..6df5bb7c70 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,59 @@ +name: Build + +on: + pull_request: {} + push: + branches: [master, develop] + +jobs: + debug: + name: Build debug APK (${{ matrix.target }}) + runs-on: ubuntu-latest + if: github.ref != 'refs/heads/master' + strategy: + matrix: + target: [ Gplay, Fdroid ] + steps: + - uses: actions/checkout@v2 + - 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: Assemble ${{ matrix.target }} debug apk + run: ./gradlew clean lint${{ matrix.target }}Release assemble${{ matrix.target }}Debug --stacktrace + - name: Upload APKs + uses: actions/upload-artifact@v2 + with: + name: release-debug-${{ matrix.target }} + path: | + vector/build/outputs/apk/*/debug/*.apk + vector/build/reports/*.* + + gplay: + name: Build unsigned GPlay APK + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - uses: actions/checkout@v2 + - 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: Assemble GPlay unsigned apk + run: ./gradlew clean assembleGplayRelease --stacktrace + - name: Upload APKs + uses: actions/upload-artifact@v2 + with: + name: release-unsigned-GPlay + path: | + vector/build/outputs/apk/*/debug/*.apk + +# TODO: add exodus checks diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml new file mode 100644 index 0000000000..fe41dfde74 --- /dev/null +++ b/.github/workflows/quality.yml @@ -0,0 +1,46 @@ +name: Code Quality Checks + +on: + pull_request: {} + push: + branches: [master, develop] + +jobs: + check: + name: Project Check Suite + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run code quality check suite + run: ./tools/check/check_code_quality.sh + + klint: + name: Kotlin Linter + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run klint + run: | + curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.36.0/ktlint && chmod a+x ktlint + ./ktlint --android --experimental -v + + android-lint: + name: Android Linter + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - 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: Lint analysis of the SDK + run: ./gradlew clean :matrix-sdk-android:lintRelease --stacktrace + - name: Upload reports + uses: actions/upload-artifact@v2 + with: + name: report-lint-andorid-sdk + path: matrix-sdk-android/build/reports/*.* diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000000..d95b6bbc21 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,39 @@ +name: Test + +on: + pull_request: {} + push: + branches: [master, develop] + +jobs: + unit-tests: + name: Unit Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - 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: Run unit tests + run: ./gradlew clean test --stacktrace -PallWarningsAsErrors=false + + android-tests: + name: Android Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - 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: Run android tests + run: ./gradlew clean assembleAndroidTest --stacktrace -PallWarningsAsErrors=false From 467d3e764ead68494d68a296af7c8b352448d915 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Thu, 25 Mar 2021 13:33:46 +0100 Subject: [PATCH 02/19] ci: do not fail fast on debug apk builds --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6df5bb7c70..3f9397165a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,6 +11,7 @@ jobs: runs-on: ubuntu-latest if: github.ref != 'refs/heads/master' strategy: + fail-fast: false matrix: target: [ Gplay, Fdroid ] steps: From 55912ef49d2d2390bad7ca6156d0b841167b37e5 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Thu, 25 Mar 2021 13:53:35 +0100 Subject: [PATCH 03/19] ci: cache debug apk linting reports on failure --- .github/workflows/build.yml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3f9397165a..0e5e637961 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,15 +24,23 @@ jobs: key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- + - name: Lint ${{ matrix.target }} release + run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace + - name: Upload ${{ matrix.target }} linting report + uses: actions/upload-artifact@v2 + if: always() + with: + name: release-debug-linting-report-${{ matrix.target }} + path: | + vector/build/reports/*.* - name: Assemble ${{ matrix.target }} debug apk - run: ./gradlew clean lint${{ matrix.target }}Release assemble${{ matrix.target }}Debug --stacktrace - - name: Upload APKs + run: ./gradlew assemble${{ matrix.target }}Debug --stacktrace + - name: Upload ${{ matrix.target }} debug APKs uses: actions/upload-artifact@v2 with: - name: release-debug-${{ matrix.target }} + name: release-apk-debug-${{ matrix.target }} path: | vector/build/outputs/apk/*/debug/*.apk - vector/build/reports/*.* gplay: name: Build unsigned GPlay APK @@ -50,10 +58,10 @@ jobs: ${{ runner.os }}-gradle- - name: Assemble GPlay unsigned apk run: ./gradlew clean assembleGplayRelease --stacktrace - - name: Upload APKs + - name: Upload Gplay unsigned APKs uses: actions/upload-artifact@v2 with: - name: release-unsigned-GPlay + name: release-apk-unsigned-GPlay path: | vector/build/outputs/apk/*/debug/*.apk From 209a9b09c77dd0301170510fd1abdd2ef9e02975 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Thu, 25 Mar 2021 13:55:01 +0100 Subject: [PATCH 04/19] ci: fix typo in naming --- .github/workflows/quality.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index fe41dfde74..9cbb1f4d2e 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -42,5 +42,5 @@ jobs: - name: Upload reports uses: actions/upload-artifact@v2 with: - name: report-lint-andorid-sdk + name: linting-report-android-sdk path: matrix-sdk-android/build/reports/*.* From f0adf29d121d76a0331b7a9c7287de73de7489f5 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Fri, 26 Mar 2021 21:19:48 +0100 Subject: [PATCH 05/19] ci: split out apk linting --- .github/workflows/build.yml | 13 ++----------- .github/workflows/quality.yml | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0e5e637961..807cc5fa75 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,9 +1,9 @@ name: Build on: - pull_request: {} + pull_request: { } push: - branches: [master, develop] + branches: [ master, develop ] jobs: debug: @@ -24,15 +24,6 @@ jobs: key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - - name: Lint ${{ matrix.target }} release - run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace - - name: Upload ${{ matrix.target }} linting report - uses: actions/upload-artifact@v2 - if: always() - with: - name: release-debug-linting-report-${{ matrix.target }} - path: | - vector/build/reports/*.* - name: Assemble ${{ matrix.target }} debug apk run: ./gradlew assemble${{ matrix.target }}Debug --stacktrace - name: Upload ${{ matrix.target }} debug APKs diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 9cbb1f4d2e..92e7a3e647 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -1,9 +1,9 @@ name: Code Quality Checks on: - pull_request: {} + pull_request: { } push: - branches: [master, develop] + branches: [ master, develop ] jobs: check: @@ -44,3 +44,31 @@ jobs: with: name: linting-report-android-sdk path: matrix-sdk-android/build/reports/*.* + + apk-lint: + name: Lint APK (${{ matrix.target }}) + runs-on: ubuntu-latest + if: github.ref != 'refs/heads/master' + strategy: + fail-fast: false + matrix: + target: [ Gplay, Fdroid ] + steps: + - uses: actions/checkout@v2 + - 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: Lint ${{ matrix.target }} release + run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace + - name: Upload ${{ matrix.target }} linting report + uses: actions/upload-artifact@v2 + if: always() + with: + name: release-debug-linting-report-${{ matrix.target }} + path: | + vector/build/reports/*.* From bebd84d1f5470cb267970dc7ec6f2f66b2bce438 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Fri, 26 Mar 2021 21:20:06 +0100 Subject: [PATCH 06/19] ci: add integration tests --- .github/workflows/integration.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/integration.yml diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 0000000000..2fd1c3732d --- /dev/null +++ b/.github/workflows/integration.yml @@ -0,0 +1,31 @@ +name: Integeration Test + +on: + pull_request: { } + push: + branches: [ master, develop ] + +jobs: + integration-tests: + name: Synapse Integration Tests + runs-on: ubuntu-latest + services: + synapse: + image: docker.io/matrixdotorg/synapse:latest + options: "--entrypoint tail" + ports: [ 8080, 8480, 8081, 8481, 8082, 8482 ] + steps: + - uses: actions/checkout@v2 + - name: Start synapse server + run: | + docker exec ${{ job.services.synapse.id }} bash -c 'curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh | sed s/127.0.0.1/0.0.0.0/g | bash' + - 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: Run unit tests + run: ./gradlew vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From c39a8caaed287f4e6675609d3d8f50a8f9bef552 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Fri, 26 Mar 2021 21:23:43 +0100 Subject: [PATCH 07/19] ci: disable integration health checks --- .github/workflows/integration.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 2fd1c3732d..8990b0b2ef 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -12,7 +12,9 @@ jobs: services: synapse: image: docker.io/matrixdotorg/synapse:latest - options: "--entrypoint tail" + options: >- + --entrypoint=tail + --no-healthcheck ports: [ 8080, 8480, 8081, 8481, 8082, 8482 ] steps: - uses: actions/checkout@v2 From 62ca8d87dcc55d2c743f2180ed89ac636ca81ab3 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Fri, 26 Mar 2021 21:37:08 +0100 Subject: [PATCH 08/19] ci: setup synapse server manually --- .github/workflows/integration.yml | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 8990b0b2ef..7975fec451 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -9,18 +9,20 @@ jobs: integration-tests: name: Synapse Integration Tests runs-on: ubuntu-latest - services: - synapse: - image: docker.io/matrixdotorg/synapse:latest - options: >- - --entrypoint=tail - --no-healthcheck - ports: [ 8080, 8480, 8081, 8481, 8082, 8482 ] steps: - uses: actions/checkout@v2 - - name: Start synapse server - run: | - docker exec ${{ job.services.synapse.id }} bash -c 'curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh | sed s/127.0.0.1/0.0.0.0/g | bash' + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + restore-keys: | + ${{ runner.os }}-pip- + ${{ runner.os }}- - uses: actions/cache@v2 with: path: | @@ -29,5 +31,12 @@ jobs: key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- + - name: Start synapse server + run: | + python3 -m venv .synapse + source .synapse/bin/activate + pip install synapse matrix-synapse + curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \ + | sed s/127.0.0.1/0.0.0.0/g | bash - name: Run unit tests run: ./gradlew vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From 1fac4dfe3e4b567101a92ccae697b60261599196 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Fri, 26 Mar 2021 23:52:06 +0100 Subject: [PATCH 09/19] ci: clean up naming --- .github/workflows/build.yml | 2 +- .github/workflows/integration.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 807cc5fa75..7bcd3167fe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: Build +name: APK Build on: pull_request: { } diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 7975fec451..67674886ac 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -7,7 +7,7 @@ on: jobs: integration-tests: - name: Synapse Integration Tests + name: Integration Tests (Synapse) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -38,5 +38,5 @@ jobs: pip install synapse matrix-synapse curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \ | sed s/127.0.0.1/0.0.0.0/g | bash - - name: Run unit tests + - name: Run integration tests run: ./gradlew vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From d926890c7957368d58a1db6d4ac89fffb10a710e Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Tue, 30 Mar 2021 13:52:19 +0200 Subject: [PATCH 10/19] ci: ignore warnings for integration tests --- .github/workflows/integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 67674886ac..183a4142ad 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -39,4 +39,4 @@ jobs: curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \ | sed s/127.0.0.1/0.0.0.0/g | bash - name: Run integration tests - run: ./gradlew vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest + run: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From 112a160725c0f0f86802bda4d83829ae0f048051 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Tue, 30 Mar 2021 15:11:55 +0200 Subject: [PATCH 11/19] ci: enable android emulator --- .github/workflows/integration.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 183a4142ad..4cdcbc10f6 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -39,4 +39,5 @@ jobs: curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \ | sed s/127.0.0.1/0.0.0.0/g | bash - name: Run integration tests + uses: reactivecircus/android-emulator-runner@v2 run: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From 33b210084262ac172ebaaf737e4e73faf5ee40d5 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Tue, 30 Mar 2021 15:14:26 +0200 Subject: [PATCH 12/19] ci: fix integration test config syntax --- .github/workflows/integration.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 4cdcbc10f6..8521970eb8 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -40,4 +40,5 @@ jobs: | sed s/127.0.0.1/0.0.0.0/g | bash - name: Run integration tests uses: reactivecircus/android-emulator-runner@v2 - run: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest + with: + script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From 7db5c66f2ce8a2f506e287cd8412d9b02f1d3912 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Tue, 30 Mar 2021 15:16:56 +0200 Subject: [PATCH 13/19] ci: fix integration test config api-level --- .github/workflows/integration.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 8521970eb8..5ebe119086 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -41,4 +41,5 @@ jobs: - name: Run integration tests uses: reactivecircus/android-emulator-runner@v2 with: + api-level: 29 script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From 619e8cca3706523c398baa26c1f6c668d997cdce Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 6 May 2021 18:24:00 +0200 Subject: [PATCH 14/19] typo --- .github/workflows/integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 5ebe119086..022da8bb94 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -1,4 +1,4 @@ -name: Integeration Test +name: Integration Test on: pull_request: { } From b5f7abda48c6c0d64ce468d2b662f435b3938e9f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 6 May 2021 18:25:34 +0200 Subject: [PATCH 15/19] master -> main --- .github/workflows/build.yml | 6 +++--- .github/workflows/integration.yml | 2 +- .github/workflows/quality.yml | 4 ++-- .github/workflows/tests.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7bcd3167fe..b6a16c085c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,13 +3,13 @@ name: APK Build on: pull_request: { } push: - branches: [ master, develop ] + branches: [ main, develop ] jobs: debug: name: Build debug APK (${{ matrix.target }}) runs-on: ubuntu-latest - if: github.ref != 'refs/heads/master' + if: github.ref != 'refs/heads/main' strategy: fail-fast: false matrix: @@ -36,7 +36,7 @@ jobs: gplay: name: Build unsigned GPlay APK runs-on: ubuntu-latest - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 022da8bb94..94cd9912ed 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -3,7 +3,7 @@ name: Integration Test on: pull_request: { } push: - branches: [ master, develop ] + branches: [ main, develop ] jobs: integration-tests: diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 92e7a3e647..a65e6b5dee 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -3,7 +3,7 @@ name: Code Quality Checks on: pull_request: { } push: - branches: [ master, develop ] + branches: [ main, develop ] jobs: check: @@ -48,7 +48,7 @@ jobs: apk-lint: name: Lint APK (${{ matrix.target }}) runs-on: ubuntu-latest - if: github.ref != 'refs/heads/master' + if: github.ref != 'refs/heads/main' strategy: fail-fast: false matrix: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d95b6bbc21..ee63afa33c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -3,7 +3,7 @@ name: Test on: pull_request: {} push: - branches: [master, develop] + branches: [main, develop] jobs: unit-tests: From fa6aaca67a71985d45d44319778cd8a75973b2c6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 19 May 2021 17:38:32 +0200 Subject: [PATCH 16/19] Fix some typo --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6a16c085c..85148a2632 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ on: jobs: debug: - name: Build debug APK (${{ matrix.target }}) + name: Build debug APKs (${{ matrix.target }}) runs-on: ubuntu-latest if: github.ref != 'refs/heads/main' strategy: @@ -29,12 +29,12 @@ jobs: - name: Upload ${{ matrix.target }} debug APKs uses: actions/upload-artifact@v2 with: - name: release-apk-debug-${{ matrix.target }} + name: vector-${{ matrix.target }}-debug path: | vector/build/outputs/apk/*/debug/*.apk - gplay: - name: Build unsigned GPlay APK + release: + name: Build unsigned GPlay APKs runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: @@ -52,8 +52,8 @@ jobs: - name: Upload Gplay unsigned APKs uses: actions/upload-artifact@v2 with: - name: release-apk-unsigned-GPlay + name: vector-gplay-release-unsigned path: | - vector/build/outputs/apk/*/debug/*.apk + vector/build/outputs/apk/*/release/*.apk # TODO: add exodus checks From 974c7ef8d98072004ad5f68f43056a6e8c3f25cd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 19 May 2021 17:45:47 +0200 Subject: [PATCH 17/19] Run test on API 21 and API 30, and disable rate limiting on Synapse --- .github/workflows/integration.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 94cd9912ed..c277739555 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -9,6 +9,9 @@ jobs: integration-tests: name: Integration Tests (Synapse) runs-on: ubuntu-latest + strategy: + matrix: + api-level: [21, 30] steps: - uses: actions/checkout@v2 - name: Set up Python 3.8 @@ -36,10 +39,10 @@ jobs: python3 -m venv .synapse source .synapse/bin/activate pip install synapse matrix-synapse - curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \ + curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh --no-rate-limit \ | sed s/127.0.0.1/0.0.0.0/g | bash - - name: Run integration tests + - name: Run integration tests on API ${{ matrix.api-level }} uses: reactivecircus/android-emulator-runner@v2 with: - api-level: 29 + api-level: ${{ matrix.api-level }} script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest From c437ed394df158c14a005998d2e50f81569bd278 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 19 May 2021 17:48:12 +0200 Subject: [PATCH 18/19] No need to build Android test, it's done by integration workflow --- .github/workflows/tests.yml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ee63afa33c..6e51368ce5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ on: jobs: unit-tests: - name: Unit Tests + name: Run Unit Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -21,19 +21,3 @@ jobs: ${{ runner.os }}-gradle- - name: Run unit tests run: ./gradlew clean test --stacktrace -PallWarningsAsErrors=false - - android-tests: - name: Android Tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - 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: Run android tests - run: ./gradlew clean assembleAndroidTest --stacktrace -PallWarningsAsErrors=false From 9e795894be068f12374e3e7f746ac8d732a120a8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 19 May 2021 18:16:05 +0200 Subject: [PATCH 19/19] Change command to run connected tests --- .github/workflows/integration.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index c277739555..cb6f1b0e48 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -45,4 +45,5 @@ jobs: uses: reactivecircus/android-emulator-runner@v2 with: api-level: ${{ matrix.api-level }} - script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest + # script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest + script: ./gradlew -PallWarningsAsErrors=false connectedCheck