Skip to content

Commit 9504984

Browse files
authored
Merge branch 'develop' into valere/rtc/voice_call
2 parents 14cea29 + 73961b4 commit 9504984

File tree

94 files changed

+1630
-1219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1630
-1219
lines changed

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ updates:
1313
open-pull-requests-limit: 0
1414
reviewers:
1515
- "element-hq/element-x-android-reviewers"
16+
cooldown:
17+
default-days: 7
1618
# Updates for Gradle dependencies used in the app
1719
- package-ecosystem: "gradle"
1820
directory: "/"
@@ -21,3 +23,5 @@ updates:
2123
open-pull-requests-limit: 0
2224
reviewers:
2325
- "element-hq/element-x-android-reviewers"
26+
cooldown:
27+
default-days: 7

.github/workflows/build.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
push:
88
branches: [ develop ]
99

10+
permissions: {}
11+
1012
# Enrich gradle.properties for CI/CD
1113
env:
1214
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
@@ -16,6 +18,9 @@ jobs:
1618
build:
1719
name: Build APKs
1820
runs-on: ubuntu-latest
21+
permissions:
22+
# For NejcZdovc/comment-pr
23+
pull-requests: write
1924
strategy:
2025
matrix:
2126
variant: [debug, release, nightly]
@@ -39,18 +44,19 @@ jobs:
3944
docker-images: true
4045
swap-storage: false
4146

42-
- uses: actions/checkout@v6
47+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4348
with:
4449
# Ensure we are building the branch and not the branch after being merged on develop
4550
# https://github.com/actions/checkout/issues/881
4651
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
52+
persist-credentials: false
4753
- name: Use JDK 21
48-
uses: actions/setup-java@v5
54+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
4955
with:
5056
distribution: 'temurin' # See 'Supported distributions' for available options
5157
java-version: '21'
5258
- name: Configure gradle
53-
uses: gradle/actions/setup-gradle@v5
59+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
5460
with:
5561
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
5662
- name: Assemble debug APKs
@@ -68,7 +74,7 @@ jobs:
6874
run: ./gradlew :app:assembleGplayDebug app:assembleFDroidDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
6975
- name: Upload debug APKs
7076
if: ${{ matrix.variant == 'debug' }}
71-
uses: actions/upload-artifact@v7
77+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
7278
with:
7379
name: elementx-debug
7480
path: |

.github/workflows/build_enterprise.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
push:
88
branches: [ develop ]
99

10+
permissions: {}
11+
1012
# Enrich gradle.properties for CI/CD
1113
env:
1214
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
@@ -41,24 +43,25 @@ jobs:
4143
docker-images: true
4244
swap-storage: false
4345

44-
- uses: actions/checkout@v6
46+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4547
with:
4648
# Ensure we are building the branch and not the branch after being merged on develop
4749
# https://github.com/actions/checkout/issues/881
4850
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
51+
persist-credentials: false
4952
- name: Add SSH private keys for submodule repositories
5053
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
5154
with:
5255
ssh-private-key: ${{ secrets.ELEMENT_ENTERPRISE_DEPLOY_KEY }}
5356
- name: Clone submodules
5457
run: git submodule update --init --recursive
5558
- name: Use JDK 21
56-
uses: actions/setup-java@v5
59+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
5760
with:
5861
distribution: 'temurin' # See 'Supported distributions' for available options
5962
java-version: '21'
6063
- name: Configure gradle
61-
uses: gradle/actions/setup-gradle@v5
64+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
6265
with:
6366
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
6467
- name: Assemble debug Gplay Enterprise APK
@@ -76,7 +79,7 @@ jobs:
7679
run: ./gradlew :app:assembleGplayDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
7780
- name: Upload debug Enterprise APKs
7881
if: ${{ matrix.variant == 'debug' }}
79-
uses: actions/upload-artifact@v7
82+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
8083
with:
8184
name: elementx-enterprise-debug
8285
path: |

.github/workflows/danger.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@ name: Danger CI
22

33
on: [pull_request, merge_group]
44

5+
permissions: {}
6+
57
jobs:
68
build:
79
runs-on: ubuntu-latest
810
name: Danger main check
911
# Skip in forks, it doesn't work even with the fallback token
1012
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
1113
steps:
12-
- uses: actions/checkout@v6
14+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
15+
with:
16+
persist-credentials: false
1317
- name: Add SSH private keys for submodule repositories
1418
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
1519
with:

.github/workflows/fork-pr-notice.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ name: Community PR notice
22

33
on:
44
workflow_dispatch:
5-
pull_request_target:
5+
pull_request_target: # zizmor: ignore[dangerous-triggers]
66
types:
77
- opened
88
- reopened
99

10+
permissions: {}
11+
1012
jobs:
1113
welcome:
1214
runs-on: ubuntu-latest
@@ -15,7 +17,7 @@ jobs:
1517
if: github.event.pull_request.base.repo.full_name != github.event.pull_request.head.repo.full_name
1618
steps:
1719
- name: Add auto-generated commit warning
18-
uses: actions/github-script@v8
20+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
1921
with:
2022
script: |
2123
github.rest.issues.createComment({

.github/workflows/generate_github_pages.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
# At 00:00 on every Tuesday UTC
66
- cron: '0 0 * * 2'
77

8+
permissions: {}
9+
810
jobs:
911
generate-github-pages:
1012
runs-on: ubuntu-latest
@@ -14,16 +16,16 @@ jobs:
1416
- name: ⏬ Checkout with LFS
1517
uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 # v1.2.3
1618
- name: Use JDK 21
17-
uses: actions/setup-java@v5
19+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
1820
with:
1921
distribution: 'temurin' # See 'Supported distributions' for available options
2022
java-version: '21'
2123
- name: Configure gradle
22-
uses: gradle/actions/setup-gradle@v5
24+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
2325
with:
2426
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
2527
- name: Set up Python 3.12
26-
uses: actions/setup-python@v6
28+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2729
with:
2830
python-version: 3.14
2931
- name: Run World screenshots generation script

.github/workflows/gradle-wrapper-update.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,18 @@ on:
55
schedule:
66
- cron: "0 0 * * *"
77

8+
permissions: {}
9+
810
jobs:
911
update-gradle-wrapper:
1012
runs-on: ubuntu-latest
1113
# Skip in forks
1214
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
1315
steps:
14-
- uses: actions/checkout@v6
15-
- uses: actions/setup-java@v5
16+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
with:
18+
persist-credentials: false
19+
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
1620
name: Use JDK 21
1721
if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch'
1822
with:

.github/workflows/maestro-local.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
workflow_dispatch:
66
pull_request:
77

8+
permissions: {}
9+
810
# Enrich gradle.properties for CI/CD
911
env:
1012
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
@@ -36,18 +38,19 @@ jobs:
3638
docker-images: true
3739
swap-storage: false
3840

39-
- uses: actions/checkout@v6
41+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4042
with:
4143
# Ensure we are building the branch and not the branch after being merged on develop
4244
# https://github.com/actions/checkout/issues/881
4345
ref: ${{ github.ref }}
44-
- uses: actions/setup-java@v5
46+
persist-credentials: false
47+
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
4548
name: Use JDK 21
4649
with:
4750
distribution: 'temurin' # See 'Supported distributions' for available options
4851
java-version: '21'
4952
- name: Configure gradle
50-
uses: gradle/actions/setup-gradle@v5
53+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
5154
with:
5255
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
5356
- name: Assemble debug APK
@@ -57,7 +60,7 @@ jobs:
5760
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
5861
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
5962
- name: Upload APK as artifact
60-
uses: actions/upload-artifact@v7
63+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
6164
with:
6265
name: elementx-apk-maestro
6366
path: |
@@ -75,14 +78,15 @@ jobs:
7578
concurrency:
7679
group: maestro-test
7780
steps:
78-
- uses: actions/checkout@v6
81+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7982
if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch'
8083
with:
8184
# Ensure we are building the branch and not the branch after being merged on develop
8285
# https://github.com/actions/checkout/issues/881
8386
ref: ${{ github.ref }}
87+
persist-credentials: false
8488
- name: Download APK artifact from previous job
85-
uses: actions/download-artifact@v8
89+
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
8690
with:
8791
name: elementx-apk-maestro
8892
- name: Enable KVM group perms
@@ -94,7 +98,7 @@ jobs:
9498
run: curl -fsSL "https://get.maestro.mobile.dev" | bash
9599
- name: Run Maestro tests in emulator
96100
id: maestro_test
97-
uses: reactivecircus/android-emulator-runner@v2
101+
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # v2.35.0
98102
continue-on-error: true
99103
env:
100104
MAESTRO_USERNAME: maestroelement
@@ -115,7 +119,7 @@ jobs:
115119
script: |
116120
.github/workflows/scripts/maestro/maestro-local-with-screen-recording.sh app-gplay-x86_64-debug.apk
117121
- name: Upload test results
118-
uses: actions/upload-artifact@v7
122+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
119123
with:
120124
name: test-results
121125
path: |

.github/workflows/nightly.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
# Every nights at 4
77
- cron: "0 4 * * *"
88

9+
permissions: {}
10+
911
env:
1012
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
1113
CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache
@@ -30,9 +32,11 @@ jobs:
3032
docker-images: true
3133
swap-storage: false
3234

33-
- uses: actions/checkout@v6
35+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
36+
with:
37+
persist-credentials: false
3438
- name: Use JDK 21
35-
uses: actions/setup-java@v5
39+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
3640
with:
3741
distribution: 'temurin' # See 'Supported distributions' for available options
3842
java-version: '21'

.github/workflows/nightlyReports.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
# Every nights at 5
77
- cron: "0 5 * * *"
88

9+
permissions: {}
10+
911
# Enrich gradle.properties for CI/CD
1012
env:
1113
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
@@ -35,13 +37,13 @@ jobs:
3537
uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 # v1.2.3
3638

3739
- name: Use JDK 21
38-
uses: actions/setup-java@v5
40+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
3941
with:
4042
distribution: 'temurin' # See 'Supported distributions' for available options
4143
java-version: '21'
4244

4345
- name: Configure gradle
44-
uses: gradle/actions/setup-gradle@v5
46+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
4547
with:
4648
cache-read-only: false
4749

@@ -56,7 +58,7 @@ jobs:
5658

5759
- name: ✅ Upload kover report
5860
if: always()
59-
uses: actions/upload-artifact@v7
61+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
6062
with:
6163
name: kover-results
6264
path: |
@@ -74,21 +76,23 @@ jobs:
7476
name: Dependency analysis
7577
runs-on: ubuntu-latest
7678
steps:
77-
- uses: actions/checkout@v6
79+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
80+
with:
81+
persist-credentials: false
7882
- name: Use JDK 21
79-
uses: actions/setup-java@v5
83+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
8084
with:
8185
distribution: 'temurin' # See 'Supported distributions' for available options
8286
java-version: '21'
8387
- name: Configure gradle
84-
uses: gradle/actions/setup-gradle@v5
88+
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
8589
with:
8690
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
8791
- name: Dependency analysis
8892
run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES
8993
- name: Upload dependency analysis
9094
if: always()
91-
uses: actions/upload-artifact@v7
95+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
9296
with:
9397
name: dependency-analysis
9498
path: build/reports/dependency-check-report.html

0 commit comments

Comments
 (0)