Skip to content

Commit 2d9c0a8

Browse files
committed
Merge remote-tracking branch 'origin/main' into beta
2 parents 1f6b67c + 5ed2351 commit 2d9c0a8

File tree

832 files changed

+21720
-5704
lines changed

Some content is hidden

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

832 files changed

+21720
-5704
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Disk cleanup
2+
description: Clean up disk space by removing unnecessary files
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Clean up unnecessary files
7+
shell: bash
8+
run: |
9+
# Remove Java JDKs
10+
sudo rm -rf /usr/lib/jvm
11+
12+
# Remove .NET SDKs
13+
sudo rm -rf /usr/share/dotnet
14+
15+
# Remove Swift toolchain
16+
sudo rm -rf /usr/share/swift
17+
18+
# Remove Haskell (GHC)
19+
sudo rm -rf /usr/local/.ghcup
20+
21+
# Remove Julia
22+
sudo rm -rf /usr/local/julia*
23+
24+
# Remove Chromium (optional if not using for browser tests)
25+
sudo rm -rf /usr/local/share/chromium
26+
27+
# Remove Microsoft/Edge and Google Chrome builds
28+
sudo rm -rf /opt/microsoft /opt/google
29+
30+
# Remove Azure CLI
31+
sudo rm -rf /opt/az
32+
33+
# Remove PowerShell
34+
sudo rm -rf /usr/local/share/powershell
35+
36+
# Remove toolcaches
37+
sudo rm -rf /opt/hostedtoolcache
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Disk usage
2+
description: Show disk usage
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Total runner disk usage
7+
shell: bash
8+
run: df -h /
9+
10+
- name: Workspace usage
11+
shell: bash
12+
run: du -sh $GITHUB_WORKSPACE || true
13+
14+
- name: Gradle user home usage
15+
shell: bash
16+
run: du -sh ~/.gradle || true
17+
18+
- name: Gradle cache usage
19+
shell: bash
20+
run: du -sh ~/.gradle/caches || true
21+
22+
- name: Build outputs usage
23+
shell: bash
24+
run: du -sh build app-*/build || true
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Set up Gradle build environment
2+
description: Prepares environment for building with JDK and Gradle
3+
inputs:
4+
add-job-summary:
5+
description: 'Whether to add a job summary (always, never, on-failure).'
6+
required: false
7+
default: 'always'
8+
write-cache:
9+
description: 'Whether to write to the cache (true/false).'
10+
required: false
11+
default: 'false'
12+
disable-cache:
13+
description: 'Whether to disable the cache (true/false).'
14+
required: false
15+
default: 'false'
16+
runs:
17+
using: 'composite'
18+
steps:
19+
- name: Copy CI gradle.properties
20+
shell: bash
21+
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
22+
23+
- name: Set up JDK
24+
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
25+
with:
26+
distribution: 'temurin'
27+
java-version: '21'
28+
29+
- name: Set up Gradle without cache
30+
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
31+
with:
32+
cache-disabled: ${{ inputs.disable-cache }}
33+
add-job-summary: ${{ inputs.add-job-summary }}
34+
cache-read-only: ${{ inputs.write-cache == 'false' }}

.github/ci-gradle.properties

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
org.gradle.daemon=false
1+
org.gradle.daemon=true
22
org.gradle.parallel=true
3+
org.gradle.caching=true
4+
org.gradle.configuration-cache=true
5+
org.gradle.configuration-cache.parallel=true
36
org.gradle.workers.max=4
4-
org.gradle.jvmargs=-Xmx10g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError
7+
org.gradle.jvmargs=-Xmx10g -XX:MaxMetaspaceSize=4g -Dfile.encoding=UTF-8 -XX:+UseParallelGC
58

6-
kotlin.incremental=false
9+
kotlin.incremental=true
710
kotlin.compiler.execution.strategy=in-process

.github/dependabot.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,26 @@
11
version: 2
2-
commit-message:
3-
prefix: chore
4-
include: scope
5-
labels:
6-
- "type: dependency"
72
updates:
3+
# Dependabot does not support GitHub composite actions by default (.github/actions)
4+
# so we need to add the folder by hand to the directories entry.
85
- package-ecosystem: "github-actions"
6+
directories:
7+
- "/"
8+
- "/.github/actions/*"
9+
schedule:
10+
interval: "weekly"
11+
labels:
12+
- "type: dependency"
13+
- "type: github actions"
14+
commit-message:
15+
prefix: chore
16+
include: scope
17+
- package-ecosystem: "gradle"
918
directory: "/"
1019
schedule:
1120
interval: "weekly"
21+
labels:
22+
- "type: dependency"
23+
- "type: gradle"
24+
commit-message:
25+
prefix: chore
26+
include: scope

.github/workflows/android.yml

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
name: Android CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
paths-ignore:
9+
- '.idea/**'
10+
- '.gitattributes'
11+
- '.github/**.json'
12+
- '.gitignore'
13+
- '.gitmodules'
14+
- '**.md'
15+
- 'LICENSE'
16+
- 'NOTICE'
17+
18+
permissions:
19+
contents: read
20+
21+
concurrency:
22+
group: android-ci-${{ github.ref }}-${{ github.event.pull_request.number || 'no-pr' }}
23+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
24+
25+
jobs:
26+
build-common:
27+
name: Build common code
28+
runs-on: ubuntu-latest
29+
timeout-minutes: 90
30+
31+
steps:
32+
- name: Checkout the repo
33+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
34+
with:
35+
fetch-depth: 1
36+
37+
- name: Show disk usage
38+
uses: ./.github/actions/disk-usage
39+
40+
- name: Cleanup disk
41+
uses: ./.github/actions/disk-cleanup
42+
43+
- name: Setup Gradle environment
44+
uses: ./.github/actions/setup-gradle
45+
with:
46+
write-cache: ${{ github.ref == 'refs/heads/main' }}
47+
48+
- name: Prime configuration and dependency cache
49+
run: ./gradlew --no-daemon help
50+
51+
- name: Assemble common
52+
run: ./gradlew :app-common:assemble
53+
54+
- name: Show disk usage
55+
uses: ./.github/actions/disk-usage
56+
57+
build-k9:
58+
name: Build K9 application
59+
runs-on: ubuntu-latest
60+
timeout-minutes: 90
61+
needs: [build-common]
62+
steps:
63+
- name: Checkout the repo
64+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
65+
with:
66+
fetch-depth: 1
67+
68+
- name: Setup Gradle environment
69+
uses: ./.github/actions/setup-gradle
70+
71+
- name: Build K9 application
72+
run: ./gradlew :app-k9mail:assemble
73+
74+
- name: Check K9 Badging
75+
run: |
76+
./gradlew :app-k9mail:checkFossReleaseBadging \
77+
:app-k9mail:checkFullReleaseBadging \
78+
-x assemble \
79+
-x build
80+
81+
build-thunderbird:
82+
name: Build Thunderbird application
83+
runs-on: ubuntu-latest
84+
timeout-minutes: 90
85+
needs: [build-common]
86+
steps:
87+
- name: Checkout the repo
88+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
89+
with:
90+
fetch-depth: 1
91+
92+
- name: Setup Gradle environment
93+
uses: ./.github/actions/setup-gradle
94+
95+
- name: Build Thunderbird application
96+
run: ./gradlew :app-thunderbird:assemble
97+
98+
- name: Check Thunderbird Badging
99+
run: |
100+
./gradlew :app-thunderbird:checkFossBetaBadging \
101+
:app-thunderbird:checkFossDailyBadging \
102+
:app-thunderbird:checkFossReleaseBadging \
103+
:app-thunderbird:checkFullBetaBadging \
104+
:app-thunderbird:checkFullDailyBadging \
105+
:app-thunderbird:checkFullReleaseBadging \
106+
-x assemble \
107+
-x build
108+
109+
build-ui-catalog:
110+
name: Build UI-catalog application
111+
runs-on: ubuntu-latest
112+
timeout-minutes: 90
113+
needs: [build-common]
114+
steps:
115+
- name: Checkout the repo
116+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
117+
with:
118+
fetch-depth: 1
119+
120+
- name: Setup Gradle environment
121+
uses: ./.github/actions/setup-gradle
122+
123+
- name: Build App UI-catalog application in Debug mode
124+
run: ./gradlew :app-ui-catalog:assembleDebug
125+
126+
quality-unit-test:
127+
name: Quality - Unit tests
128+
runs-on: ubuntu-latest
129+
timeout-minutes: 90
130+
needs: [build-common]
131+
steps:
132+
- name: Checkout the repo
133+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
134+
with:
135+
fetch-depth: 1
136+
137+
- name: Setup Gradle environment
138+
uses: ./.github/actions/setup-gradle
139+
140+
- name: Running unit tests
141+
run: ./gradlew testsOnCi --parallel
142+
143+
quality-lint:
144+
name: Quality - Lint
145+
runs-on: ubuntu-latest
146+
timeout-minutes: 90
147+
needs: [build-common]
148+
steps:
149+
- name: Checkout the repo
150+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
151+
with:
152+
fetch-depth: 1
153+
154+
- name: Setup Gradle environment
155+
uses: ./.github/actions/setup-gradle
156+
157+
- name: Running Android lint
158+
run: ./gradlew lint
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: CLI Tools CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'cli/**'
9+
pull_request:
10+
paths:
11+
- 'cli/**'
12+
13+
permissions:
14+
contents: read
15+
16+
concurrency:
17+
group: cli-tools-ci-${{ github.ref }}-${{ github.event.pull_request.number || 'no-pr' }}
18+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
19+
20+
jobs:
21+
build-cli-tools:
22+
name: Build CLI tools
23+
runs-on: ubuntu-latest
24+
timeout-minutes: 30
25+
steps:
26+
- name: Checkout the repo
27+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
28+
with:
29+
fetch-depth: 1
30+
31+
- name: Setup Gradle environment
32+
uses: ./.github/actions/setup-gradle
33+
34+
- name: Build CLI tools
35+
run: ./gradlew buildCliTools

0 commit comments

Comments
 (0)