v2.6.11 align kotlin v1.9.24 #286
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
name: WalletAndroid-SDK | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
environment: | |
description: Configuration environment | |
required: true | |
default: 'dev' | |
type: choice | |
options: | |
- dev | |
- rc | |
- prod | |
env: | |
PACKAGE_TYPE: "aar" | |
GRADLE_VERSION: "8.4" | |
JAVA_VERSION: "17" | |
ARTIFACT_PATH: "VCL/build/outputs" | |
GLOBAL_ENV: ${{ github.event_name == 'push' && format('{0}', 'dev') || inputs.environment }} | |
jobs: | |
test-android-sdk: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v4 | |
# Setup java | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: ${{ env.JAVA_VERSION }} | |
# Run test | |
- name: Run Test | |
run: ./gradlew test | |
build-android-sdk: | |
runs-on: ubuntu-latest | |
needs: | |
- test-android-sdk | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v4 | |
# Setup java | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: ${{ env.JAVA_VERSION }} | |
# Gradle Assemble | |
- name: Gradle Assemble | |
run: ./gradlew assemble${{ env.RELEASE_TAG }} | |
env: | |
RELEASE_TAG: ${{ env.GLOBAL_ENV == 'prod' && format('{0}', 'Release' ) || 'Rc' }} | |
# Convert artifact to lowercase | |
- name: Rename artifact to lowercase | |
run: mv ${{ env.ARTIFACT_PATH}}/${{ env.PACKAGE_TYPE }}/VCL-${{ env.RELEASE_TAG }}.${{ env.PACKAGE_TYPE }} ${{ env.ARTIFACT_PATH }}/${{ env.PACKAGE_TYPE }}/vcl-${{ env.RELEASE_TAG }}.${{ env.PACKAGE_TYPE }} | |
env: | |
RELEASE_TAG: ${{ env.GLOBAL_ENV == 'prod' && format('{0}', 'release' ) || 'rc' }} | |
# Show Me Built packages | |
- name: Show Me Built packages | |
run: ls -al ${{ env.ARTIFACT_PATH}}/${{ env.PACKAGE_TYPE }}/ | |
- name: Export Nexus Private Key | |
run: echo "signingPrivateKey=${{ secrets.ANDROID_NEXUS_PRIVATE_KEY }}" >> nexus.properties | |
# Publish Prod/Rc | |
- name: Publish Prod/Rc | |
if: ${{ env.GLOBAL_ENV == 'prod' || env.GLOBAL_ENV == 'rc' }} | |
run: ./gradlew publish${{ env.RELEASE_TAG }} | |
env: | |
RELEASE_TAG: ${{ env.GLOBAL_ENV == 'prod' && format('{0}', 'Release' ) || 'Rc' }} | |
ANDROID_NEXUS_OSSRH_TOKEN_USERNAME: ${{ secrets.ANDROID_NEXUS_OSSRH_TOKEN_USERNAME }} | |
ANDROID_NEXUS_OSSRH_TOKEN_PASSWORD: ${{ secrets.ANDROID_NEXUS_OSSRH_TOKEN_PASSWORD }} | |
ANDROID_NEXUS_SIGNING_KEY_ID: ${{ secrets.ANDROID_NEXUS_SIGNING_KEY_ID }} | |
ANDROID_NEXUS_SIGNING_PASSWORD: ${{ secrets.ANDROID_NEXUS_SIGNING_PASSWORD }} | |
ANDROID_NEXUS_STAGING_PROFILE_ID: ${{ secrets.ANDROID_NEXUS_STAGING_PROFILE_ID }} | |
# Upload Artifacts | |
- name: Upload Artifact | |
if: success() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: vcl-${{ env.RELEASE_TAG }}.${{ env.PACKAGE_TYPE }} | |
path: ${{ env.ARTIFACT_PATH }}/${{ env.PACKAGE_TYPE }} | |
if-no-files-found: error | |
retention-days: 1 | |
env: | |
RELEASE_TAG: ${{ env.GLOBAL_ENV == 'prod' && format('{0}', 'release' ) || 'rc' }} | |