# 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: # 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@v3 # Sets java up - uses: actions/setup-java@v3 with: distribution: temurin java-version: 17 # Sets gradle up - name: Setup Gradle uses: gradle/gradle-build-action@v2 # Grants execute permission to gradle (safety step) - name: Grant Permissions to gradlew run: chmod +x gradlew # This allows us to build most of what we need without the emulator running # and using resources - 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@v5 with: commit-message: "Generate baseline profiles" title: "Generate baseline profiles" delete-branch: true reviewers: skydoves branch: actions/baseline-profiles