Skip to content

[Feature] RankingScreen data 로직을 연결합니다. #229

[Feature] RankingScreen data 로직을 연결합니다.

[Feature] RankingScreen data 로직을 연결합니다. #229

Workflow file for this run

name: Android Build Test Lint CI
on:
push:
branches:
- "main"
- "develop"
- "Release/*"
pull_request:
branches:
- "main"
- "develop"
- "Release/*"
jobs:
pre-steps:
runs-on: ubuntu-latest
outputs:
changed_modules: ${{ steps.get-modules.outputs.changed_modules }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Load Google Service file
env:
DATA: ${{ secrets.GOOGLE_SERVICES_JSON }}
run: echo $DATA | base64 -di > app/google-services.json
- name: Create local.properties
env:
LOCAL_PROPERTIES_CONTENTS: ${{ secrets.LOCAL_PROPERTIES_CONTENTS }}
run: echo "${LOCAL_PROPERTIES_CONTENTS}" > local.properties
- name: Determine changed modules
id: get-modules
run: |
CHANGED_MODULES=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '^modules/' | cut -d'/' -f1 | sort | uniq)
echo "changed_modules=$CHANGED_MODULES" >> $GITHUB_ENV
build:
runs-on: ubuntu-latest
needs: pre-steps
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache Gradle for Build
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-build-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-build-
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Selective Build
run: |
if [[ -n "${{ env.changed_modules }}" ]]; then
for module in ${{ env.changed_modules }}; do
echo "Building $module"
./gradlew $module:assemble
done
else
echo "No changes detected in modules."
fi
env:
changed_modules: ${{ needs.pre-steps.outputs.changed_modules }}
test:
runs-on: ubuntu-latest
needs: pre-steps
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache Gradle for Test
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-test-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-test-
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Selective Test
run: |
if [[ -n "${{ env.changed_modules }}" ]]; then
for module in ${{ env.changed_modules }}; do
echo "Testing $module"
./gradlew $module:test
done
else
echo "No changes detected in modules."
fi
env:
changed_modules: ${{ needs.pre-steps.outputs.changed_modules }}
lint:
runs-on: ubuntu-latest
needs: pre-steps
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache Gradle for Lint
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-lint-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-lint-
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Selective Lint
run: |
if [[ -n "${{ env.changed_modules }}" ]]; then
for module in ${{ env.changed_modules }}; do
echo "Linting $module"
./gradlew $module:ktlintCheck
done
else
echo "No changes detected in modules."
fi
env:
changed_modules: ${{ needs.pre-steps.outputs.changed_modules }}