-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(build): refactor on_tag_workflow
SUITEDEV-35510 Co-authored-by: Andras Sarro <[email protected]>
- Loading branch information
1 parent
329f592
commit 8d67dd2
Showing
1 changed file
with
24 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,23 @@ on: | |
- '*.*.*' | ||
|
||
env: | ||
USE_LOCAL_DEPENDENCY: ${{ vars.USE_LOCAL_DEPENDENCY }} | ||
RELEASE_MODE: true | ||
ANDROID_RELEASE_STORE_FILE_BASE64: ${{ secrets.ANDROID_RELEASE_STORE_FILE_BASE64 }} | ||
ANDROID_RELEASE_STORE_PASSWORD: ${{ secrets.ANDROID_RELEASE_STORE_PASSWORD }} | ||
ANDROID_RELEASE_KEY_ALIAS: ${{ secrets.ANDROID_RELEASE_KEY_ALIAS }} | ||
ANDROID_RELEASE_KEY_PASSWORD: ${{ secrets.ANDROID_RELEASE_KEY_PASSWORD }} | ||
FIREBASE_PROJECT_ID: ${{ vars.FIREBASE_PROJECT_ID }} | ||
FIREBASE_SERVICE_ACCOUNT_JSON: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_JSON }} | ||
GOOGLE_OAUTH_SERVER_CLIENT_ID: ${{ secrets.GOOGLE_OAUTH_SERVER_CLIENT_ID }} | ||
GOOGLE_SERVICES_JSON_BASE64: ${{ secrets.GOOGLE_SERVICES_JSON_BASE64 }} | ||
GOOGLE_PLAY_STORE_SEVICE_ACCOUNT_JSON_BASE64: ${{ secrets.GOOGLE_PLAY_STORE_SEVICE_ACCOUNT_JSON_BASE64 }} | ||
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} | ||
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | ||
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }} | ||
SONATYPE_SIGNING_KEY_ID: ${{ secrets.SONATYPE_SIGNING_KEY_ID }} | ||
SONATYPE_SIGNING_PASSWORD: ${{ secrets.SONATYPE_SIGNING_PASSWORD }} | ||
SONATYPE_SIGNING_SECRET_KEY_RING_FILE_BASE64: ${{ secrets.SONATYPE_SIGNING_SECRET_KEY_RING_FILE_BASE64 }} | ||
RELEASE_KEY_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD }} | ||
RELEASE_KEY_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }} | ||
RELEASE_STORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | ||
|
@@ -17,9 +34,6 @@ env: | |
SLACK_USERNAME: Emarsys SDK - Android | ||
EXCLUDE_GOOGLE_SERVICES_API_KEY: true | ||
SIGNING_SECRET_KEY_RING_FILE: /home/runner/work/android-emarsys-sdk/android-emarsys-sdk/secring.asc.gpg | ||
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} | ||
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | ||
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }} | ||
SIGNING_KEYID: ${{ secrets.SIGNING_KEYID }} | ||
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} | ||
|
||
|
@@ -38,120 +52,20 @@ jobs: | |
with: | ||
distribution: 'temurin' | ||
java-version: 17 | ||
- name: create-google services json | ||
uses: jsdaniell/[email protected] | ||
with: | ||
name: google-services.json | ||
json: ${{ secrets.GOOGLE_SERVICES_JSON }} | ||
dir: sample | ||
|
||
- name: setup RELEASE_VERSION | ||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
|
||
- name: Create release keystore file | ||
shell: bash | ||
run: | | ||
echo "${{ secrets.ANDROID_KEYSTORE }}" > mobile-team-android.jks.asc | ||
gpg -d --passphrase "${{ secrets.ANDROID_GPG_PASSWORD }}" --batch mobile-team-android.jks.asc > sample/mobile-team-android.jks | ||
- name: Create mavenCentral keystore file | ||
shell: bash | ||
run: | | ||
echo "${{ secrets.SIGNING_KEY_FILE_ASC }}" > secring.asc | ||
gpg --dearmor secring.asc > secring.gpg | ||
- name: create local.properties | ||
run: echo $ANDROID_HOME > local.properties | ||
- name: Prepare CI | ||
run: make prepare-ci | ||
|
||
- name: Release with Gradle | ||
run: ./gradlew clean assembleRelease && ./gradlew publishToSonatype | ||
|
||
CreateSampleReleaseBundle: | ||
name: Create release bundle from sample app | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
fetch-depth: 0 # 0 indicates all history | ||
- run: git fetch --all || echo "==> Accept any result" | ||
- name: set up JDK 1.17 | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'temurin' | ||
java-version: 17 | ||
- name: create-google services json | ||
uses: jsdaniell/[email protected] | ||
with: | ||
name: google-services.json | ||
json: ${{ secrets.GOOGLE_SERVICES_JSON }} | ||
dir: sample | ||
|
||
- name: create local.properties | ||
run: echo $ANDROID_HOME > local.properties | ||
|
||
- name: setup RELEASE_VERSION | ||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
|
||
- name: Create release keystore file | ||
shell: bash | ||
run: | | ||
echo "${{ secrets.ANDROID_KEYSTORE }}" > mobile-team-android.jks.asc | ||
gpg -d --passphrase "${{ secrets.ANDROID_GPG_PASSWORD }}" --batch mobile-team-android.jks.asc > sample/mobile-team-android.jks | ||
- name: Create release sample app with Gradle | ||
run: ./gradlew :sample:bundleRelease | ||
|
||
- name: Upload bundle | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: mobile-sdk-sample | ||
path: sample/build/outputs/bundle/release/sample-release.aab | ||
|
||
ReleaseSample: | ||
name: Release sample app | ||
runs-on: ubuntu-latest | ||
needs: [Release, CreateSampleReleaseBundle] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
fetch-depth: 0 # 0 indicates all history | ||
- run: git fetch --all || echo "==> Accept any result" | ||
|
||
- name: Download sample app | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: mobile-sdk-sample | ||
|
||
- name: create-google services json | ||
uses: jsdaniell/[email protected] | ||
with: | ||
name: google-play-services.json | ||
json: ${{ secrets.GOOGLE_PLAY_STORE_SEVICE_ACCOUNT_JSON }} | ||
|
||
- name: Playstore upload | ||
uses: r0adkll/[email protected] | ||
with: | ||
serviceAccountJson: google-play-services.json | ||
packageName: com.emarsys.sample | ||
releaseFiles: sample-release.aab | ||
- name: setup RELEASE_VERSION | ||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
- name: Create Release Page | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ env.RELEASE_VERSION }} | ||
release_name: ${{ github.ref }} | ||
body_path: changelog.md | ||
draft: false | ||
prerelease: false | ||
run: make release | ||
|
||
SlackNotification: | ||
name: Send slack notification | ||
runs-on: ubuntu-latest | ||
needs: [ReleaseSample] | ||
needs: [Release] | ||
steps: | ||
- name: setup RELEASE_VERSION | ||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
|
@@ -188,10 +102,11 @@ jobs: | |
job_status: 'success' | ||
user_icon: '${{env.SLACK_ICON}}' | ||
actions: '[{ "type": "button", "text": "View actions", "url": "https://github.com/emartech/android-emarsys-sdk/actions" },{ "type": "button", "text": "View Firebase", "url": "https://console.firebase.google.com/project/ems-mobile-sdk/testlab/histories/" },{ "type": "button", "text": "Install page", "url": "http://ems-mobileteam-artifacts.s3-website-eu-west-1.amazonaws.com/index-ems.html" }]' | ||
|
||
CreateJiraTicket: | ||
name: Create Jira ticket | ||
runs-on: ubuntu-latest | ||
needs: [ReleaseSample] | ||
needs: [Release] | ||
steps: | ||
- name: Login to Jira | ||
uses: atlassian/gajira-login@master | ||
|
@@ -215,7 +130,7 @@ jobs: | |
OnError: | ||
name: Handle on Error | ||
runs-on: ubuntu-latest | ||
needs: [ReleaseSample] | ||
needs: [Release] | ||
if: ${{ failure() }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|