Skip to content

[Core] CD Pipeline

[Core] CD Pipeline #7

Workflow file for this run

name: Android CI
on:
pull_request:
branches: ["develop"]
jobs:
cd-build:
env:
TITLE: ${{ github.event.pull_request.title }}
KEYSTORE: ${{ secrets.DODAM_KEYSTORE }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Check Env
run: |
echo '${{ env.KEYSTORE }}'
- name: Generate Keystore File
run: |
echo '${{ env.KEYSTORE }}' | base64 --d > ./dodam.jks
ls
- name: 버전 이름 추출
id: extract_version
run: echo "version=v$(echo '${{ env.TITLE }}' | grep -oP 'release v\\K[0-9]+\\.[0-9]+\\.[0-9]+')"
- name: 버전 출력
run: echo "Extract Version ${{ env.version }}"
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run Student spotless
if: startsWith(env.TITLE, 'Student')
run: ./gradlew dodam-student:spotlessCheck
- name: Assemble Release Bundle
run: ./gradlew bundleRelease
- name: Sign Release
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: ./dodam-student/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.DODAM_KEYSTORE }}
keyStorePassword: ${{ secrets.DODAM_KEYSTORE_PASSWORD }}
alias: ${{ secrets.DODAM_KEYSTORE_ALIAS }}
keyPassword: ${{ secrets.DODAM_KEYSTORE_PASSWORD }}
- name: Setup Authorization With Google Play Store
run: echo '${{ secrets.DODAM_GOOGLE_PLAY_API_AUTH }}' > service_account.json
- name: Deploy to Internal Channel
uses: r0adkll/[email protected]
with:
serviceAccountJson: service_account.json
packageName: com.b1nd.dodam.student
releaseFiles: ./dodam-student/build/outputs/bundle/release/dodam-student-release.aab
track: internal
status: 'completed'
whatsNewDirectory: whatsNewDirectory/