feat: android deeplink and update icons (#3769)
* feat: android deeplink and update icons * chore: remove integration test
150
.github/workflows/integration_test.yml
vendored
@ -1,150 +0,0 @@
|
|||||||
name: integration test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "main"
|
|
||||||
- "release/*"
|
|
||||||
paths:
|
|
||||||
- ".github/workflows/integration_test.yml"
|
|
||||||
- "frontend/**"
|
|
||||||
- "!frontend/appflowy_tauri/**"
|
|
||||||
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- "main"
|
|
||||||
- "release/*"
|
|
||||||
paths:
|
|
||||||
- ".github/workflows/integration_test.yml"
|
|
||||||
- "frontend/**"
|
|
||||||
- "!frontend/appflowy_tauri/**"
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
FLUTTER_VERSION: "3.10.1"
|
|
||||||
RUST_TOOLCHAIN: "1.70"
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.event.pull_request.draft != true
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, windows-latest]
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
flutter_profile: development-linux-x86_64
|
|
||||||
target: x86_64-unknown-linux-gnu
|
|
||||||
- os: windows-latest
|
|
||||||
flutter_profile: development-windows-x86
|
|
||||||
target: x86_64-pc-windows-msvc
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
# the following step is required to avoid running out of space
|
|
||||||
- name: Maximize build space
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
run: |
|
|
||||||
sudo rm -rf /usr/share/dotnet
|
|
||||||
sudo rm -rf /opt/ghc
|
|
||||||
sudo rm -rf /usr/local/share/boost
|
|
||||||
df -h
|
|
||||||
|
|
||||||
- name: Checkout source code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
|
||||||
id: rust_toolchain
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
||||||
target: ${{ matrix.target }}
|
|
||||||
override: true
|
|
||||||
profile: minimal
|
|
||||||
|
|
||||||
- name: Install flutter
|
|
||||||
id: flutter
|
|
||||||
uses: subosito/flutter-action@v2
|
|
||||||
with:
|
|
||||||
channel: "stable"
|
|
||||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
prefix-key: ${{ matrix.os }}
|
|
||||||
workspaces: |
|
|
||||||
frontend/rust-lib
|
|
||||||
cache-all-crates: true
|
|
||||||
|
|
||||||
- uses: davidB/rust-cargo-make@v1
|
|
||||||
with:
|
|
||||||
version: '0.36.6'
|
|
||||||
|
|
||||||
- name: Install prerequisites
|
|
||||||
working-directory: frontend
|
|
||||||
run: |
|
|
||||||
cargo install --force duckscript_cli
|
|
||||||
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
||||||
sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
|
|
||||||
sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y dart curl build-essential libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
|
|
||||||
sudo apt-get install keybinder-3.0 libnotify-dev
|
|
||||||
elif [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
vcpkg integrate install
|
|
||||||
elif [ "$RUNNER_OS" == "macOS" ]; then
|
|
||||||
echo 'do nothing'
|
|
||||||
fi
|
|
||||||
cargo make appflowy-flutter-deps-tools
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Enable Flutter Desktop
|
|
||||||
run: |
|
|
||||||
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
elif [ "$RUNNER_OS" == "macOS" ]; then
|
|
||||||
flutter config --enable-macos-desktop
|
|
||||||
elif [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
git config --system core.longpaths true
|
|
||||||
flutter config --enable-windows-desktop
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Build AppFlowy
|
|
||||||
working-directory: frontend
|
|
||||||
run: |
|
|
||||||
cargo make --profile ${{ matrix.flutter_profile }} appflowy-dev
|
|
||||||
|
|
||||||
- name: Run Flutter integration tests
|
|
||||||
working-directory: frontend/appflowy_flutter
|
|
||||||
run: |
|
|
||||||
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
||||||
export DISPLAY=:99
|
|
||||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
|
|
||||||
sudo apt-get install network-manager
|
|
||||||
flutter test integration_test/runner.dart -d Linux --coverage
|
|
||||||
elif [ "$RUNNER_OS" == "macOS" ]; then
|
|
||||||
flutter test integration_test/runner.dart -d macOS --coverage
|
|
||||||
elif [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
flutter test integration_test/runner.dart -d Windows --coverage
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Upload coverage to Codecov
|
|
||||||
uses: Wandalen/wretry.action@v1.0.36
|
|
||||||
with:
|
|
||||||
action: codecov/codecov-action@v3
|
|
||||||
with: |
|
|
||||||
name: appflowy
|
|
||||||
flags: appflowy_flutter_integrateion_test
|
|
||||||
fail_ci_if_error: true
|
|
||||||
verbose: true
|
|
||||||
os: ${{ matrix.os }}
|
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
attempt_limit: 20
|
|
||||||
attempt_delay: 10000
|
|
4
frontend/.vscode/launch.json
vendored
@ -67,11 +67,11 @@
|
|||||||
"cwd": "${workspaceRoot}/appflowy_flutter"
|
"cwd": "${workspaceRoot}/appflowy_flutter"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "AF-Android-Simlator: Clean + Rebuild All",
|
"name": "AF-Android: Clean + Rebuild All",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"program": "./lib/main.dart",
|
"program": "./lib/main.dart",
|
||||||
"type": "dart",
|
"type": "dart",
|
||||||
"preLaunchTask": "AF: Clean + Rebuild All (Android Simulator)",
|
"preLaunchTask": "AF: Clean + Rebuild All (Android)",
|
||||||
"env": {
|
"env": {
|
||||||
"RUST_LOG": "trace"
|
"RUST_LOG": "trace"
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<application android:label="appflowy_flutter" android:icon="@mipmap/ic_launcher"
|
<application android:label="AppFlowy" android:icon="@mipmap/ic_launcher"
|
||||||
android:name="${applicationName}">
|
android:name="${applicationName}">
|
||||||
<activity android:name=".MainActivity"
|
<activity android:name=".MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
@ -28,6 +28,16 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
|
||||||
|
<intent-filter android:autoVerify="true">
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
<data android:scheme="http" />
|
||||||
|
<data android:scheme="https" />
|
||||||
|
<data android:scheme="appflowy-flutter" />
|
||||||
|
<!-- <data android:host="login-callback" /> -->
|
||||||
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<!--
|
<!--
|
||||||
Don't delete the meta-data below.
|
Don't delete the meta-data below.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.10.0)
|
cmake_minimum_required(VERSION 3.10.0)
|
||||||
|
|
||||||
project(appflowy_flutter)
|
project(AppFlowy)
|
||||||
|
|
||||||
# arm64-v8a
|
# arm64-v8a
|
||||||
file(COPY
|
file(COPY
|
||||||
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 16 KiB |