Skip to content

l2hyunwoo requested a workflow #4

l2hyunwoo requested a workflow

l2hyunwoo requested a workflow #4

# Workflow name
name: baseline-profiles
# Workflow title
run-name: ${{ github.actor }} requested a workflow
# This should be a manual trigger so this actions gets executed every time make a new pull request.
# Change this event to what suits your project best.
# Read more at https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
on:
workflow_dispatch:
pull_request:
branches:
- develop
# Environment variables (Optional)
# Small projects might have signingConfigs locally. This could lead to failures on GitHub Actions.
# If that's the case, upload your properties defined locally to GitHub Secrets.
# On your signingConfigs, you can recover GitHub Secrets using: variable = System.getenv("VARIABLE")
# Then uncomment this block properly defining your uploaded variables
# env:
# VARIABLE: ${{ secrets.VARIABLE }}
# Read more at https://docs.github.com/en/actions/security-guides/encrypted-secrets
# Jobs to executed on GitHub machines
jobs:
# Job name
generate-baseline-profiles:
# Operating system where the job gets to be executed
runs-on: macos-latest
# Job steps
steps:
# Checks your code out on the machine
- uses: actions/checkout@v4
# Sets java up
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
# Sets gradle up
- name: Setup Gradle
uses: gradle/[email protected]
# Grants execute permission to gradle (safety step)
- name: Grant Permissions to gradlew
run: chmod +x gradlew
- name: Add Local Properties
env:
API_KEY: ${{ secrets.SENTRY_DSN }}
DATA_STORE_KEY: ${{ secrets.SENTRY_DSN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
DEV_API: ${{ secrets.SENTRY_DSN }}
NEW_API: ${{ secrets.SENTRY_DSN }}
SOPT_DEV_OPERATION_BASE_URL: ${{ secrets.SOPT_DEV_OPERATION_BASE_URL }}
SOPT_OPERATION_BASE_URL: ${{ secrets.SOPT_OPERATION_BASE_URL }}
KEY_ALIAS: ${{ secrets.SENTRY_DSN }}
KEY_PASSWORD: ${{ secrets.SENTRY_DSN }}
STORE_PASSWORD: ${{ secrets.SENTRY_DSN }}
DEV_AMPLITUDE_KEY: ${{ secrets.SENTRY_DSN }}
AMPLITUDE_KEY: ${{ secrets.SENTRY_DSN }}
POKE_DATA_STORE_KEY: ${{ secrets.SENTRY_DSN }}
run: |
echo sentryDsn=\"$SENTRY_DSN\" >> ./local.properties
echo apiKey=\"$API_KEY\" >> ./local.properties
echo dataStoreKey=\"$DATA_STORE_KEY\" >> ./local.properties
echo devOperationApi=\"$SOPT_DEV_OPERATION_BASE_URL\" >> ./local.properties
echo operationApi=\"$SOPT_OPERATION_BASE_URL\" >> ./local.properties
echo devApi=\"$DEV_API\" >> ./local.properties
echo newApi=\"$NEW_API\" >> ./local.properties
echo keyAlias=\"KEY_ALIAS\" >> ./local.properties
echo keyPassword=\"KEY_PASSWORD\" >> ./local.properties
echo storePassword=\"STORE_PASSWORD\" >> ./local.properties
echo devAmplitudeKey=\"$DEV_AMPLITUDE_KEY\" >> ./local.properties
echo amplitudeKey=\"$AMPLITUDE_KEY\" >> ./local.properties
echo pokeDataStoreKey=\"$POKE_DATA_STORE_KEY\" >> ./local.properties
- name: Access Firebase Service
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json
- name: Build app and benchmark
run: ./gradlew :app:assembleBenchmark
# Cleans managed device if previously settle and space currently is not available
- name: Clean Managed Devices
run: ./gradlew cleanManagedDevices --unused-only
# Generates Baseline Profile
- name: Generate Baseline Profile
run: |
./gradlew generateBaselineProfile \
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" \
-Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile \
-Pandroid.experimental.testOptions.managedDevices.setupTimeoutMinutes=20 \
-Dorg.gradle.workers.max=4
# Create Pull Request
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
commit-message: "Generate baseline profiles"
title: "Generate baseline profiles"
delete-branch: true
reviewers: l2hyunwoo
branch: actions/baseline-profiles