diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index cd429a77f..d7275b990 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -12,8 +12,9 @@ concurrency: jobs: build_web: runs-on: ubuntu-latest + environment: production steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: subosito/flutter-action@v2 with: @@ -25,11 +26,11 @@ jobs: - name: Prepare web run: ./scripts/prepare-web.sh - name: Build Release Web - run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps --base-href "/web/" + run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps - name: Create archive run: tar -czf pangeachat-web.tar.gz build/web/ - name: Upload Web Build - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v2 with: name: Web Build path: pangeachat-web.tar.gz @@ -42,26 +43,12 @@ jobs: asset_path: pangeachat-web.tar.gz asset_name: pangeachat-web.tar.gz asset_content_type: application/gzip - - name: Build Website - run: | - cd docs && npx tailwindcss -o ./tailwind.css --minify && cd .. - mv docs public - mv repo public || true - mv build/web/ public/web - cp public/web -r public/nightly - - name: Deploy to GitHub Pages - if: startsWith(github.ref, 'refs/tags/v') - uses: peaceiris/actions-gh-pages@v3 - with: - personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }} - publish_dir: ./public - publish_branch: gh-pages - cname: fluffychat.im build_apk: runs-on: ubuntu-latest + environment: production steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: actions/setup-java@v1 with: @@ -96,8 +83,9 @@ jobs: build_linux: runs-on: ubuntu-latest + environment: production steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: subosito/flutter-action@v2 with: @@ -121,8 +109,9 @@ jobs: deploy_playstore: runs-on: ubuntu-latest + environment: production steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - run: cat .github/workflows/versions.env >> $GITHUB_ENV - uses: actions/setup-java@v1 with: @@ -170,24 +159,20 @@ jobs: fi cd .. - promote_snapcraft: + deploy_web: runs-on: ubuntu-latest - env: - SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + needs: build_web + environment: staging steps: - - name: Check out Git repository - uses: actions/checkout@v4 - - name: Install Snapcraft - uses: samuelmeuli/action-snapcraft@v2 - - name: Get Tag Name - id: tag_name - run: echo "::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})" - - name: Promote Snap - env: # Workaround for https://github.com/snapcore/snapcraft/issues/4439 - SNAPCRAFT_HAS_TTY: "true" - run: | - if [[ $GITHUB_REF_NAME == rc* ]]; then - yes | snapcraft promote fluffychat --from-channel edge --to-channel candidate - else - yes | snapcraft promote fluffychat --from-channel edge --to-channel stable - fi + - uses: actions/checkout@v2 + - name: Download web + uses: actions/download-artifact@v3 + with: + name: web + path: build/web + - name: Set up AWS CLI + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} \ No newline at end of file diff --git a/scripts/enable-android-google-services.patch b/scripts/enable-android-google-services.patch index b1ec3668e..7895a16eb 100644 --- a/scripts/enable-android-google-services.patch +++ b/scripts/enable-android-google-services.patch @@ -1,5 +1,5 @@ diff --git a/android/app/build.gradle b/android/app/build.gradle -index bf972f30..46cebdc6 100644 +index 001fbd72..339b35af 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -70,6 +70,10 @@ @@ -28,15 +28,13 @@ index bf972f30..46cebdc6 100644 -//apply plugin: 'com.google.gms.google-services' +apply plugin: 'com.google.gms.google-services' diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro -index d0e0fbc9..0a546da0 100644 ---- a/android/app/proguard-rules.pro +new file mode 100644 +index 00000000..40570865 +--- /dev/null +++ b/android/app/proguard-rules.pro -@@ -1 +1,42 @@ ---keep class net.sqlcipher.** { *; } -\ No newline at end of file +@@ -0,0 +1,41 @@ +-optimizationpasses 5 +## Flutter wrapper -+-keep class net.sqlcipher.** { *; } +-keep class io.flutter.app.** { *; } +-keep class io.flutter.plugin.** { *; } +-keep class io.flutter.util.** { *; } @@ -110,52 +108,4 @@ index 1afc4606..894d1571 100644 - override fun provideFlutterEngine(context: Context): FlutterEngine? { return provideEngine(this) - } -diff --git a/android/build.gradle b/android/build.gradle -index bd394967..2e9d54de 100644 ---- a/android/build.gradle -+++ b/android/build.gradle -@@ -8,7 +8,7 @@ buildscript { - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" -- //classpath 'com.google.gms:google-services:4.3.8' -+ classpath 'com.google.gms:google-services:4.3.8' - } - } - -diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart -index 8e67ae92..da4da5c3 100644 ---- a/lib/utils/background_push.dart -+++ b/lib/utils/background_push.dart -@@ -39,7 +39,7 @@ import '../config/setting_keys.dart'; - import '../widgets/matrix.dart'; - import 'platform_infos.dart'; - --//import 'package:fcm_shared_isolate/fcm_shared_isolate.dart'; -+import 'package:fcm_shared_isolate/fcm_shared_isolate.dart'; - - class NoTokenException implements Exception { - String get cause => 'Cannot get firebase token'; -@@ -64,7 +64,7 @@ class BackgroundPush { - - final pendingTests = >{}; - -- final dynamic firebase = null; //FcmSharedIsolate(); -+ final dynamic firebase = FcmSharedIsolate(); - - DateTime? lastReceivedPush; - -diff --git a/pubspec.yaml b/pubspec.yaml -index 193e6ed6..f70e48d4 100644 ---- a/pubspec.yaml -+++ b/pubspec.yaml -@@ -26,7 +26,7 @@ dependencies: - emoji_picker_flutter: ^1.6.3 - emoji_proposal: ^0.0.1 - emojis: ^0.9.9 -- #fcm_shared_isolate: ^0.1.0 -+ fcm_shared_isolate: ^0.1.0 - file_picker: ^6.1.1 - flutter: - sdk: flutter + } \ No newline at end of file diff --git a/scripts/upload-sentry.sh b/scripts/upload-sentry.sh index 899a2312c..13f6f47d3 100755 --- a/scripts/upload-sentry.sh +++ b/scripts/upload-sentry.sh @@ -3,7 +3,7 @@ # Build a release version of the app for a platform and upload symbols export OUTPUT_FOLDER_WEB=./build/web/ export SENTRY_RELEASE=$CI_COMMIT_SHA -export SENTRY_PROJECT="${SENTRY_ORG:-client}" +export SENTRY_PROJECT="${SENTRY_PROJECT:-client}" export SENTRY_ORG="${SENTRY_ORG:-pangea-chat}" echo "[run] Uploading sourcemaps for $SENTRY_RELEASE"