Skip to content

Continuous Delivery #4000

Continuous Delivery

Continuous Delivery #4000

name: Continuous Delivery
env:
main_project_module: app
on:
workflow_dispatch:
push:
branches:
- main
- develop
- release/*
pull_request:
branches:
- main
- develop
- release/*
jobs:
deployment_job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
# Set Current Date
- name: Set current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
# Set Repository Name As Env Variable
- name: Set repository name as env variable
run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
- name: Set Up JDK
uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- name: Change wrapper permissions
run: chmod +x ./gradlew
# Create APK Debug
- name: Build apk debug project (APK) - ${{ env.main_project_module }} module
run: ./gradlew --dependency-verification lenient assembleDhis2Debug
env:
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
- name: Read version name from file
working-directory: ./gradle
id: read-version
run: echo "vName=$(grep 'vName' libs.versions.toml | awk -F' = ' '{print $2}' | tr -d '"')" >> "$GITHUB_OUTPUT"
- name: Get JIRA issue number
id: jira-issue-number
run: |
BRANCH_NAME="${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}"
JIRA_ISSUE=$(echo "$BRANCH_NAME" | grep -oE '[a-zA-Z]+-[0-9]+' | head -1 || echo "$BRANCH_NAME")
echo "issue=$JIRA_ISSUE" >> "$GITHUB_OUTPUT"
# Upload Artifact Build
- name: Upload Android artifacts
uses: actions/[email protected]
with:
name: ${{ env.repository_name }} - Android APK - ${{ steps.date.outputs.date }}
path: ${{ env.main_project_module }}/build/outputs/apk/dhis2/debug/dhis2-v${{ steps.read-version.outputs.vName }}-${{ steps.jira-issue-number.outputs.issue}}.apk