diff --git a/.github/workflows/build_nightly.yml b/.github/workflows/build_nightly.yml new file mode 100644 index 000000000..923f17299 --- /dev/null +++ b/.github/workflows/build_nightly.yml @@ -0,0 +1,34 @@ +#https://github.com/marketplace/actions/android-emulator-runner +name: Build nightly +on: [ push ] + +jobs: + nightly-build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2.3.4 + + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' + + - name: Assemble nighlty APK + shell: bash + run: | + echo ${NIGHTLY_STORE_FILE} | base64 -d > KEY_NIGHTLY.jks + ./gradlew assembleNightly -Dnightly_store_file=KEY_NIGHTLY.jks -Dnightly_store_password="${NIGHTLY_STORE_PASSWORD}" -Dnightly_key_alias="${NIGHTLY_KEY_ALIAS}" -Dnightly_key_password="${NIGHTLY_STORE_PASSWORD}" + env: + NIGHTLY_STORE_FILE: ${{ secrets.NIGHTLY_STORE_FILE }} + NIGHTLY_STORE_PASSWORD: ${{ secrets.NIGHTLY_STORE_PASSWORD }} + NIGHTLY_KEY_ALIAS: ${{ secrets.NIGHTLY_KEY_ALIAS }} + + - name: Archive + if: always() + uses: actions/upload-artifact@v2 + with: + name: OpenTracks-nightly.apk + path: ./build/outputs/apk/nightly/OpenTracks-nightly.apk + retention-days: 7 + diff --git a/build.gradle b/build.gradle index 76bb7f1d7..9a074d3c6 100644 --- a/build.gradle +++ b/build.gradle @@ -62,6 +62,16 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunnerArguments clearPackageData: 'true' } + signingConfigs { + nightly { + if (System.getProperty("nightly_store_file") != null) { + storeFile file(System.getProperty("nightly_store_file")) + storePassword System.getProperty("nightly_store_password") + keyAlias System.getProperty("nightly_key_alias") + keyPassword System.getProperty("nightly_key_password") + } + } + } buildTypes { debug { @@ -69,6 +79,12 @@ android { versionNameSuffix "-debug" } + nightly { + signingConfig signingConfigs.nightly + applicationIdSuffix ".nightly" + versionNameSuffix "-nightly" + } + release { minifyEnabled false }