Skip to content

Continuous deployment #310

Continuous deployment

Continuous deployment #310

name: Continuous deployment
env:
main_project_module: android
on:
push:
branches:
- develop # Automatically generates snapshot versions
- release/* # Automatically generates release versions
workflow_dispatch: ## manually generates release versions
inputs:
release_version:
description: 'Please, enter the release version'
required: true
type: string
jobs:
publish-maven:
# The type of runner that the job will run on
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set Up JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- name: Change wrapper permissions
run: chmod +x ./gradlew
- name: Publish to maven
run: ./.github/workflows/scripts/publish-maven.sh
env:
OSSRH_USERNAME: ${{ secrets.SONATYPE_OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.SONATYPE_OSSRH_PASSWORD }}
SIGNING_PRIVATE_KEY: ${{ secrets.PGP_PRIVATE_KEY }}
SIGNING_PASSWORD: ${{ secrets.PGP_PASSPHRASE }}
publish_github:
runs-on: ubuntu-latest
if: ${{ (inputs.release_version) && (inputs.release_version != '') }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
cache: 'gradle'
- name: Change wrapper permissions
run: chmod +x ./gradlew
- name: Build Android (APK) - ${{ env.main_project_module }} module
run: ./gradlew assembleDebug
- name: Rename APK
run: |
mv ${{ env.main_project_module }}/build/outputs/apk/debug/android-debug.apk ${{ env.main_project_module }}/build/outputs/apk/debug/ui-components-android-${{ inputs.release_version }}.apk
- name: Github Release
uses: ncipollo/release-action@v1.14.0
with:
allowUpdates: true
draft: true
generateReleaseNotes: true
name: "Release notes - DHIS2 Design system: ${{ inputs.release_version }}"
tag: ${{ inputs.release_version }}
artifacts: ${{ env.main_project_module }}/build/outputs/apk/debug/ui-components-android-${{ inputs.release_version }}.apk