mirror of
https://github.com/streetwriters/notesnook.git
synced 2026-09-01 03:29:21 +02:00
Compare commits
54 Commits
3.4.10-and
...
ammarahm-e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61c6799102 | ||
|
|
eece90cde1 | ||
|
|
8e7f4333f3 | ||
|
|
afb5fae3a4 | ||
|
|
d7d732ccfa | ||
|
|
4e28a9fcd5 | ||
|
|
b478198416 | ||
|
|
a41dca8691 | ||
|
|
55a561dd74 | ||
|
|
a00e534974 | ||
|
|
4d3a13fdf6 | ||
|
|
5f356bf1d1 | ||
|
|
564111f1a5 | ||
|
|
2060799460 | ||
|
|
d31c7aec3a | ||
|
|
2b01f44aba | ||
|
|
a68d77e6be | ||
|
|
bfba462dea | ||
|
|
65dd419a5e | ||
|
|
6ececee17b | ||
|
|
c15b69475d | ||
|
|
a02e8f5257 | ||
|
|
a2098310ee | ||
|
|
12c2cbb171 | ||
|
|
eefc696545 | ||
|
|
eee193dcb8 | ||
|
|
52704898f1 | ||
|
|
bbb22fd4e3 | ||
|
|
6a1d967fa5 | ||
|
|
b884c3fa52 | ||
|
|
2fa34e4772 | ||
|
|
8267bb609f | ||
|
|
46ff55a3c6 | ||
|
|
6596211d4f | ||
|
|
24f2ac6f05 | ||
|
|
92889f53e7 | ||
|
|
dd0c49d309 | ||
|
|
cdd4c02885 | ||
|
|
1004463be7 | ||
|
|
61d1d09ad5 | ||
|
|
7e7834e728 | ||
|
|
6d48980359 | ||
|
|
2612b61489 | ||
|
|
c9bff4e69b | ||
|
|
7d315145a6 | ||
|
|
4faade006c | ||
|
|
f6c403c1a0 | ||
|
|
7ddb2ade3b | ||
|
|
1ce3a5b85e | ||
|
|
2b42a3b2cf | ||
|
|
721f688ebf | ||
|
|
465591b18e | ||
|
|
893a1b6d9e | ||
|
|
eafe71a3ad |
178
.github/workflows/android.publish.yml
vendored
178
.github/workflows/android.publish.yml
vendored
@@ -6,6 +6,11 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
env:
|
||||
CMAKE_C_COMPILER_LAUNCHER: ccache
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: ccache
|
||||
NDK_CCACHE: ccache
|
||||
USE_CCACHE: 1
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -28,71 +33,126 @@ jobs:
|
||||
- name: Make Gradlew Executable
|
||||
run: cd apps/mobile/native/android && chmod +x ./gradlew
|
||||
|
||||
- name: Install CCache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.11
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
max-size: 1500M
|
||||
restore-keys: |
|
||||
${{ runner.os }}-ccache-
|
||||
|
||||
- name: Setup CCache
|
||||
run: |
|
||||
ln -s $(which ccache) /usr/local/bin/gcc
|
||||
ln -s $(which ccache) /usr/local/bin/g++
|
||||
ln -s $(which ccache) /usr/local/bin/cc
|
||||
ln -s $(which ccache) /usr/local/bin/c++
|
||||
ln -s $(which ccache) /usr/local/bin/clang
|
||||
ln -s $(which ccache) /usr/local/bin/clang++
|
||||
ccache --set-config=base_dir=$PWD
|
||||
ccache --set-config=inode_cache=true
|
||||
ccache --set-config=compiler_check=content
|
||||
ccache --set-config=depend_mode=true
|
||||
ccache --set-config=file_clone=true
|
||||
ccache --set-config=sloppiness=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros
|
||||
ccache -p
|
||||
|
||||
- name: Cache gradle
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
|
||||
- name: Patch CPP Projects to use CCache
|
||||
run: |
|
||||
sed -i -e 's/arguments/arguments "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",/g' apps/mobile/node_modules/react-native-mmkv-storage/android/build.gradle
|
||||
sed -i -e 's/arguments/arguments "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache",/g' apps/mobile/node_modules/react-native-reanimated/android/build.gradle
|
||||
sed -i -e 's/defaultConfig {/ndkVersion safeExtGet('ndkVersion', "25.2.9519653")\n defaultConfig {/g' apps/mobile/node_modules/react-native-reanimated//android/build.gradle
|
||||
sed -i -e 's/defaultConfig {/ndkVersion safeExtGet('ndkVersion', "25.2.9519653")\n defaultConfig {/g' apps/mobile/node_modules/react-native-mmkv-storage/android/build.gradle
|
||||
|
||||
- name: CCache Stats Before Build
|
||||
run: ccache -sv
|
||||
|
||||
- name: Build unsigned app bundle
|
||||
run: yarn release:android:bundle
|
||||
|
||||
- name: Sign app bundle for Playstore release
|
||||
id: sign_app
|
||||
uses: r0adkll/sign-android-release@master
|
||||
with:
|
||||
releaseDirectory: apps/mobile/native/android/app/build/outputs/bundle/release
|
||||
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
|
||||
alias: ${{ secrets.ALIAS }}
|
||||
keyStorePassword: ${{ secrets.KEY_PASSWORD }}
|
||||
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||
env:
|
||||
BUILD_TOOLS_VERSION: "33.0.0"
|
||||
- name: CCache Stats after build
|
||||
run: ccache -sv
|
||||
|
||||
# - name: Build unsigned app bundle
|
||||
# run: |
|
||||
# cd apps/mobile/native/android
|
||||
# ./gradlew clean
|
||||
# cd ../../../../
|
||||
# yarn release:android:bundle
|
||||
|
||||
# - name: CCache Stats after build 2
|
||||
# run: ccache -sv
|
||||
|
||||
- name: Publish to Playstore
|
||||
id: deploy
|
||||
uses: r0adkll/upload-google-play@v1.1.1
|
||||
with:
|
||||
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
|
||||
packageName: com.streetwriters.notesnook
|
||||
releaseFiles: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
track: production
|
||||
status: completed
|
||||
whatsNewDirectory: apps/mobile/native/android/releasenotes/
|
||||
# - name: Sign app bundle for Playstore release
|
||||
# id: sign_app
|
||||
# uses: r0adkll/sign-android-release@master
|
||||
# with:
|
||||
# releaseDirectory: apps/mobile/native/android/app/build/outputs/bundle/release
|
||||
# signingKeyBase64: ${{ secrets.SIGNING_KEY }}
|
||||
# alias: ${{ secrets.ALIAS }}
|
||||
# keyStorePassword: ${{ secrets.KEY_PASSWORD }}
|
||||
# keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||
# env:
|
||||
# BUILD_TOOLS_VERSION: "33.0.0"
|
||||
|
||||
- name: Build apks for Github release
|
||||
run: yarn release:android
|
||||
# - name: Publish to Playstore
|
||||
# id: deploy
|
||||
# uses: r0adkll/upload-google-play@v1.1.1
|
||||
# with:
|
||||
# serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
|
||||
# packageName: com.streetwriters.notesnook
|
||||
# releaseFiles: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
# track: production
|
||||
# status: completed
|
||||
# whatsNewDirectory: apps/mobile/native/android/releasenotes/
|
||||
|
||||
# - name: Build apks for Github release
|
||||
# run: yarn release:android
|
||||
|
||||
- name: Sign apk files
|
||||
id: sign_apk
|
||||
uses: r0adkll/sign-android-release@master
|
||||
with:
|
||||
releaseDirectory: apps/mobile/native/android/app/build/outputs/apk/release
|
||||
signingKeyBase64: ${{ secrets.PUBLIC_SIGNING_KEY }}
|
||||
alias: ${{ secrets.PUBLIC_ALIAS }}
|
||||
keyStorePassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
|
||||
keyPassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
|
||||
env:
|
||||
BUILD_TOOLS_VERSION: "33.0.0"
|
||||
# - name: Sign apk files
|
||||
# id: sign_apk
|
||||
# uses: r0adkll/sign-android-release@master
|
||||
# with:
|
||||
# releaseDirectory: apps/mobile/native/android/app/build/outputs/apk/release
|
||||
# signingKeyBase64: ${{ secrets.PUBLIC_SIGNING_KEY }}
|
||||
# alias: ${{ secrets.PUBLIC_ALIAS }}
|
||||
# keyStorePassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
|
||||
# keyPassword: ${{ secrets.PUBLIC_KEY_PASSWORD }}
|
||||
# env:
|
||||
# BUILD_TOOLS_VERSION: "33.0.0"
|
||||
|
||||
- name: Rename apk files
|
||||
run: |
|
||||
cd apps/mobile/native/android/app/build/outputs/apk/release/
|
||||
mv app-arm64-v8a-release-unsigned-signed.apk notesnook-arm64-v8a.apk
|
||||
mv app-armeabi-v7a-release-unsigned-signed.apk notesnook-armeabi-v7a.apk
|
||||
mv app-x86-release-unsigned-signed.apk notesnook-x86.apk
|
||||
mv app-x86_64-release-unsigned-signed.apk notesnook-x86_64.apk
|
||||
# - name: Rename apk files
|
||||
# run: |
|
||||
# cd apps/mobile/native/android/app/build/outputs/apk/release/
|
||||
# mv app-arm64-v8a-release-unsigned-signed.apk notesnook-arm64-v8a.apk
|
||||
# mv app-armeabi-v7a-release-unsigned-signed.apk notesnook-armeabi-v7a.apk
|
||||
# mv app-x86-release-unsigned-signed.apk notesnook-x86.apk
|
||||
# mv app-x86_64-release-unsigned-signed.apk notesnook-x86_64.apk
|
||||
|
||||
- name: Get app version
|
||||
id: package-version
|
||||
uses: martinbeentjes/npm-get-version-action@master
|
||||
with:
|
||||
path: apps/mobile
|
||||
# - name: Get app version
|
||||
# id: package-version
|
||||
# uses: martinbeentjes/npm-get-version-action@master
|
||||
# with:
|
||||
# path: apps/mobile
|
||||
|
||||
- name: Create release draft on Github
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
draft: true
|
||||
tag_name: ${{ steps.package-version.outputs.current-version}}-android
|
||||
name: Notesnook Android v${{ steps.package-version.outputs.current-version}}
|
||||
repository: streetwriters/notesnook
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
files: |
|
||||
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-arm64-v8a.apk
|
||||
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-armeabi-v7a.apk
|
||||
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86.apk
|
||||
apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86_64.apk
|
||||
# - name: Create release draft on Github
|
||||
# uses: softprops/action-gh-release@v1
|
||||
# with:
|
||||
# draft: true
|
||||
# tag_name: ${{ steps.package-version.outputs.current-version}}-android
|
||||
# name: Notesnook Android v${{ steps.package-version.outputs.current-version}}
|
||||
# repository: streetwriters/notesnook
|
||||
# token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# files: |
|
||||
# apps/mobile/native/android/app/build/outputs/apk/release/notesnook-arm64-v8a.apk
|
||||
# apps/mobile/native/android/app/build/outputs/apk/release/notesnook-armeabi-v7a.apk
|
||||
# apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86.apk
|
||||
# apps/mobile/native/android/app/build/outputs/apk/release/notesnook-x86_64.apk
|
||||
|
||||
67
.github/workflows/ios.publish.yml
vendored
67
.github/workflows/ios.publish.yml
vendored
@@ -4,7 +4,7 @@ on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-13
|
||||
runs-on: macos-14
|
||||
timeout-minutes: 60
|
||||
|
||||
steps:
|
||||
@@ -22,11 +22,45 @@ jobs:
|
||||
- name: Build packages
|
||||
run: npx nx run @notesnook/mobile:build
|
||||
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.11
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ hashFiles(format('apps/mobile/native/ios/Podfile.lock')) }}
|
||||
max-size: 1500M
|
||||
restore-keys: |
|
||||
${{ runner.os }}-ccache-
|
||||
|
||||
- name: Setup ccache
|
||||
run: |
|
||||
ccache --set-config=base_dir=$PWD
|
||||
ccache --set-config=inode_cache=true
|
||||
ccache --set-config=compiler_check=content
|
||||
ccache --set-config=depend_mode=true
|
||||
ccache --set-config=file_clone=true
|
||||
ccache --set-config=sloppiness=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros
|
||||
ln -s $(which ccache) /usr/local/bin/gcc
|
||||
ln -s $(which ccache) /usr/local/bin/g++
|
||||
ln -s $(which ccache) /usr/local/bin/cc
|
||||
ln -s $(which ccache) /usr/local/bin/c++
|
||||
ln -s $(which ccache) /usr/local/bin/clang
|
||||
ln -s $(which ccache) /usr/local/bin/clang++
|
||||
ccache -p
|
||||
|
||||
- name: Cache Pods
|
||||
uses: actions/cache@v2
|
||||
id: pods-cache
|
||||
with:
|
||||
path: apps/mobile/native/ios/Pods
|
||||
key: ${{ runner.os }}-pods-${{ hashFiles('apps/mobile/native/ios/Podfile.lock') }}
|
||||
|
||||
- name: Install Pods
|
||||
run: npm run prepare:ios
|
||||
|
||||
- name: CCache Stats Before Build
|
||||
run: ccache -sv
|
||||
|
||||
- name: Build iOS App
|
||||
uses: yukiarrr/ios-build-action@v1.11.2
|
||||
uses: ammarahm-ed/ios-build-action@master
|
||||
with:
|
||||
bundle-identifier: org.streetwriters.notesnook
|
||||
scheme: Notesnook
|
||||
@@ -51,17 +85,20 @@ jobs:
|
||||
${{ secrets.APPLE_MOBILE_PROVISION_APP }}
|
||||
${{ secrets.APPLE_MOBILE_PROVISION_SHARE }}
|
||||
${{ secrets.APPLE_MOBILE_PROVISION_WIDGET }}
|
||||
|
||||
- name: CCache Stats After Build
|
||||
run: ccache -sv
|
||||
|
||||
# - name: 'Upload app to TestFlight'
|
||||
# uses: apple-actions/upload-testflight-build@v1
|
||||
# with:
|
||||
# app-path: Notesnook.ipa
|
||||
# issuer-id: ${{ secrets.API_KEY_ISSUER_ID }}
|
||||
# api-key-id: ${{ secrets.API_KEY_ID }}
|
||||
# api-private-key: ${{ secrets.API_KEY }}
|
||||
|
||||
- name: 'Upload app to TestFlight'
|
||||
uses: apple-actions/upload-testflight-build@v1
|
||||
with:
|
||||
app-path: Notesnook.ipa
|
||||
issuer-id: ${{ secrets.API_KEY_ISSUER_ID }}
|
||||
api-key-id: ${{ secrets.API_KEY_ID }}
|
||||
api-private-key: ${{ secrets.API_KEY }}
|
||||
|
||||
- name: Upload to Github
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Notesnook.ipa
|
||||
path: Notesnook.ipa
|
||||
# - name: Upload to Github
|
||||
# uses: actions/upload-artifact@v2
|
||||
# with:
|
||||
# name: Notesnook.ipa
|
||||
# path: Notesnook.ipa
|
||||
|
||||
@@ -12,7 +12,7 @@ buildscript {
|
||||
androidXCoreVersion = "1.7.0"
|
||||
androidXCore = "1.7.0"
|
||||
androidXBrowser = "1.0.0"
|
||||
ndkVersion = "23.1.7779620"
|
||||
ndkVersion = "25.2.9519653"
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
||||
@@ -15,7 +15,8 @@ org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryErr
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
# This option should only be used with decoupled projects. More details, visit
|
||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
# org.gradle.parallel=true
|
||||
org.gradle.caching=true
|
||||
org.gradle.parallel=true
|
||||
|
||||
# AndroidX package structure to make it clearer which packages are bundled with the
|
||||
# Android operating system, and which are packaged with your app's APK
|
||||
@@ -47,4 +48,4 @@ hermesEnabled=true
|
||||
# v8.android.tools.dir=/home/ammarahm-ed/Repos/notesnook-mobile/node_modules/v8-android-jit-nointl/dist/tools/android
|
||||
|
||||
# fdroid
|
||||
fdroidBuild=false
|
||||
fdroidBuild=false
|
||||
|
||||
@@ -116,6 +116,15 @@ post_install do |installer|
|
||||
# necessary for Mac Catalyst builds
|
||||
:mac_catalyst_enabled => false
|
||||
)
|
||||
installer.pods_project.targets.each do |target|
|
||||
target.build_configurations.each do |config|
|
||||
# Using the un-qualified names means you can swap in different implementations, for example ccache
|
||||
config.build_settings["CC"] = "clang"
|
||||
config.build_settings["LD"] = "clang"
|
||||
config.build_settings["CXX"] = "clang++"
|
||||
config.build_settings["LDPLUSPLUS"] = "clang++"
|
||||
end
|
||||
end
|
||||
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
||||
installer.pods_project.targets.each do |target|
|
||||
target.build_configurations.each do |config|
|
||||
|
||||
Reference in New Issue
Block a user