Feat/upload profile image resource #185
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: Android CI | |
on: | |
pull_request: | |
branches: [ master, develop, release ] | |
push: | |
branches: [ master, develop, release ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set Timezone to Asia/Seoul | |
uses: szenius/set-timezone@v2.0 | |
with: | |
timezoneLinux: "Asia/Seoul" | |
timezoneMacos: "Asia/Seoul" | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
cache: gradle | |
- name: Decode Keystore | |
run: | | |
echo "${{ secrets.DEBUG_KEY }} > lanpet_debug_key_encoded" | |
echo "base64 -d -i lanpet_debug_key_encoded -o lanpet_debug_key" | |
- name: Create keyStore.properties file from github secrets | |
run: | | |
echo "Creating keyStore.properties..." | |
echo "debug.keyAlias=${{ secrets.DEBUG_KEY_ALIAS }}" >> keyStore.properties | |
echo "debug.keyPassword=${{ secrets.DEBUG_KEY_PASSWORD }}" >> keyStore.properties | |
echo "debug.storePassword=${{ secrets.DEBUG_STORE_PASSWORD }}" >> keyStore.properties | |
echo "debug.keystore=lanpet_debug_key" >> keyStore.properties | |
- name: Create local.properties file from github secrets | |
run: | | |
echo "Creating local.propperties..." | |
echo "GOOGLE_OAUTH_CLIENT_KEY=\"${{secrets.GOOGLE_OAUTH_CLIENT_KEY}}\"" >> local.properties | |
echo "sdk.dir=$ANDROID_HOME" >> local.properties | |
# - name: Check if files exist | |
# run: | | |
# if [ ! -f "lanpet_debug_key" ]; then | |
# echo "Error: lanpet_debug_key file not found" | |
# exit 1 | |
# fi | |
# if [ ! -f "keyStore.properties" ]; then | |
# echo "Error: keyStore.properties file not found" | |
# exit 1 | |
# fi | |
# if [ ! -f "local.properties" ]; then | |
# echo "Error: local.properties file not found" | |
# exit 1 | |
# fi | |
# echo "All required files exist" | |
# # 파일 내용이 비어있지 않은지도 확인 | |
# if [ ! -s "keyStore.properties" ]; then | |
# echo "Error: keyStore.properties is empty" | |
# exit 1 | |
# fi | |
# if [ ! -s "local.properties" ]; then | |
# echo "Error: local.properties is empty" | |
# exit 1 | |
# fi | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Run ktlint | |
run: ./gradlew ktlintCheck | |
- name: Run Unit Tests | |
run: ./gradlew test | |
# - name: Run Instrumented Tests | |
# uses: reactivecircus/android-emulator-runner@v2 | |
# with: | |
# api-level: 29 | |
# script: ./gradlew connectedAndroidTest | |
# - name: Upload Test Reports | |
# if: always() # 테스트 결과는 실패해도 항상 업로드 | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: test-reports | |
# path: app/build/reports/ |