Skip to content

Manual build

Manual build #3

Workflow file for this run

name: Manual build
on:
workflow_dispatch: # Enable manual run only
jobs:
build:
# This job will run on ubuntu virtual machine
runs-on: ubuntu-latest
defaults:
run:
working-directory: mobile
steps:
# Setup Java environment in order to build the Android app.
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '11'
# Setup the flutter environment.
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.13.4'
# Fetch sub modules
- run: git submodule update --init --recursive
# Get flutter dependencies.
- run: flutter pub get
- name: Setup keys
uses: timheuer/base64-to-file@v1
with:
fileName: 'keystore/ente_photos_key.jks'
encodedString: MIIKtgIBAzCCCmAGCSqGSIb3DQEHAaCCClEEggpNMIIKSTCCBbAGCSqGSIb3DQEHAaCCBaEEggWdMIIFmTCCBZUGCyqGSIb3DQEMCgECoIIFQDCCBTwwZgYJKoZIhvcNAQUNMFkwOAYJKoZIhvcNAQUMMCsEFK79gn7xhYJEitsqUmz0xz+JLc4SAgInEAIBIDAMBggqhkiG9w0CCQUAMB0GCWCGSAFlAwQBKgQQTQxWP6PdoZlODYFTia9A+QSCBNC6mC1WhOS+OLli5HrFafjF3Escautix5cx0JcVf2LEoRaZR/DP+2e1seOYjFnXT5XQVwwdHF4KNFExYu2ZEZZ7QPuzcCPcfkDL/CWkrtjgF1Sc5+AOuGOkRaa59sk8fF21oXY53q+oYP4VWOzaXAWkyn1XBBhgyYmo++oKTtwO3MUmN0TvaP01P3Y7VjM5tyAbWLiy6Gas4008S0FK17dQcE+Vub5I+WOQV/V0zp5I3V08aaIXXa8igseKghQ6tCv3AIBrrEaKWwT9HBLG5CB29FasAkWWU+k5LBkFuMpIX/ZapiWWA8K78Jaue3P0/hm9DjpYEE62g3yOdybTj0+ATO76FDwnOJTtljc8LXpumK387BtZJNQ3cYqOkTzOXzX6uoxjPCs+U/bqE5DstV8MNlUKrzLGrac6Ge1j0T4RXESN4l6bwZX18EQI8I1ZSFdvtrbS30ijWlDlpSJEA0szwJvXGN1Ki1kqT9rEokkDhWQYYLTbygQyM0doa/5u/dgsfAMcqIDKlUlnwvRXO0Ecw8a+SdkC6wC4G4q6GbMa2b1yfkQdauaXEtpKs7AoqBjTpKPNlH7lcPRnWgLUSHd3gkcu75VPWZbqhGfM71R6wCFKm2UNJDVu/tZjk8HWwjc4TNaQvBscfDQWg0+U6oYb6Fw0mDcv75ArjQMCPyMtLeDCfP3LFQ61hZDj7urWDCHP9mOOCr50LNXZmemkn67+Cigw0y/wPeIQsvXMGRQdog/wLB7brGZJhtiy57IPucAUrxPBz17bndrII6U08XlfaDreYixAylSVFU6Y4y767m4cHANF545MsBggvr8iksU6nirNUXjh4nc0xvMXLaU1XOFhN5IZvEFayptHwDAnj4NJIIWDaK6cH+KkM5da/eVg7X8AmC04HhSuZ3tqU8JAdJqufC+wFPZ+ZF0gHVbLDkiCepRTjWgYo/V/z76Kpn5RI2vW+GcAn4ZBRI9e5NHZx/4nDQ3mt+rurcguqSVVcpLjLFDdoUvE4WUemCUWCCI0q5F5Z6cLnFzGW++eXd4XF//boRnWjtOSqUJiHZNMsBcJ/VJcj2LDavRtc0aMSgi2bYEdhmMH1cUxxvEphHXtYTZ65tKkFk0MC75bNG5ONYsB/tR/9DAkezpRNISDIjK6m6+HRCw4fAoFpMKyFwfjop1WyuhwH9/P1T7hBYpukj7CDXCQndAHbKfpc8Vf7WKf++MWsMKhYdoopQ8AfU3SdHQ5BzwFFkaukUtnbvUm+0XEY7RdcABAsdPNb4c/Yo7emmTzRomzFWLo1peTK91dym9pIFxS6yHeX3YfOQ+z+kh1/wkPCKBgw8ysCgTXxqnSYB1aqpzOz051lKCSJmtndXNxE7+aO8guqiabRMUEUASRdLLMYlZtVc6r2BLpQAL6NYiNP7eDZr64IFQQPirxuyc7Hw5rLzFL9Ti8+3H0RduR3IPo8UqP/tc+fHGnuYbdTFJiXkl6LS50/RSuO+e3xkrkdg8pmXc6JvNeThuAaJ23jloiAXAW2H//AbQODQlUAVNjGrFQzWLAUHm+vm9JGMCZeYxffcNFrSaDwacrVdHugeYyANpXbb0OFlCtMxYLnOemJZ0YP++xoYhctOS7fMpb8u0tDoiuCOH75GbSfjFCMB0GCSqGSIb3DQEJFDEQHg4AZQBuAHQAZQBrAGUAeTAhBgkqhkiG9w0BCRUxFAQSVGltZSAxNzA5NjI2MTA1NTc0MIIEkQYJKoZIhvcNAQcGoIIEgjCCBH4CAQAwggR3BgkqhkiG9w0BBwEwZgYJKoZIhvcNAQUNMFkwOAYJKoZIhvcNAQUMMCsEFMlETYiby0jPuTkh27Fy5CurYH90AgInEAIBIDAMBggqhkiG9w0CCQUAMB0GCWCGSAFlAwQBKgQQscENGZOH0i5Bnl/v64xE8ICCBADCFV9v8X9B0iwKk/fiFEDYy85UTUeo3Fbwyz9cwO0A0tuCyGbMbgaJgQ2BqhJ8zEJ1stjm0FhMwmUmc7Jy7wvvzLkr6XOzK0eQdXyw1RKwn/pRKwsCbl1dT969nDH84Sed/t3r3oOxA2sXYFDLuBREb/DsnwKiAwY95dDdg4QqNEvO9s8AaEz73XG2oBWrYx9jzq3B5DZHJbVYrW47nSvD0Q+zgixWdLCFQ060cfa0ChncEvmW0NTy3tHIz6epRSTGnwKZRQrc/LriL249PalomX1KzEEvZux3Kx2Ofd4OdbxMhD8SgnNuILechyNeVueeAr7vbMfDLJ6YC6gif0QuDiwZYSl/rwHd9DXaY68Gu0SfZuSvy0PAcKs3HoAtLaJsVeDmQ7xKbX3EWkV38iekgN2Twv5FPBlp2oxYaNW9EKfAbFdQV9WV0f4SNppkNKe6B38KRc7FX7oWrdvtD3NHipe6Zvl2HWNEmIU/jFxlxZWQeHmhnFAm2wqUAdselZf9rz/xO3NVmfRwPWTO2sRcNP0LsQ0Mqd+M8yui99r+89gFH6FO7gDYOnXJ9WW6gqY7hvN0Oarvvs/RcfUO1Fw0aPrrrX1SCVewEiftfWp/laL98CaHdzOzfX/bSJ5RV2YjXD8FA2rllG21yXK2f2+PWXoinuyIcm1Zgkvfstu9A7jMC9j8fdzG6BsIHjiZ7pD2U6GYm66r+HSViiST3Mu0a9TF1wiuCRErMmSsMBia9fCdjO1rmjwRq0bvVd47C8wWVpkbGA4p2f7LU1ZkvzRMcTctD5CFwVx+2p94wXguc4BLiO0jHpOMXB4JAM52p2BckrRVAMQ3s+pMw33hyBT39F6pFTnMlXDkNjufcH2+vVFTRi1DH3MYG4AX28POmiWqCWpa4kW1aBRsBW0DiHd8DiFO26mp3gNUSfy1BFocH1hkXMO3ewBnGDgKwz9kxv3hA1vE61SaGlWqLL/ZT83nLvUopEd+rrQmvBsvXc0NpWX/FQcsp4lh41Y+BeMVgIg5GRv0DWq8UKcGpTUxy1/do9wRhCmJURZGBdSCcRIpBKt+IPvNQ+WO2TVPFi8nm0xuYv+rU2pa21tqrKEmh46flsr8sZt3J9UtSpZJCI0FQM0jA6XPzoUxQtgQRR09wr0Hrirgi5FjFJQHzvZO6Uhr45JQ5pVmg8uIZHh2SL6JZKRvHE4mkGVLBbRMQJ1/ef4MVFAxa7jtwGqI7OaGfTiAufJmfbhLk8htJKgk+n5JbnW0YhLSvTrDs8ezUDC9vzxb+Xh3dqamAMj22ObH19kB+4+KZCU1soyQ3CJro/s8+QqefD8IN1WUqgldMBOt/Ktl5eNhm3mukJ7q6aiICXalME0wMTANBglghkgBZQMEAgEFAAQgrEhQ5Tib5/gpn8C1+/SGPptGo91MKNI1JpTCd7v0ob0EFLl4+AC0xvqG7eWPdZ3Af5B7Cw1ZAgInEA==
# Build independent apk.
- name: Build
run: |
file /home/runner/work/_temp/keystore/ente_photos_key.jks
flutter build apk --release --flavor independent && mv build/app/outputs/flutter-apk/app-independent-release.apk build/app/outputs/flutter-apk/ente.apk
env:
SIGNING_KEY_PATH: '/home/runner/work/_temp/keystore/ente_photos_key.jks'
SIGNING_KEY_ALIAS: entekey
SIGNING_KEY_PASSWORD: foobar
SIGNING_STORE_PASSWORD: foobar
- name: Checksum
run: sha256sum build/app/outputs/flutter-apk/ente.apk > build/app/outputs/flutter-apk/sha256sum
# Upload generated apk to the artifacts.
- uses: actions/upload-artifact@v4
with:
name: release-apk
path: build/app/outputs/flutter-apk/ente.apk
- uses: actions/upload-artifact@v4
with:
name: release-checksum
path: build/app/outputs/flutter-apk/sha256sum
# Create a pre-release
# - uses: ncipollo/[email protected]
# with:
# artifacts: "build/app/outputs/flutter-apk/ente.apk,build/app/outputs/flutter-apk/sha256sum"
# token: ${{ secrets.GITHUB_TOKEN }}
# prerelease: true