feat: Implement room themes #771
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull Request Workflow | |
on: | |
pull_request: | |
merge_group: | |
jobs: | |
code_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cat .github/workflows/versions.env >> $GITHUB_ENV | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ env.FLUTTER_VERSION }} | |
cache: true | |
- run: flutter pub get | |
- run: flutter gen-l10n | |
- name: Check formatting | |
run: dart format lib/ test/ --set-exit-if-changed | |
- name: Check import formatting | |
run: dart run import_sorter:main --no-comments --exit-if-changed | |
- name: Check license compliance | |
run: dart run license_checker check-licenses -c licenses.yaml --problematic | |
- run: flutter analyze | |
- name: Apply google services patch | |
run: git apply ./scripts/enable-android-google-services.patch | |
- run: flutter analyze | |
- run: flutter test | |
build_debug_apk: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cat .github/workflows/versions.env >> $GITHUB_ENV | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: "zulu" | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ env.FLUTTER_VERSION }} | |
cache: true | |
- run: flutter pub get | |
- run: flutter build apk --debug | |
build_debug_web: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cat .github/workflows/versions.env >> $GITHUB_ENV | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ env.FLUTTER_VERSION }} | |
cache: true | |
- run: flutter pub get | |
- name: Prepare web | |
run: ./scripts/prepare-web.sh | |
- run: flutter build web | |
build_debug_linux: | |
strategy: | |
matrix: | |
arch: [ x64, arm64 ] | |
runs-on: ${{ matrix.arch == 'arm64' && 'self-hosted' || 'ubuntu-latest'}} | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cat .github/workflows/versions.env >> $GITHUB_ENV | |
- name: Install dependencies | |
run: sudo apt-get update && sudo apt-get install git wget curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y | |
- name: Install Flutter | |
run: | | |
git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git | |
./flutter/bin/flutter doctor | |
- run: ./flutter/bin/flutter pub get | |
- run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }} | |
build_debug_ios: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cat .github/workflows/versions.env >> $GITHUB_ENV | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ env.FLUTTER_VERSION }} | |
cache: true | |
- name: Setup Xcode version | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: latest | |
- run: brew install sqlcipher | |
- run: flutter pub get | |
- run: flutter build ios --no-codesign |