Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions .github/mini_flows/mandatory_filechanges/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,18 @@ runs:
id: filter
with:
filters: |
md: ['CHANGELOG.md']
src: ['clevertap-core/src/**', 'clevertap-geofence/src/**', 'clevertap-hms/src/**', 'clevertap-pushtemplates/src/**']
mainChangelog: ['CHANGELOG.md']
version: ['gradle/libs.versions.toml']
docsChangelog: ['docs/CTCORECHANGELOG.md', 'docs/CTGEOFENCECHANGELOG.md', 'docs/CTHUAWEIPUSHCHANGELOG.md', 'docs/CTPUSHTEMPLATESCHANGELOG.md']
templatesChangelog: ['templates/CTCORECHANGELOG.md', 'templates/CTGEOFENCECHANGELOG.md', 'templates/CTHUAWEIPUSHCHANGELOG.md', 'templates/CTPUSHTEMPLATESCHANGELOG.md']

- name: FAIL if mandatory files are not changed
if: ${{ steps.filter.outputs.md == 'false' }}
- name: FAIL if src files are changed but release files are not updated
if: ${{ steps.filter.outputs.src == 'true' &&
(steps.filter.outputs.mainChangelog == 'false' || steps.filter.outputs.version == 'false' ||
steps.filter.outputs.docsChangelog == 'false' || steps.filter.outputs.templatesChangelog == 'false') }}
uses: actions/github-script@v3
with:
script: |
core.setFailed('Mandatory markdown files were not changed')
core.setFailed('Mandatory markdown files or versions were not changed')

20 changes: 10 additions & 10 deletions .github/workflows/manually_validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,45 +74,45 @@ jobs:
uses: actions/checkout@v3

- name: Mandatory File Changes
if: ${{ github.event.inputs.check_mandatory }}
if: ${{ github.event.inputs.check_mandatory == 'true' }}
uses: ./.github/mini_flows/mandatory_filechanges

- name: Setup JDK 17.
uses: ./.github/mini_flows/setup_jdk

- name: Run lint tests and Upload results
if: ${{ github.event.inputs.lint }}
if: ${{ github.event.inputs.lint == 'true' }}
uses: ./.github/mini_flows/lint

- name: Static Code Check Via detekt
if: ${{ github.event.inputs.detekt }}
if: ${{ github.event.inputs.detekt == 'true' }}
uses: ./.github/mini_flows/codechecks_detekt

- name: Static Code Check Via checkstyle
if: ${{ github.event.inputs.checkstyle }}
if: ${{ github.event.inputs.checkstyle == 'true' }}
uses: ./.github/mini_flows/codechecks_checkstyle

- name: Unit Tests and Jacoco Coverage (DEBUG)
if: ${{ github.event.inputs.jacoco_debug }}
if: ${{ github.event.inputs.jacoco_debug == 'true' }}
uses: ./.github/mini_flows/test_and_coverage_debug

- name: Unit Tests and Jacoco Coverage (RELEASE)
if: ${{ github.event.inputs.jacoco_release }}
if: ${{ github.event.inputs.jacoco_release == 'true' }}
uses: ./.github/mini_flows/test_and_coverage_release

- name: Unit Tests(DEBUG)
if: ${{ github.event.inputs.test_debug }}
if: ${{ github.event.inputs.test_debug == 'true' }}
uses: ./.github/mini_flows/test_debug

- name: Unit Tests(RELEASE)
if: ${{ github.event.inputs.test_release }}
if: ${{ github.event.inputs.test_release == 'true' }}
uses: ./.github/mini_flows/test_release


- name: Build AARs (DEBUG)
if: ${{ github.event.inputs.build_debug }}
if: ${{ github.event.inputs.build_debug == 'true' }}
uses: ./.github/mini_flows/build_code_debug

- name: Build AARs (RELEASE)
if: ${{ github.event.inputs.build_release }}
if: ${{ github.event.inputs.build_release == 'true'}}
uses: ./.github/mini_flows/build_code_release
134 changes: 134 additions & 0 deletions .github/workflows/sample_app_builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Sample App Build
on:
workflow_dispatch:
inputs:
build_debug_apk:
description: Build Debug APK
type: boolean
default: true
required: false

build_debug_bundle:
description: Build Debug Bundle
type: boolean
default: false
required: false

build_release_apk:
description: Build Release APK
type: boolean
default: false
required: false

build_release_bundle:
description: Build Release Bundle
type: boolean
default: false
required: false


jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout the code from Repo
uses: actions/checkout@v3

- name: Setup JDK 17.
uses: ./.github/mini_flows/setup_jdk

- name: Build Debug APK
if: ${{ inputs.build_debug_apk == 'true'}}
run: |
./gradlew :sample:assembleRemoteDebug

- name: Build Debug Bundle
if: ${{ inputs.build_debug_apk == 'true'}}
run: |
./gradlew :sample:bundleRemoteDebug

- name: Build Release APK
if: ${{ inputs.build_release_apk == 'true'}}
run: |
./gradlew :sample:assembleRemoteRelease


- name: Build Release Bundle
if: ${{ inputs.build_release_bundle == 'true'}}
run: |
./gradlew :sample:bundleRemoteRelease

- name: Upload Debug APK
if: ${{ inputs.build_debug_apk == 'true' }}
uses: actions/upload-artifact@v3
with:
name: sample-debug-apk
path: sample/build/outputs/apk/remote/debug/*.apk

- name: Upload Debug Bundle
if: ${{ inputs.build_debug_bundle == 'true'}}
uses: actions/upload-artifact@v3
with:
name: sample-debug-bundle
path: sample/build/outputs/bundle/remoteDebug/*.aab

- name: Upload Release APK
if: ${{ inputs.build_release_apk == 'true'}}
uses: actions/upload-artifact@v3
with:
name: sample-release-apk
path: sample/build/outputs/apk/remote/release/*.apk


- name: Upload Release Bundle
if: ${{ inputs.build_release_bundle == 'true'}}
uses: actions/upload-artifact@v3
with:
name: sample-release-bundle
path: sample/build/outputs/bundle/remoteRelease/*.aab

# - name: Decode secret files
# env:
# BR_KEY_BASE64: ${{ secrets.BR_KEY_BASE64 }}
# LOCAL_PROPERTIES_BASE64: ${{ secrets.LOCAL_PROPERTIES_BASE64 }}
# GOOGLE_SERVICES_BASE64: ${{ secrets.GOOGLE_SERVICES_BASE64 }}
# AGCONNECT_SERVICES_BASE64: ${{ secrets.AGCONNECT_SERVICES_BASE64 }}
# run: |
# echo "$BR_KEY_BASE64" | base64 --decode > BRKey
# echo "$LOCAL_PROPERTIES_BASE64" | base64 --decode > local.properties
# echo "$GOOGLE_SERVICES_BASE64" | base64 --decode > BeardedRobot/google-services.json
# echo "$AGCONNECT_SERVICES_BASE64" | base64 --decode > BeardedRobot/agconnect-services.json
#
# - name: Grant execute permission for gradlew
# run: chmod +x gradlew
#
# - name: Build APK
# if: ${{ inputs.buildOutput == 'apk' || inputs.buildOutput == 'both' }}
# run: |
# ./gradlew assembleRelease -Porg.gradle.jvmargs=-Xmx1024m \
# -Pcom.clevertap.sdkRepoRelativeLocation=../clevertap-android-sdk \
# -Pcom.clevertap.version.suffix=${{ env.BR_VERSION_SUFFIX }} \
# -Pcom.clevertap.version.qa=${{ inputs.qaVersion }}
#
# - name: Build Bundle
# if: ${{ inputs.buildOutput == 'bundle' || inputs.buildOutput == 'both' }}
# run: |
# ./gradlew bundleRelease -Porg.gradle.jvmargs=-Xmx1024m \
# -Pcom.clevertap.sdkRepoRelativeLocation=../clevertap-android-sdk \
# -Pcom.clevertap.version.suffix=${{ env.BR_VERSION_SUFFIX }} \
# -Pcom.clevertap.version.qa=${{ inputs.qaVersion }}
#
# - name: Upload APK
# if: ${{ inputs.buildOutput == 'apk' || inputs.buildOutput == 'both' }}
# uses: actions/upload-artifact@v4
# with:
# name: apk-${{ env.BR_VERSION_SUFFIX }}-${{ inputs.qaVersion }}
# path: BeardedRobot/BeardedRobot/build/outputs/apk/release/*.apk
#
# - name: Upload Bundle
# if: ${{ inputs.buildOutput == 'bundle' || inputs.buildOutput == 'both' }}
# uses: actions/upload-artifact@v4
# with:
# name: bundle-${{ env.BR_VERSION_SUFFIX }}-${{ inputs.qaVersion }}
# path: BeardedRobot/BeardedRobot/build/outputs/bundle/release/*.aab
10 changes: 10 additions & 0 deletions docs/CTCORECHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
* Fixes an issue of incorrect endpoint in the case of network handshake.
* Fixes a bug in Client Side InApps with regards to frequency limits.

For developers with [BACKGROUND_SYNC](https://developer.clevertap.com/docs/android-push#pull-notification) enabled in their previous app version and now upgrading to _clevertap-android-sdk v6.1.0+_, please add this to your `AndroidManifest.xml` to avoid `ClassNotFoundException` related crashes

```xml
<service
android:name="com.clevertap.android.sdk.pushnotification.amp.CTBackgroundJobService"
android:exported="false"
android:enabled="false"
tools:ignore="MissingClass"/>
```

### Version 6.1.0 (February 21, 2024)
> ⚠️ **NOTE**
Please update to 6.1.1 and above
Expand Down
10 changes: 10 additions & 0 deletions templates/CTCORECHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
* Fixes an issue of incorrect endpoint in the case of network handshake.
* Fixes a bug in Client Side InApps with regards to frequency limits.

For developers with [BACKGROUND_SYNC](https://developer.clevertap.com/docs/android-push#pull-notification) enabled in their previous app version and now upgrading to _clevertap-android-sdk v6.1.0+_, please add this to your `AndroidManifest.xml` to avoid `ClassNotFoundException` related crashes

```xml
<service
android:name="com.clevertap.android.sdk.pushnotification.amp.CTBackgroundJobService"
android:exported="false"
android:enabled="false"
tools:ignore="MissingClass"/>
```

### Version 6.1.0 (February 21, 2024)
> ⚠️ **NOTE**
Please update to 6.1.1 and above
Expand Down