Compare commits
9 commits
main
...
update_ass
Author | SHA1 | Date | |
---|---|---|---|
9385b30159 | |||
56bc0437fc | |||
7ce67b33b3 | |||
93559e452a | |||
2a895e9245 | |||
668f520042 | |||
08a433bb6f | |||
150da15683 | |||
7ddb80c64e |
14
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -4,12 +4,11 @@ labels: ["triage"]
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: >
|
||||||
Before opening a new bug report, please ensure
|
Before opening a new issue, please ensure you are on the latest
|
||||||
1. you are on the latest version (it might've already been fixed),
|
version (it might've already been fixed), and that you've searched
|
||||||
2. you've searched for existing issues (please add your observations as a comment there instead of creating a duplicate).
|
for existing issues (please add you observations as a comment
|
||||||
|
there instead of creating a duplicate).
|
||||||
If you are self hosting, please create a community [Q&A](https://github.com/ente-io/ente/discussions/categories/q-a) instead.
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Description
|
label: Description
|
||||||
|
@ -17,8 +16,7 @@ body:
|
||||||
Please describe the bug. If possible, also include the steps to
|
Please describe the bug. If possible, also include the steps to
|
||||||
reproduce the behaviour, and the expected behaviour (sometimes
|
reproduce the behaviour, and the expected behaviour (sometimes
|
||||||
bugs are just expectation mismatches, in which case this would be
|
bugs are just expectation mismatches, in which case this would be
|
||||||
a good fit for [feature
|
a good fit for Discussions).
|
||||||
requests](https://github.com/ente-io/ente/discussions/categories/feature-requests)).
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: input
|
- type: input
|
||||||
|
|
BIN
.github/assets/github-badge.png
vendored
Normal file
After Width: | Height: | Size: 12 KiB |
10
.github/workflows/auth-crowdin.yml
vendored
|
@ -2,15 +2,15 @@ name: "Sync Crowdin translations (auth)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
|
||||||
paths:
|
paths:
|
||||||
# Run workflow when auth's intl_en.arb is changed
|
# Run workflow when auth's intl_en.arb is changed
|
||||||
- "mobile/lib/l10n/arb/app_en.arb"
|
- "mobile/lib/l10n/arb/app_en.arb"
|
||||||
# Or the workflow itself is changed
|
# Or the workflow itself is changed
|
||||||
- ".github/workflows/auth-crowdin.yml"
|
- ".github/workflows/auth-crowdin.yml"
|
||||||
|
branches: [main]
|
||||||
schedule:
|
schedule:
|
||||||
# See: [Note: Run workflow on specific days of the week]
|
# See: [Note: Run every 24 hours]
|
||||||
- cron: "50 1 * * 2,5"
|
- cron: "50 1 * * *"
|
||||||
# Also allow manually running the workflow
|
# Also allow manually running the workflow
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@ jobs:
|
||||||
base_path: "auth/"
|
base_path: "auth/"
|
||||||
config: "auth/crowdin.yml"
|
config: "auth/crowdin.yml"
|
||||||
upload_sources: true
|
upload_sources: true
|
||||||
upload_translations: false
|
upload_translations: true
|
||||||
download_translations: true
|
download_translations: true
|
||||||
localization_branch_name: translations/auth
|
localization_branch_name: crowdin-translations-auth
|
||||||
create_pull_request: true
|
create_pull_request: true
|
||||||
skip_untranslated_strings: true
|
skip_untranslated_strings: true
|
||||||
pull_request_title: "[auth] New translations"
|
pull_request_title: "[auth] New translations"
|
||||||
|
|
8
.github/workflows/auth-lint.yml
vendored
|
@ -1,15 +1,17 @@
|
||||||
name: "Lint (auth)"
|
name: "Lint (auth)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Run on every push to a branch other than main that changes auth/
|
# Run on every push to branches (this also covers pull requests)
|
||||||
push:
|
push:
|
||||||
branches-ignore: [main]
|
# See: [Note: Specify branch when specifying a path filter]
|
||||||
|
branches: ["**"]
|
||||||
|
# Only run if something changes in these paths
|
||||||
paths:
|
paths:
|
||||||
- "auth/**"
|
- "auth/**"
|
||||||
- ".github/workflows/auth-lint.yml"
|
- ".github/workflows/auth-lint.yml"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FLUTTER_VERSION: "3.19.3"
|
FLUTTER_VERSION: "3.16.9"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
|
109
.github/workflows/auth-release.yml
vendored
|
@ -17,8 +17,8 @@ name: "Release (auth)"
|
||||||
# We use a suffix like `-test` to indicate that these are test tags, and that
|
# We use a suffix like `-test` to indicate that these are test tags, and that
|
||||||
# they belong to a pre-release.
|
# they belong to a pre-release.
|
||||||
#
|
#
|
||||||
# If you need to do multiple tests, add a .x at the end of the tag. e.g.
|
# If you need to do multiple tests, add a +x at the end of the tag. e.g.
|
||||||
# `auth-v1.2.3-test.1`.
|
# `auth-v1.2.3-test+1`.
|
||||||
#
|
#
|
||||||
# Once the testing is done, also delete the tag(s) please.
|
# Once the testing is done, also delete the tag(s) please.
|
||||||
|
|
||||||
|
@ -29,11 +29,11 @@ on:
|
||||||
- "auth-v*"
|
- "auth-v*"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FLUTTER_VERSION: "3.19.3"
|
FLUTTER_VERSION: "3.13.4"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-ubuntu:
|
build-ubuntu:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
|
@ -72,8 +72,6 @@ jobs:
|
||||||
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
|
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
|
||||||
|
|
||||||
- name: Build PlayStore AAB
|
- name: Build PlayStore AAB
|
||||||
# disable this step if release tag contains nightly or beta
|
|
||||||
if: startsWith(github.ref, 'refs/tags/auth-v') && !contains(github.ref, 'nightly') && !contains(github.ref, 'beta')
|
|
||||||
run: |
|
run: |
|
||||||
flutter build appbundle --release --flavor playstore --dart-define=app.flavor=playstore
|
flutter build appbundle --release --flavor playstore --dart-define=app.flavor=playstore
|
||||||
env:
|
env:
|
||||||
|
@ -85,21 +83,31 @@ jobs:
|
||||||
- name: Install dependencies for desktop build
|
- name: Install dependencies for desktop build
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
|
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm libsqlite3-dev locate
|
||||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
|
||||||
|
- name: Install appimagetool
|
||||||
|
run: |
|
||||||
|
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||||
|
chmod +x appimagetool
|
||||||
|
mv appimagetool /usr/local/bin/
|
||||||
|
|
||||||
- name: Build desktop app
|
- name: Build desktop app
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
run: |
|
run: |
|
||||||
flutter config --enable-linux-desktop
|
flutter config --enable-linux-desktop
|
||||||
dart pub global activate flutter_distributor
|
dart pub global activate flutter_distributor
|
||||||
flutter_distributor package --platform=linux --targets=deb --skip-clean
|
flutter_distributor package --platform=linux --targets=deb --skip-clean
|
||||||
|
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
||||||
|
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||||
mv dist/**/*-*-linux.deb artifacts/ente-${{ github.ref_name }}-x86_64.deb
|
mv dist/**/*-*-linux.deb artifacts/ente-${{ github.ref_name }}-x86_64.deb
|
||||||
|
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
||||||
|
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
||||||
env:
|
env:
|
||||||
LIBSODIUM_USE_PKGCONFIG: 1
|
LIBSODIUM_USE_PKGCONFIG: 1
|
||||||
|
|
||||||
- name: Generate checksums and push to artifacts
|
- name: Generate checksums
|
||||||
run: |
|
run: sha256sum artifacts/ente-* > artifacts/sha256sum
|
||||||
sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
|
|
||||||
|
|
||||||
- name: Create a draft GitHub release
|
- name: Create a draft GitHub release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
|
@ -110,8 +118,6 @@ jobs:
|
||||||
updateOnlyUnreleased: true
|
updateOnlyUnreleased: true
|
||||||
|
|
||||||
- name: Upload AAB to PlayStore
|
- name: Upload AAB to PlayStore
|
||||||
# disable this step if release tag contains nightly or beta
|
|
||||||
if: startsWith(github.ref, 'refs/tags/auth-v') && !contains(github.ref, 'nightly') && !contains(github.ref, 'beta')
|
|
||||||
uses: r0adkll/upload-google-play@v1
|
uses: r0adkll/upload-google-play@v1
|
||||||
with:
|
with:
|
||||||
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
|
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
|
||||||
|
@ -119,61 +125,6 @@ jobs:
|
||||||
releaseFiles: auth/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
releaseFiles: auth/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
||||||
track: internal
|
track: internal
|
||||||
|
|
||||||
build-fedora-etc:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: auth
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code and submodules
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
|
||||||
uses: subosito/flutter-action@v2
|
|
||||||
with:
|
|
||||||
channel: "stable"
|
|
||||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Create artifacts directory
|
|
||||||
run: mkdir artifacts
|
|
||||||
|
|
||||||
- name: Install dependencies for desktop build
|
|
||||||
run: |
|
|
||||||
sudo apt-get update -y
|
|
||||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5
|
|
||||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
|
||||||
|
|
||||||
- name: Install appimagetool
|
|
||||||
run: |
|
|
||||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
|
||||||
chmod +x appimagetool
|
|
||||||
mv appimagetool /usr/local/bin/
|
|
||||||
|
|
||||||
- name: Build desktop app
|
|
||||||
run: |
|
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
dart pub global activate flutter_distributor
|
|
||||||
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
|
||||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
|
||||||
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
|
||||||
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
|
||||||
|
|
||||||
- name: Generate checksums
|
|
||||||
run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
|
|
||||||
|
|
||||||
- name: Create a draft GitHub release
|
|
||||||
uses: ncipollo/release-action@v1
|
|
||||||
with:
|
|
||||||
artifacts: "auth/artifacts/*"
|
|
||||||
draft: true
|
|
||||||
allowUpdates: true
|
|
||||||
updateOnlyUnreleased: true
|
|
||||||
|
|
||||||
build-windows:
|
build-windows:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
@ -198,6 +149,8 @@ jobs:
|
||||||
run: mkdir artifacts
|
run: mkdir artifacts
|
||||||
|
|
||||||
- name: Build Windows installer
|
- name: Build Windows installer
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
run: |
|
run: |
|
||||||
flutter config --enable-windows-desktop
|
flutter config --enable-windows-desktop
|
||||||
dart pub global activate flutter_distributor
|
dart pub global activate flutter_distributor
|
||||||
|
@ -206,9 +159,13 @@ jobs:
|
||||||
mv dist/**/ente_auth-*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
|
mv dist/**/ente_auth-*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
|
||||||
|
|
||||||
- name: Retain Windows EXE and DLLs
|
- name: Retain Windows EXE and DLLs
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
run: cp -r build/windows/x64/runner/Release ente-${{ github.ref_name }}-windows
|
run: cp -r build/windows/x64/runner/Release ente-${{ github.ref_name }}-windows
|
||||||
|
|
||||||
- name: Code sign Windows installer and EXE
|
- name: Code sign Windows installer and EXE
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
uses: dlemstra/code-sign-action@v1
|
uses: dlemstra/code-sign-action@v1
|
||||||
with:
|
with:
|
||||||
certificate: "${{ secrets.WINDOWS_CERTIFICATE }}"
|
certificate: "${{ secrets.WINDOWS_CERTIFICATE }}"
|
||||||
|
@ -218,10 +175,9 @@ jobs:
|
||||||
auth/ente-${{ github.ref_name }}-windows/auth.exe
|
auth/ente-${{ github.ref_name }}-windows/auth.exe
|
||||||
|
|
||||||
- name: Zip Windows EXE and DLLs
|
- name: Zip Windows EXE and DLLs
|
||||||
run: tar.exe -a -c -f artifacts/ente-${{ github.ref_name }}-windows.zip ente-${{ github.ref_name }}-windows
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
- name: Generate checksums
|
run: tar.exe -a -c -f auth/artifacts/ente-${{ github.ref_name }}-windows.zip auth/ente-${{ github.ref_name }}-windows
|
||||||
run: sha256sum artifacts/ente-* > artifacts/sha256sum-windows
|
|
||||||
|
|
||||||
- name: Create a draft GitHub release
|
- name: Create a draft GitHub release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
|
@ -292,6 +248,8 @@ jobs:
|
||||||
run: mkdir artifacts
|
run: mkdir artifacts
|
||||||
|
|
||||||
- name: Build macOS DMG
|
- name: Build macOS DMG
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
run: |
|
run: |
|
||||||
flutter config --enable-macos-desktop
|
flutter config --enable-macos-desktop
|
||||||
dart pub global activate flutter_distributor
|
dart pub global activate flutter_distributor
|
||||||
|
@ -299,12 +257,16 @@ jobs:
|
||||||
mv dist/**/ente_auth-*-macos.dmg artifacts/ente-${{ github.ref_name }}.dmg
|
mv dist/**/ente_auth-*-macos.dmg artifacts/ente-${{ github.ref_name }}.dmg
|
||||||
|
|
||||||
- name: Code sign DMG
|
- name: Code sign DMG
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
run: |
|
run: |
|
||||||
CERT_NAME=$(security find-identity -v -p codesigning | grep "Developer ID Application" | awk -F'"' '{print $2}' | grep -m1 "")
|
CERT_NAME=$(security find-identity -v -p codesigning | grep "Developer ID Application" | awk -F'"' '{print $2}' | grep -m1 "")
|
||||||
codesign --force --timestamp --sign "$CERT_NAME" --options runtime artifacts/ente-${{ github.ref_name }}.dmg
|
codesign --force --timestamp --sign "$CERT_NAME" --options runtime artifacts/ente-${{ github.ref_name }}.dmg
|
||||||
codesign --verify --verbose=4 artifacts/ente-${{ github.ref_name }}.dmg
|
codesign --verify --verbose=4 artifacts/ente-${{ github.ref_name }}.dmg
|
||||||
|
|
||||||
- name: Notarize and staple DMG
|
- name: Notarize and staple DMG
|
||||||
|
# Temporarily disable desktop builds
|
||||||
|
if: false
|
||||||
run: |
|
run: |
|
||||||
xcrun notarytool submit artifacts/ente-${{ github.ref_name }}.dmg \
|
xcrun notarytool submit artifacts/ente-${{ github.ref_name }}.dmg \
|
||||||
--wait \
|
--wait \
|
||||||
|
@ -317,9 +279,6 @@ jobs:
|
||||||
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
|
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
|
||||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||||
|
|
||||||
- name: Generate checksums
|
|
||||||
run: shasum -a 256 artifacts/ente-* > artifacts/sha256sum-macos
|
|
||||||
|
|
||||||
- name: Create a draft GitHub release
|
- name: Create a draft GitHub release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
|
|
2
.github/workflows/cli-release.yml
vendored
|
@ -49,6 +49,6 @@ jobs:
|
||||||
project_path: "./cli"
|
project_path: "./cli"
|
||||||
pre_command: export CGO_ENABLED=0
|
pre_command: export CGO_ENABLED=0
|
||||||
build_flags: "-trimpath"
|
build_flags: "-trimpath"
|
||||||
ldflags: "-X main.AppVersion=${{ github.ref_name }} -s -w"
|
ldflags: "-s -w"
|
||||||
md5sum: false
|
md5sum: false
|
||||||
sha256sum: true
|
sha256sum: true
|
||||||
|
|
24
.github/workflows/copycat-db-release.yaml
vendored
|
@ -1,24 +0,0 @@
|
||||||
name: "Release (copycat-db)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch: # Run manually
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
name: Check out code
|
|
||||||
|
|
||||||
- uses: mr-smithers-excellent/docker-build-push@v6
|
|
||||||
name: Build & Push
|
|
||||||
with:
|
|
||||||
dockerfile: infra/copycat-db/Dockerfile
|
|
||||||
directory: infra/copycat-db
|
|
||||||
image: ente/copycat-db
|
|
||||||
registry: rg.fr-par.scw.cloud
|
|
||||||
enableBuildKit: true
|
|
||||||
buildArgs: GIT_COMMIT=${GITHUB_SHA}
|
|
||||||
tags: ${GITHUB_SHA}, latest
|
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
30
.github/workflows/desktop-lint.yml
vendored
|
@ -1,30 +0,0 @@
|
||||||
name: "Lint (desktop)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Run on every push to a branch other than main that changes desktop/
|
|
||||||
push:
|
|
||||||
branches-ignore: [main]
|
|
||||||
paths:
|
|
||||||
- "desktop/**"
|
|
||||||
- ".github/workflows/desktop-lint.yml"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: desktop
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "desktop/yarn.lock"
|
|
||||||
|
|
||||||
- run: yarn install
|
|
||||||
|
|
||||||
- run: yarn lint
|
|
7
.github/workflows/docs-deploy.yml
vendored
|
@ -37,8 +37,11 @@ jobs:
|
||||||
run: yarn build
|
run: yarn build
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
uses: cloudflare/wrangler-action@v3
|
uses: cloudflare/pages-action@1
|
||||||
with:
|
with:
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=help docs/docs/.vitepress/dist
|
projectName: ente
|
||||||
|
branch: help
|
||||||
|
directory: docs/docs/.vitepress/dist
|
||||||
|
wranglerVersion: "3"
|
||||||
|
|
37
.github/workflows/docs-verify-build.yml
vendored
|
@ -1,37 +0,0 @@
|
||||||
name: "Verify build (docs)"
|
|
||||||
|
|
||||||
# Preflight build of docs. This allows us to ensure that yarn build is
|
|
||||||
# succeeding before we merge the PR into main.
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Run on every push to a branch other than main that changes docs/
|
|
||||||
push:
|
|
||||||
branches-ignore: [main]
|
|
||||||
paths:
|
|
||||||
- "docs/**"
|
|
||||||
- ".github/workflows/docs-verify-build.yml"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
verify-build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: docs
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "docs/yarn.lock"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
|
|
||||||
- name: Build production site
|
|
||||||
run: yarn build
|
|
10
.github/workflows/mobile-crowdin.yml
vendored
|
@ -2,15 +2,15 @@ name: "Sync Crowdin translations (mobile)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
|
||||||
paths:
|
paths:
|
||||||
# Run workflow when mobiles's intl_en.arb is changed
|
# Run workflow when mobiles's intl_en.arb is changed
|
||||||
- "mobile/lib/l10n/intl_en.arb"
|
- "mobile/lib/l10n/intl_en.arb"
|
||||||
# Or the workflow itself is changed
|
# Or the workflow itself is changed
|
||||||
- ".github/workflows/mobile-crowdin.yml"
|
- ".github/workflows/mobile-crowdin.yml"
|
||||||
|
branches: [main]
|
||||||
schedule:
|
schedule:
|
||||||
# See: [Note: Run workflow on specific days of the week]
|
# See: [Note: Run every 24 hours]
|
||||||
- cron: "40 1 * * 2,5"
|
- cron: "40 1 * * *"
|
||||||
# Also allow manually running the workflow
|
# Also allow manually running the workflow
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@ jobs:
|
||||||
base_path: "mobile/"
|
base_path: "mobile/"
|
||||||
config: "mobile/crowdin.yml"
|
config: "mobile/crowdin.yml"
|
||||||
upload_sources: true
|
upload_sources: true
|
||||||
upload_translations: false
|
upload_translations: true
|
||||||
download_translations: true
|
download_translations: true
|
||||||
localization_branch_name: translations/mobile
|
localization_branch_name: crowdin-translations-mobile
|
||||||
create_pull_request: true
|
create_pull_request: true
|
||||||
skip_untranslated_strings: true
|
skip_untranslated_strings: true
|
||||||
pull_request_title: "[mobile] New translations"
|
pull_request_title: "[mobile] New translations"
|
||||||
|
|
56
.github/workflows/mobile-internal-release.yml
vendored
|
@ -1,56 +0,0 @@
|
||||||
name: "Internal release (photos)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch: # Allow manually running the action
|
|
||||||
|
|
||||||
env:
|
|
||||||
FLUTTER_VERSION: "3.22.0"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: mobile
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code and submodules
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Setup JDK 17
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 17
|
|
||||||
|
|
||||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
|
||||||
uses: subosito/flutter-action@v2
|
|
||||||
with:
|
|
||||||
channel: "stable"
|
|
||||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Setup keys
|
|
||||||
uses: timheuer/base64-to-file@v1
|
|
||||||
with:
|
|
||||||
fileName: "keystore/ente_photos_key.jks"
|
|
||||||
encodedString: ${{ secrets.SIGNING_KEY_PHOTOS }}
|
|
||||||
|
|
||||||
- name: Build PlayStore AAB
|
|
||||||
run: |
|
|
||||||
flutter build appbundle --release --flavor playstore
|
|
||||||
env:
|
|
||||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_photos_key.jks"
|
|
||||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS_PHOTOS }}
|
|
||||||
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD_PHOTOS }}
|
|
||||||
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD_PHOTOS }}
|
|
||||||
|
|
||||||
- name: Upload AAB to PlayStore
|
|
||||||
uses: r0adkll/upload-google-play@v1
|
|
||||||
with:
|
|
||||||
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
|
|
||||||
packageName: io.ente.photos
|
|
||||||
releaseFiles: mobile/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
|
||||||
track: internal
|
|
8
.github/workflows/mobile-lint.yml
vendored
|
@ -1,15 +1,17 @@
|
||||||
name: "Lint (mobile)"
|
name: "Lint (mobile)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Run on every push to a branch other than main that changes mobile/
|
# Run on every push (this also covers pull requests)
|
||||||
push:
|
push:
|
||||||
branches-ignore: [main, f-droid]
|
# See: [Note: Specify branch when specifying a path filter]
|
||||||
|
branches: ["**"]
|
||||||
|
# Only run if something changes in these paths
|
||||||
paths:
|
paths:
|
||||||
- "mobile/**"
|
- "mobile/**"
|
||||||
- ".github/workflows/mobile-lint.yml"
|
- ".github/workflows/mobile-lint.yml"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FLUTTER_VERSION: "3.22.0"
|
FLUTTER_VERSION: "3.13.4"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
|
15
.github/workflows/mobile-release.yml
vendored
|
@ -9,7 +9,7 @@ on:
|
||||||
- "photos-v*"
|
- "photos-v*"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FLUTTER_VERSION: "3.19.3"
|
FLUTTER_VERSION: "3.13.4"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -25,11 +25,6 @@ jobs:
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Setup JDK 17
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 17
|
|
||||||
|
|
||||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
||||||
uses: subosito/flutter-action@v2
|
uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
|
@ -44,9 +39,7 @@ jobs:
|
||||||
encodedString: ${{ secrets.SIGNING_KEY_PHOTOS }}
|
encodedString: ${{ secrets.SIGNING_KEY_PHOTOS }}
|
||||||
|
|
||||||
- name: Build independent APK
|
- name: Build independent APK
|
||||||
run: |
|
run: flutter build apk --release --flavor independent && mv build/app/outputs/flutter-apk/app-independent-release.apk build/app/outputs/flutter-apk/ente.apk
|
||||||
flutter build apk --release --flavor independent
|
|
||||||
mv build/app/outputs/flutter-apk/app-independent-release.apk build/app/outputs/flutter-apk/ente-${{ github.ref_name }}.apk
|
|
||||||
env:
|
env:
|
||||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_photos_key.jks"
|
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_photos_key.jks"
|
||||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS_PHOTOS }}
|
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS_PHOTOS }}
|
||||||
|
@ -54,10 +47,10 @@ jobs:
|
||||||
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD_PHOTOS }}
|
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD_PHOTOS }}
|
||||||
|
|
||||||
- name: Checksum
|
- name: Checksum
|
||||||
run: sha256sum build/app/outputs/flutter-apk/ente-${{ github.ref_name }}.apk > build/app/outputs/flutter-apk/sha256sum
|
run: sha256sum build/app/outputs/flutter-apk/ente.apk > build/app/outputs/flutter-apk/sha256sum
|
||||||
|
|
||||||
- name: Create a draft GitHub release
|
- name: Create a draft GitHub release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
artifacts: "mobile/build/app/outputs/flutter-apk/ente-${{ github.ref_name }}.apk,mobile/build/app/outputs/flutter-apk/sha256sum"
|
artifacts: "mobile/build/app/outputs/flutter-apk/ente.apk,mobile/build/app/outputs/flutter-apk/sha256sum"
|
||||||
draft: true
|
draft: true
|
||||||
|
|
6
.github/workflows/server-lint.yml
vendored
|
@ -1,9 +1,11 @@
|
||||||
name: "Lint (server)"
|
name: "Lint (server)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Run on every push to a branch other than main that changes server/
|
# Run on every push (this also covers pull requests)
|
||||||
push:
|
push:
|
||||||
branches-ignore: [main]
|
# See: [Note: Specify branch when specifying a path filter]
|
||||||
|
branches: ["**"]
|
||||||
|
# Only run if something changes in these paths
|
||||||
paths:
|
paths:
|
||||||
- "server/**"
|
- "server/**"
|
||||||
- ".github/workflows/server-lint.yml"
|
- ".github/workflows/server-lint.yml"
|
||||||
|
|
45
.github/workflows/server-publish.yml
vendored
|
@ -1,45 +0,0 @@
|
||||||
name: "Publish (server)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Run manually, providing it the commit.
|
|
||||||
#
|
|
||||||
# To obtain the commit from the currently deployed museum, do:
|
|
||||||
# curl -s https://api.ente.io/ping | jq -r '.id'
|
|
||||||
#
|
|
||||||
# See server/docs/publish.md for more details.
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
commit:
|
|
||||||
description: "Commit to publish the image from"
|
|
||||||
type: string
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
publish:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ inputs.commit }}
|
|
||||||
|
|
||||||
- name: Build and push
|
|
||||||
uses: mr-smithers-excellent/docker-build-push@v6
|
|
||||||
with:
|
|
||||||
dockerfile: server/Dockerfile
|
|
||||||
directory: server
|
|
||||||
# Resultant package name will be ghcr.io/ente-io/server
|
|
||||||
image: server
|
|
||||||
registry: ghcr.io
|
|
||||||
enableBuildKit: true
|
|
||||||
multiPlatform: true
|
|
||||||
platform: linux/amd64,linux/arm64,linux/arm/v7
|
|
||||||
buildArgs: GIT_COMMIT=${{ inputs.commit }}
|
|
||||||
tags: ${{ inputs.commit }}, latest
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Tag as server/ghcr
|
|
||||||
run: |
|
|
||||||
git tag -f server/ghcr
|
|
||||||
git push -f origin server/ghcr
|
|
8
.github/workflows/server-release.yml
vendored
|
@ -7,11 +7,11 @@ jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- uses: actions/checkout@v4
|
||||||
uses: actions/checkout@v4
|
name: Check out code
|
||||||
|
|
||||||
- name: Build and push
|
- uses: mr-smithers-excellent/docker-build-push@v6
|
||||||
uses: mr-smithers-excellent/docker-build-push@v6
|
name: Build & Push
|
||||||
with:
|
with:
|
||||||
dockerfile: server/Dockerfile
|
dockerfile: server/Dockerfile
|
||||||
directory: server
|
directory: server
|
||||||
|
|
34
.github/workflows/web-crowdin-push.yml
vendored
|
@ -1,34 +0,0 @@
|
||||||
name: "Push Crowdin translations (web)"
|
|
||||||
|
|
||||||
# This is a variant of web-crowdin.yml that uploads the translated strings in
|
|
||||||
# addition to the source strings.
|
|
||||||
#
|
|
||||||
# This allows us to change the strings in our source code for an automated
|
|
||||||
# refactoring (e.g. renaming a key), and then run this workflow to update the
|
|
||||||
# data in Crowdin taking our source code as the source of truth.
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Trigger manually, or using
|
|
||||||
# `gh workflow run web-crowdin-push.yml --ref <my-branch>`
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
push-to-crowdin:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Crowdin push
|
|
||||||
uses: crowdin/github-action@v1
|
|
||||||
with:
|
|
||||||
base_path: "web/"
|
|
||||||
config: "web/crowdin.yml"
|
|
||||||
upload_sources: true
|
|
||||||
upload_translations: true
|
|
||||||
download_translations: false
|
|
||||||
project_id: 569613
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
|
18
.github/workflows/web-crowdin.yml
vendored
|
@ -2,21 +2,15 @@ name: "Sync Crowdin translations (web)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
|
||||||
paths:
|
paths:
|
||||||
# Run workflow when web's en-US/translation.json is changed
|
# Run workflow when web's en-US/translation.json is changed
|
||||||
- "web/packages/next/locales/en-US/translation.json"
|
- "web/apps/photos/public/locales/en-US/translation.json"
|
||||||
# Or the workflow itself is changed
|
# Or the workflow itself is changed
|
||||||
- ".github/workflows/web-crowdin.yml"
|
- ".github/workflows/web-crowdin.yml"
|
||||||
|
branches: [main]
|
||||||
schedule:
|
schedule:
|
||||||
# [Note: Run workflow on specific days of the week]
|
# See: [Note: Run every 24 hours]
|
||||||
#
|
- cron: "20 1 * * *"
|
||||||
# The last (5th) component of the cron syntax denotes the day of the
|
|
||||||
# week, with 0 == SUN and 6 == SAT. So, for example, to run on every TUE
|
|
||||||
# and FRI, this can be set to `2,5`.
|
|
||||||
#
|
|
||||||
# See also: [Note: Run workflow every 24 hours]
|
|
||||||
- cron: "20 1 * * 2,5"
|
|
||||||
# Also allow manually running the workflow
|
# Also allow manually running the workflow
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
@ -34,9 +28,9 @@ jobs:
|
||||||
base_path: "web/"
|
base_path: "web/"
|
||||||
config: "web/crowdin.yml"
|
config: "web/crowdin.yml"
|
||||||
upload_sources: true
|
upload_sources: true
|
||||||
upload_translations: false
|
upload_translations: true
|
||||||
download_translations: true
|
download_translations: true
|
||||||
localization_branch_name: translations/web
|
localization_branch_name: crowdin-translations-web
|
||||||
create_pull_request: true
|
create_pull_request: true
|
||||||
skip_untranslated_strings: true
|
skip_untranslated_strings: true
|
||||||
pull_request_title: "[web] New translations"
|
pull_request_title: "[web] New translations"
|
||||||
|
|
43
.github/workflows/web-deploy-accounts.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
name: "Deploy (accounts)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
# Run workflow on pushes to the deploy/accounts
|
||||||
|
branches: [deploy/accounts]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: web
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Setup node and enable yarn caching
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: "yarn"
|
||||||
|
cache-dependency-path: "docs/yarn.lock"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
|
||||||
|
- name: Build accounts
|
||||||
|
run: yarn build:accounts
|
||||||
|
|
||||||
|
- name: Publish accounts
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: deploy/accounts
|
||||||
|
directory: web/apps/accounts/out
|
||||||
|
wranglerVersion: "3"
|
43
.github/workflows/web-deploy-auth.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
name: "Deploy (auth)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
# Run workflow on pushes to the deploy/auth
|
||||||
|
branches: [deploy/auth]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: web
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Setup node and enable yarn caching
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: "yarn"
|
||||||
|
cache-dependency-path: "docs/yarn.lock"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
|
||||||
|
- name: Build auth
|
||||||
|
run: yarn build:auth
|
||||||
|
|
||||||
|
- name: Publish auth
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: deploy/auth
|
||||||
|
directory: web/apps/auth/out
|
||||||
|
wranglerVersion: "3"
|
43
.github/workflows/web-deploy-cast.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
name: "Deploy (cast)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
# Run workflow on pushes to the deploy/cast
|
||||||
|
branches: [deploy/cast]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: web
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Setup node and enable yarn caching
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: "yarn"
|
||||||
|
cache-dependency-path: "docs/yarn.lock"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
|
||||||
|
- name: Build cast
|
||||||
|
run: yarn build:cast
|
||||||
|
|
||||||
|
- name: Publish cast
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: deploy/cast
|
||||||
|
directory: web/apps/cast/out
|
||||||
|
wranglerVersion: "3"
|
61
.github/workflows/web-deploy-one.yml
vendored
|
@ -1,61 +0,0 @@
|
||||||
name: "Deploy one (web)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
app:
|
|
||||||
description: "App to build and deploy"
|
|
||||||
type: choice
|
|
||||||
required: true
|
|
||||||
default: "photos"
|
|
||||||
options:
|
|
||||||
- "accounts"
|
|
||||||
- "auth"
|
|
||||||
- "cast"
|
|
||||||
- "payments"
|
|
||||||
- "photos"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: web
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "web/yarn.lock"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
|
|
||||||
- name: Build ${{ inputs.app }}
|
|
||||||
run: yarn build:${{ inputs.app }}
|
|
||||||
|
|
||||||
- name: Publish ${{ inputs.app }} to preview
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
# [Note: Wrangler commit-dirty]
|
|
||||||
#
|
|
||||||
# Without the --commit-dirty flag, running the wrangler-action
|
|
||||||
# always prints a warning when used:
|
|
||||||
#
|
|
||||||
# Warning: Your working directory is a git repo and has uncommitted changes
|
|
||||||
# To silence this warning, pass in --commit-dirty=true
|
|
||||||
#
|
|
||||||
# There is no clear documentation of if passing this is
|
|
||||||
# harmless, but all indications and in-practice tests seem to
|
|
||||||
# indicate so.
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/${{ inputs.app }} web/apps/${{ inputs.app }}/out
|
|
43
.github/workflows/web-deploy-photos.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
name: "Deploy (photos)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
# Run workflow on pushes to the deploy/photos
|
||||||
|
branches: [deploy/photos]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: web
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Setup node and enable yarn caching
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: "yarn"
|
||||||
|
cache-dependency-path: "docs/yarn.lock"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
|
||||||
|
- name: Build photos
|
||||||
|
run: yarn build:photos
|
||||||
|
|
||||||
|
- name: Publish photos
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: deploy/photos
|
||||||
|
directory: web/apps/photos/out
|
||||||
|
wranglerVersion: "3"
|
50
.github/workflows/web-deploy-preview.yml
vendored
|
@ -1,50 +0,0 @@
|
||||||
name: "Deploy preview (web)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
app:
|
|
||||||
description: "App to build and deploy"
|
|
||||||
type: choice
|
|
||||||
required: true
|
|
||||||
default: "photos"
|
|
||||||
options:
|
|
||||||
- "accounts"
|
|
||||||
- "auth"
|
|
||||||
- "cast"
|
|
||||||
- "payments"
|
|
||||||
- "photos"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: web
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "web/yarn.lock"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
|
|
||||||
- name: Build ${{ inputs.app }}
|
|
||||||
run: yarn build:${{ inputs.app }}
|
|
||||||
|
|
||||||
- name: Publish ${{ inputs.app }} to preview
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=preview web/apps/${{ inputs.app }}/out
|
|
45
.github/workflows/web-deploy-staff.yml
vendored
|
@ -1,45 +0,0 @@
|
||||||
name: "Deploy (staff)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Run on every push to main that changes web/apps/staff/
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
paths:
|
|
||||||
- "web/apps/staff/**"
|
|
||||||
- ".github/workflows/web-deploy-staff.yml"
|
|
||||||
# Also allow manually running the workflow
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: web
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "web/yarn.lock"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
|
|
||||||
- name: Build staff
|
|
||||||
run: yarn build:staff
|
|
||||||
|
|
||||||
- name: Publish staff
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/staff web/apps/staff/dist
|
|
86
.github/workflows/web-deploy-staging.yml
vendored
|
@ -1,86 +0,0 @@
|
||||||
name: "Deploy staging (web)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
# Run everyday at ~3:00 PM IST
|
|
||||||
#
|
|
||||||
# See: [Note: Run workflow every 24 hours]
|
|
||||||
- cron: "25 9 * * *"
|
|
||||||
# Also allow manually running the workflow
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: web
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "web/yarn.lock"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
|
|
||||||
- name: Build photos
|
|
||||||
run: yarn build:photos
|
|
||||||
env:
|
|
||||||
NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT: https://albums.ente.sh
|
|
||||||
|
|
||||||
- name: Publish photos
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=n-photos web/apps/photos/out
|
|
||||||
|
|
||||||
- name: Build accounts
|
|
||||||
run: yarn build:accounts
|
|
||||||
|
|
||||||
- name: Publish accounts
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=n-accounts web/apps/accounts/out
|
|
||||||
|
|
||||||
- name: Build auth
|
|
||||||
run: yarn build:auth
|
|
||||||
|
|
||||||
- name: Publish auth
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=n-auth web/apps/auth/out
|
|
||||||
|
|
||||||
- name: Build cast
|
|
||||||
run: yarn build:cast
|
|
||||||
|
|
||||||
- name: Publish cast
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=n-cast web/apps/cast/out
|
|
||||||
|
|
||||||
- name: Build payments
|
|
||||||
run: yarn build:payments
|
|
||||||
|
|
||||||
- name: Publish payments
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=n-payments web/apps/payments/dist
|
|
94
.github/workflows/web-deploy.yml
vendored
|
@ -1,94 +0,0 @@
|
||||||
name: "Deploy (web)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
# [Note: Run workflow every 24 hours]
|
|
||||||
#
|
|
||||||
# Run everyday at ~8:00 AM IST (except Sundays).
|
|
||||||
#
|
|
||||||
# First field is minute, second is hour of the day. Last is day of week,
|
|
||||||
# 0 being Sunday.
|
|
||||||
#
|
|
||||||
# Add a few minutes of offset to avoid scheduling on exact hourly
|
|
||||||
# boundaries (recommended by GitHub to avoid congestion).
|
|
||||||
#
|
|
||||||
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
|
||||||
# https://crontab.guru/
|
|
||||||
#
|
|
||||||
- cron: "25 2 * * 1-6"
|
|
||||||
# Also allow manually running the workflow
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: web
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Setup node and enable yarn caching
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
cache: "yarn"
|
|
||||||
cache-dependency-path: "web/yarn.lock"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
|
|
||||||
- name: Build photos
|
|
||||||
run: yarn build:photos
|
|
||||||
|
|
||||||
- name: Publish photos
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/photos web/apps/photos/out
|
|
||||||
|
|
||||||
- name: Build accounts
|
|
||||||
run: yarn build:accounts
|
|
||||||
|
|
||||||
- name: Publish accounts
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/accounts web/apps/accounts/out
|
|
||||||
|
|
||||||
- name: Build auth
|
|
||||||
run: yarn build:auth
|
|
||||||
|
|
||||||
- name: Publish auth
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/auth web/apps/auth/out
|
|
||||||
|
|
||||||
- name: Build cast
|
|
||||||
run: yarn build:cast
|
|
||||||
|
|
||||||
- name: Publish cast
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/cast web/apps/cast/out
|
|
||||||
|
|
||||||
- name: Build payments
|
|
||||||
run: yarn build:payments
|
|
||||||
|
|
||||||
- name: Publish payments
|
|
||||||
uses: cloudflare/wrangler-action@v3
|
|
||||||
with:
|
|
||||||
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
command: pages deploy --project-name=ente --commit-dirty=true --branch=deploy/payments web/apps/payments/dist
|
|
15
.github/workflows/web-lint.yml
vendored
|
@ -1,9 +1,20 @@
|
||||||
name: "Lint (web)"
|
name: "Lint (web)"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# Run on every push to a branch other than main that changes web/
|
# Run on every push (this also covers pull requests)
|
||||||
push:
|
push:
|
||||||
branches-ignore: [main]
|
# [Note: Specify branch when specifying a path filter]
|
||||||
|
#
|
||||||
|
# Path filters are ignored for tag pushes, which causes this workflow to
|
||||||
|
# always run when we push a tag. Defining an explicit branch solves the
|
||||||
|
# issue. From GitHub's docs:
|
||||||
|
#
|
||||||
|
# > if you define both branches/branches-ignore and paths/paths-ignore,
|
||||||
|
# > the workflow will only run when both filters are satisfied.
|
||||||
|
#
|
||||||
|
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
||||||
|
branches: ["**"]
|
||||||
|
# Only run if something changes in these paths
|
||||||
paths:
|
paths:
|
||||||
- "web/**"
|
- "web/**"
|
||||||
- ".github/workflows/web-lint.yml"
|
- ".github/workflows/web-lint.yml"
|
||||||
|
|
92
.github/workflows/web-nightly.yml
vendored
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
name: "Nightly (web)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# [Note: Run every 24 hours]
|
||||||
|
#
|
||||||
|
# Run every 24 hours - First field is minute, second is hour of the day
|
||||||
|
# This runs 23:15 UTC everyday - 1 and 15 are just arbitrary offset to
|
||||||
|
# avoid scheduling it on the exact hour, as suggested by GitHub.
|
||||||
|
#
|
||||||
|
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
||||||
|
# https://crontab.guru/
|
||||||
|
#
|
||||||
|
- cron: "15 23 * * *"
|
||||||
|
# Also allow manually running the workflow
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: web
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Setup node and enable yarn caching
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: "yarn"
|
||||||
|
cache-dependency-path: "docs/yarn.lock"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install
|
||||||
|
|
||||||
|
- name: Build accounts
|
||||||
|
run: yarn build:accounts
|
||||||
|
|
||||||
|
- name: Publish accounts
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: n-accounts
|
||||||
|
directory: web/apps/accounts/out
|
||||||
|
wranglerVersion: "3"
|
||||||
|
|
||||||
|
- name: Build auth
|
||||||
|
run: yarn build:auth
|
||||||
|
|
||||||
|
- name: Publish auth
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: n-auth
|
||||||
|
directory: web/apps/auth/out
|
||||||
|
wranglerVersion: "3"
|
||||||
|
|
||||||
|
- name: Build cast
|
||||||
|
run: yarn build:cast
|
||||||
|
|
||||||
|
- name: Publish cast
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: n-cast
|
||||||
|
directory: web/apps/cast/out
|
||||||
|
wranglerVersion: "3"
|
||||||
|
|
||||||
|
- name: Build photos
|
||||||
|
run: yarn build:photos
|
||||||
|
|
||||||
|
- name: Publish photos
|
||||||
|
uses: cloudflare/pages-action@1
|
||||||
|
with:
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
projectName: ente
|
||||||
|
branch: n-photos
|
||||||
|
directory: web/apps/photos/out
|
||||||
|
wranglerVersion: "3"
|
3
.gitignore
vendored
|
@ -1,6 +1,5 @@
|
||||||
# Let folks use their custom editor settings
|
# Let folks use their custom .vscode settings
|
||||||
.vscode
|
.vscode
|
||||||
.idea
|
|
||||||
|
|
||||||
# macOS
|
# macOS
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
11
.gitmodules
vendored
|
@ -9,9 +9,20 @@
|
||||||
[submodule "auth/assets/simple-icons"]
|
[submodule "auth/assets/simple-icons"]
|
||||||
path = auth/assets/simple-icons
|
path = auth/assets/simple-icons
|
||||||
url = https://github.com/simple-icons/simple-icons.git
|
url = https://github.com/simple-icons/simple-icons.git
|
||||||
|
[submodule "desktop/thirdparty/next-electron-server"]
|
||||||
|
path = desktop/thirdparty/next-electron-server
|
||||||
|
url = https://github.com/ente-io/next-electron-server.git
|
||||||
|
branch = desktop
|
||||||
|
[submodule "mobile/thirdparty/flutter"]
|
||||||
|
path = mobile/thirdparty/flutter
|
||||||
|
url = https://github.com/flutter/flutter.git
|
||||||
|
branch = stable
|
||||||
[submodule "mobile/plugins/clip_ggml"]
|
[submodule "mobile/plugins/clip_ggml"]
|
||||||
path = mobile/plugins/clip_ggml
|
path = mobile/plugins/clip_ggml
|
||||||
url = https://github.com/ente-io/clip-ggml.git
|
url = https://github.com/ente-io/clip-ggml.git
|
||||||
|
[submodule "mobile/thirdparty/isar"]
|
||||||
|
path = mobile/thirdparty/isar
|
||||||
|
url = https://github.com/isar/isar
|
||||||
[submodule "web/apps/photos/thirdparty/ffmpeg-wasm"]
|
[submodule "web/apps/photos/thirdparty/ffmpeg-wasm"]
|
||||||
path = web/apps/photos/thirdparty/ffmpeg-wasm
|
path = web/apps/photos/thirdparty/ffmpeg-wasm
|
||||||
url = https://github.com/abhinavkgrd/ffmpeg.wasm.git
|
url = https://github.com/abhinavkgrd/ffmpeg.wasm.git
|
||||||
|
|
|
@ -59,10 +59,7 @@ See [docs/](docs/README.md) for how to edit these documents.
|
||||||
|
|
||||||
## Code contributions
|
## Code contributions
|
||||||
|
|
||||||
Code is a small aspect of community, and the ways mentioned above are more
|
If you'd like to contribute code, it is best to start small.
|
||||||
important in helping us. But if you'd _really_ like to contribute code, it is
|
|
||||||
best to start small. Consider some well-scoped changes, say like adding more
|
|
||||||
[custom icons to auth](auth/docs/adding-icons.md).
|
|
||||||
|
|
||||||
Each of the individual product/platform specific directories in this repository
|
Each of the individual product/platform specific directories in this repository
|
||||||
have instructions on setting up a dev environment and making changes. The issues
|
have instructions on setting up a dev environment and making changes. The issues
|
||||||
|
|
|
@ -70,7 +70,7 @@ existing users will be grandfathered in.
|
||||||
[<img height="42" src=".github/assets/app-store-badge.svg">](https://apps.apple.com/app/id6444121398)
|
[<img height="42" src=".github/assets/app-store-badge.svg">](https://apps.apple.com/app/id6444121398)
|
||||||
[<img height="42" src=".github/assets/play-store-badge.png">](https://play.google.com/store/apps/details?id=io.ente.auth)
|
[<img height="42" src=".github/assets/play-store-badge.png">](https://play.google.com/store/apps/details?id=io.ente.auth)
|
||||||
[<img height="42" src=".github/assets/f-droid-badge.png">](https://f-droid.org/packages/io.ente.auth/)
|
[<img height="42" src=".github/assets/f-droid-badge.png">](https://f-droid.org/packages/io.ente.auth/)
|
||||||
[<img height="42" src=".github/assets/desktop-badge.png">](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v2)
|
[<img height="42" src=".github/assets/github-badge.png">](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v2)
|
||||||
[<img height="42" src=".github/assets/web-badge.svg">](https://auth.ente.io)
|
[<img height="42" src=".github/assets/web-badge.svg">](https://auth.ente.io)
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
9
auth/.gitignore
vendored
|
@ -9,20 +9,12 @@
|
||||||
.history
|
.history
|
||||||
.svn/
|
.svn/
|
||||||
|
|
||||||
# Editors
|
|
||||||
.vscode/
|
|
||||||
|
|
||||||
# IntelliJ related
|
# IntelliJ related
|
||||||
*.iml
|
*.iml
|
||||||
*.ipr
|
*.ipr
|
||||||
*.iws
|
*.iws
|
||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
# The .vscode folder contains launch configuration and tasks you configure in
|
|
||||||
# VS Code which you may wish to be included in version control, so this line
|
|
||||||
# is commented out by default.
|
|
||||||
#.vscode/
|
|
||||||
|
|
||||||
# Flutter/Dart/Pub related
|
# Flutter/Dart/Pub related
|
||||||
**/doc/api/
|
**/doc/api/
|
||||||
.dart_tool/
|
.dart_tool/
|
||||||
|
@ -40,4 +32,3 @@ lib/generated_plugin_registrant.dart
|
||||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
||||||
|
|
||||||
android/key.properties
|
android/key.properties
|
||||||
dist/
|
|
|
@ -1,11 +1,11 @@
|
||||||
# This file tracks properties of this Flutter project.
|
# This file tracks properties of this Flutter project.
|
||||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||||
#
|
#
|
||||||
# This file should be version controlled and should not be manually edited.
|
# This file should be version controlled.
|
||||||
|
|
||||||
version:
|
version:
|
||||||
revision: "ba393198430278b6595976de84fe170f553cc728"
|
revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
channel: "[user-branch]"
|
channel: unknown
|
||||||
|
|
||||||
project_type: app
|
project_type: app
|
||||||
|
|
||||||
|
@ -13,26 +13,17 @@ project_type: app
|
||||||
migration:
|
migration:
|
||||||
platforms:
|
platforms:
|
||||||
- platform: root
|
- platform: root
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
- platform: android
|
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
|
||||||
- platform: ios
|
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
|
||||||
- platform: linux
|
- platform: linux
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
- platform: macos
|
- platform: macos
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
- platform: web
|
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
|
||||||
- platform: windows
|
- platform: windows
|
||||||
create_revision: ba393198430278b6595976de84fe170f553cc728
|
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
base_revision: ba393198430278b6595976de84fe170f553cc728
|
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
|
||||||
|
|
||||||
# User provided section
|
# User provided section
|
||||||
|
|
||||||
|
|
|
@ -31,16 +31,14 @@ You can alternatively install the build from PlayStore or F-Droid.
|
||||||
<img height="59" src="../.github/assets/app-store-badge.svg">
|
<img height="59" src="../.github/assets/app-store-badge.svg">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
### Desktop
|
|
||||||
|
|
||||||
You can [**download**](https://github.com/ente-io/ente/releases?q=tag%3Aauth-v2)
|
|
||||||
a native desktop app from this repository's GitHub releases. The desktop app
|
|
||||||
works on Windows, Linux and macOS.
|
|
||||||
|
|
||||||
### Web
|
### Web
|
||||||
|
|
||||||
You can view your 2FA codes at [auth.ente.io](https://auth.ente.io). For adding
|
You can view your 2FA codes at [auth.ente.io](https://auth.ente.io). For adding
|
||||||
or managing your secrets, please use our mobile or desktop app.
|
or managing your secrets, please use our mobile app.
|
||||||
|
|
||||||
|
### Desktop
|
||||||
|
|
||||||
|
A native desktop app is coming soon!
|
||||||
|
|
||||||
## 🧑💻 Build from source
|
## 🧑💻 Build from source
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
plugins {
|
|
||||||
id "com.android.application"
|
|
||||||
id "kotlin-android"
|
|
||||||
id "dev.flutter.flutter-gradle-plugin"
|
|
||||||
}
|
|
||||||
|
|
||||||
def localProperties = new Properties()
|
def localProperties = new Properties()
|
||||||
def localPropertiesFile = rootProject.file('local.properties')
|
def localPropertiesFile = rootProject.file('local.properties')
|
||||||
if (localPropertiesFile.exists()) {
|
if (localPropertiesFile.exists()) {
|
||||||
|
@ -12,6 +6,11 @@ if (localPropertiesFile.exists()) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def flutterRoot = localProperties.getProperty('flutter.sdk')
|
||||||
|
if (flutterRoot == null) {
|
||||||
|
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
|
||||||
|
}
|
||||||
|
|
||||||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
||||||
if (flutterVersionCode == null) {
|
if (flutterVersionCode == null) {
|
||||||
flutterVersionCode = '1'
|
flutterVersionCode = '1'
|
||||||
|
@ -22,6 +21,10 @@ if (flutterVersionName == null) {
|
||||||
flutterVersionName = '1.0'
|
flutterVersionName = '1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apply plugin: 'com.android.application'
|
||||||
|
apply plugin: 'kotlin-android'
|
||||||
|
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||||
|
|
||||||
def keystoreProperties = new Properties()
|
def keystoreProperties = new Properties()
|
||||||
def keystorePropertiesFile = rootProject.file('key.properties')
|
def keystorePropertiesFile = rootProject.file('key.properties')
|
||||||
if (keystorePropertiesFile.exists()) {
|
if (keystorePropertiesFile.exists()) {
|
||||||
|
@ -29,18 +32,7 @@ if (keystorePropertiesFile.exists()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace "io.ente.auth"
|
compileSdkVersion 33
|
||||||
compileSdk 34
|
|
||||||
ndkVersion flutter.ndkVersion
|
|
||||||
|
|
||||||
compileOptions {
|
|
||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
|
||||||
}
|
|
||||||
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = '1.8'
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main.java.srcDirs += 'src/main/kotlin'
|
main.java.srcDirs += 'src/main/kotlin'
|
||||||
|
@ -54,9 +46,7 @@ android {
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "io.ente.auth"
|
applicationId "io.ente.auth"
|
||||||
// You can update the following values to match your application needs.
|
minSdkVersion 20
|
||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
|
||||||
minSdkVersion 21
|
|
||||||
targetSdkVersion 33
|
targetSdkVersion 33
|
||||||
versionCode flutterVersionCode.toInteger()
|
versionCode flutterVersionCode.toInteger()
|
||||||
versionName flutterVersionName
|
versionName flutterVersionName
|
||||||
|
@ -66,11 +56,11 @@ android {
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : System.getenv("SIGNING_KEY_PATH") ? file(System.getenv("SIGNING_KEY_PATH")) : null
|
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : System.getenv("SIGNING_KEY_PATH") ? file(System.getenv("SIGNING_KEY_PATH")) : null
|
||||||
keyAlias keystoreProperties['keyAlias'] ? keystoreProperties['keyAlias'] : System.getenv("SIGNING_KEY_ALIAS")
|
keyAlias keystoreProperties['keyAlias'] ? keystoreProperties['keyAlias'] : System.getenv("SIGNING_KEY_ALIAS")
|
||||||
keyPassword keystoreProperties['keyPassword'] ? keystoreProperties['keyPassword'] : System.getenv("SIGNING_KEY_PASSWORD")
|
keyPassword keystoreProperties['keyPassword'] ? keystoreProperties['keyPassword'] : System.getenv("SIGNING_KEY_PASSWORD")
|
||||||
storePassword keystoreProperties['storePassword'] ? keystoreProperties['storePassword'] : System.getenv("SIGNING_STORE_PASSWORD")
|
storePassword keystoreProperties['storePassword'] ? keystoreProperties['storePassword'] : System.getenv("SIGNING_STORE_PASSWORD")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
flavorDimensions "default"
|
flavorDimensions "default"
|
||||||
|
@ -115,4 +105,12 @@ flutter {
|
||||||
source '../..'
|
source '../..'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {}
|
dependencies {
|
||||||
|
implementation 'io.sentry:sentry-android:2.0.0'
|
||||||
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
implementation 'com.android.support:multidex:1.0.3'
|
||||||
|
implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
|
||||||
|
testImplementation 'junit:junit:4.12'
|
||||||
|
androidTestImplementation 'androidx.test:runner:1.1.1'
|
||||||
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
package="io.ente.auth">
|
||||||
the Flutter tool needs it to communicate with the running application
|
<!-- Flutter needs it to communicate with the running application
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
to allow setting breakpoints, to provide hot reload, etc.
|
||||||
-->
|
-->
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
package="io.ente.auth">
|
||||||
<application android:name="${applicationName}"
|
<application android:name="${applicationName}"
|
||||||
android:label="Auth"
|
android:label="auth"
|
||||||
android:icon="@mipmap/launcher_icon"
|
android:icon="@mipmap/launcher_icon"
|
||||||
android:usesCleartextTraffic="true"
|
android:usesCleartextTraffic="true"
|
||||||
android:requestLegacyExternalStorage="true"
|
android:requestLegacyExternalStorage="true"
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
Ente Auth helps you generate and store 2 step verification (2FA)
|
|
||||||
tokens on your mobile devices.
|
|
||||||
|
|
||||||
|
|
||||||
FEATURES
|
|
||||||
|
|
||||||
- Secure Backups
|
|
||||||
Auth provides end-to-end encrypted cloud backups so that you don't have to worry
|
|
||||||
about losing your tokens. We use the same protocols ente Photos uses to encrypt
|
|
||||||
and preserve your data.
|
|
||||||
|
|
||||||
- Multi Device Synchronization
|
|
||||||
Auth will automatically sync the 2FA tokens you add to your account, across all
|
|
||||||
your devices. Every new device you sign into will have access to these tokens.
|
|
||||||
|
|
||||||
- Web access
|
|
||||||
You can access your 2FA code from any web browser by visiting https://auth.ente.io .
|
|
||||||
|
|
||||||
- Offline Mode
|
|
||||||
Auth generates 2FA tokens offline, so your network connectivity will not get in
|
|
||||||
the way of your workflow.
|
|
||||||
|
|
||||||
- Import and Export Tokens
|
|
||||||
You can add tokens to Auth by one of the following methods:
|
|
||||||
1. Scanning a QR code
|
|
||||||
2. Manually entering (copy-pasting) a 2FA secret
|
|
||||||
3. Bulk importing from a file that contains a list of codes in the following format:
|
|
||||||
|
|
||||||
otpauth://totp/provider.com:you@email.com?secret=YOUR_SECRET
|
|
||||||
|
|
||||||
The codes maybe separated by new lines or commas.
|
|
||||||
|
|
||||||
You can also export the codes you have added to Auth, to an **unencrypted** text
|
|
||||||
file, that adheres to the above format.
|
|
||||||
|
|
||||||
|
|
||||||
SUPPORT
|
|
||||||
|
|
||||||
If you need help, please reach out to support@ente.io, and a human will get in touch with you.
|
|
||||||
If you have feature requests, please create an issue @ https://github.com/ente-io/ente
|
|
Before Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 58 KiB |
|
@ -1 +0,0 @@
|
||||||
Auth is a FOSS authenticator app that provides end-to-end encrypted backups for your 2FA secrets.
|
|
|
@ -1 +0,0 @@
|
||||||
Ente Auth
|
|
Before Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 134 KiB |
BIN
auth/android/app/src/main/res/drawable-night-hdpi/splash.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 52 KiB |
BIN
auth/android/app/src/main/res/drawable-night-mdpi/splash.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 70 B |
Before Width: | Height: | Size: 253 KiB |
BIN
auth/android/app/src/main/res/drawable-night-xhdpi/splash.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 635 KiB |
BIN
auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 1.1 MiB |
BIN
auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 70 B |
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 68 B |
Before Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 237 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 635 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 604 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 68 B |
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||||
|
<monochrome android:drawable="@drawable/ic_launcher_foreground"/>
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
||||||
|
|
BIN
auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 887 B |
BIN
auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 2.4 KiB |
BIN
auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 3 KiB |
|
@ -4,10 +4,7 @@
|
||||||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||||
<item name="android:forceDarkAllowed">false</item>
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
<item name="android:windowFullscreen">false</item>
|
<item name="android:windowFullscreen">false</item>
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
|
||||||
<item name="android:windowSplashScreenBackground">#000000</item>
|
<item name="android:windowSplashScreenBackground">#000000</item>
|
||||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
This theme determines the color of the Android Window while your
|
This theme determines the color of the Android Window while your
|
||||||
|
@ -18,4 +15,4 @@
|
||||||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||||
<item name="android:windowBackground">?android:colorBackground</item>
|
<item name="android:windowBackground">?android:colorBackground</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
|
@ -7,7 +7,6 @@
|
||||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||||
<item name="android:forceDarkAllowed">false</item>
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
<item name="android:windowFullscreen">false</item>
|
<item name="android:windowFullscreen">false</item>
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
|
|
|
@ -4,10 +4,7 @@
|
||||||
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||||
<item name="android:forceDarkAllowed">false</item>
|
<item name="android:forceDarkAllowed">false</item>
|
||||||
<item name="android:windowFullscreen">false</item>
|
<item name="android:windowFullscreen">false</item>
|
||||||
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
|
|
||||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||||
<item name="android:windowSplashScreenBackground">#FFFFFF</item>
|
|
||||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
|
||||||
</style>
|
</style>
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
<!-- Theme applied to the Android Window as soon as the process has started.
|
||||||
This theme determines the color of the Android Window while your
|
This theme determines the color of the Android Window while your
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
package="io.ente.auth">
|
||||||
the Flutter tool needs it to communicate with the running application
|
<!-- Flutter needs it to communicate with the running application
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
to allow setting breakpoints, to provide hot reload, etc.
|
||||||
-->
|
-->
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
|
|
|
@ -1,3 +1,16 @@
|
||||||
|
buildscript {
|
||||||
|
ext.kotlin_version = '1.8.22'
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
classpath 'com.android.tools.build:gradle:7.1.2'
|
||||||
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
@ -8,8 +21,6 @@ allprojects {
|
||||||
rootProject.buildDir = '../build'
|
rootProject.buildDir = '../build'
|
||||||
subprojects {
|
subprojects {
|
||||||
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||||
}
|
|
||||||
subprojects {
|
|
||||||
project.evaluationDependsOn(':app')
|
project.evaluationDependsOn(':app')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
org.gradle.jvmargs=-Xmx4G
|
org.gradle.jvmargs=-Xmx1536M
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
android.enableJetifier=true
|
android.enableJetifier=true
|
||||||
|
|