Bird
Raised Fist0
Android Kotlinmobile~5 mins

CI/CD with GitHub Actions in Android Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is GitHub Actions used for in CI/CD?
GitHub Actions automates tasks like building, testing, and deploying code whenever you push changes to your repository.
Click to reveal answer
beginner
What file defines a GitHub Actions workflow?
A workflow is defined in a YAML file located in the .github/workflows/ folder of your repository.
Click to reveal answer
intermediate
What triggers can start a GitHub Actions workflow?
Workflows can start on events like push, pull_request, or on a schedule using cron.
Click to reveal answer
intermediate
How do you specify the environment for running jobs in GitHub Actions?
You specify the environment using the runs-on key, for example runs-on: ubuntu-latest to use a Linux machine.
Click to reveal answer
beginner
What is a 'job' in GitHub Actions?
A job is a set of steps that run on the same runner. Jobs can run sequentially or in parallel.
Click to reveal answer
Where do you place the workflow YAML files in a GitHub repository?
Aroot directory
Bsrc/main/
C.github/workflows/
Dconfig/actions/
Which event can trigger a GitHub Actions workflow?
Acompile
Bpush
Crun
Dinstall
What does the 'runs-on' key specify in a GitHub Actions job?
AThe workflow name
BThe programming language version
CThe repository branch
DThe operating system of the runner
How can you run multiple jobs at the same time in GitHub Actions?
ABy defining multiple jobs without dependencies
BBy using a single job with many steps
CBy running workflows sequentially
DBy using cron schedules
Which file format is used to write GitHub Actions workflows?
AYAML
BJSON
CXML
DTXT
Explain how a simple CI workflow for an Android Kotlin app can be set up using GitHub Actions.
Think about the sequence from code push to build and test.
You got /5 concepts.
    Describe the benefits of using GitHub Actions for CI/CD in your projects.
    Focus on how it saves time and reduces manual work.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using GitHub Actions in an Android Kotlin project?
      easy
      A. To automate building and testing the app on code changes
      B. To write Kotlin code faster
      C. To manually deploy the app to users
      D. To edit the AndroidManifest.xml file

      Solution

      1. Step 1: Understand GitHub Actions role

        GitHub Actions automates tasks like building and testing when code changes.
      2. Step 2: Identify the main benefit

        This automation helps keep the app healthy without manual work.
      3. Final Answer:

        To automate building and testing the app on code changes -> Option A
      4. Quick Check:

        Automation = building and testing [OK]
      Hint: GitHub Actions automates tasks on code changes [OK]
      Common Mistakes:
      • Thinking it writes code automatically
      • Confusing manual deployment with automation
      • Assuming it edits app files directly
      2. Which of the following is the correct way to specify a job that runs on Ubuntu in a GitHub Actions workflow YAML file?
      easy
      A. runs-on: ubuntu-latest
      B. runs: ubuntu-latest
      C. run-on: ubuntu-latest
      D. runs_on: ubuntu-latest

      Solution

      1. Step 1: Recall GitHub Actions syntax for runner

        The correct key is runs-on with a hyphen.
      2. Step 2: Match the correct option

        runs-on: ubuntu-latest uses runs-on: ubuntu-latest, which is valid syntax.
      3. Final Answer:

        runs-on: ubuntu-latest -> Option A
      4. Quick Check:

        Key is runs-on with hyphen [OK]
      Hint: Remember: 'runs-on' uses a hyphen, not underscore or other [OK]
      Common Mistakes:
      • Using underscore instead of hyphen
      • Using 'runs' or 'run-on' keys incorrectly
      • Confusing key names with similar words
      3. Given this GitHub Actions step in a workflow:
      steps:
        - name: Build Debug APK
          run: ./gradlew assembleDebug

      What will this step do when the workflow runs?
      medium
      A. It deploys the app to the Google Play Store
      B. It runs unit tests only
      C. It cleans the project without building
      D. It runs the Gradle command to build the debug version of the app

      Solution

      1. Step 1: Understand the Gradle command

        ./gradlew assembleDebug builds the debug APK of the app.
      2. Step 2: Identify the step action

        The step runs this command, so it builds the debug version.
      3. Final Answer:

        It runs the Gradle command to build the debug version of the app -> Option D
      4. Quick Check:

        assembleDebug = build debug APK [OK]
      Hint: assembleDebug builds debug APK, not tests or deploys [OK]
      Common Mistakes:
      • Confusing assembleDebug with deploy commands
      • Thinking it runs tests only
      • Assuming it cleans the project
      4. You wrote this GitHub Actions workflow snippet:
      jobs:
        build:
          runs-on: ubuntu-latest
          steps:
            - name: Checkout code
              uses: actions/checkout@v2
            - name: Build APK
              run: gradlew assembleDebug

      Why might this workflow fail during the build step?
      medium
      A. Because 'actions/checkout@v2' is an invalid action
      B. Because the command should be './gradlew assembleDebug' with './' prefix
      C. Because 'runs-on' should be 'runs_on'
      D. Because the job name 'build' is not allowed

      Solution

      1. Step 1: Check the build command syntax

        The Gradle wrapper command needs './gradlew' to run the local script.
      2. Step 2: Identify the error cause

        Missing './' causes 'gradlew' not found error, failing the build step.
      3. Final Answer:

        Because the command should be './gradlew assembleDebug' with './' prefix -> Option B
      4. Quick Check:

        Use './gradlew' to run Gradle wrapper [OK]
      Hint: Always prefix Gradle wrapper with './' in Linux runners [OK]
      Common Mistakes:
      • Omitting './' before gradlew
      • Thinking action version is invalid
      • Misnaming 'runs-on' key
      • Assuming job names are restricted
      5. You want your GitHub Actions workflow to run tests only when Kotlin source files change. Which trigger configuration correctly achieves this?
      hard
      A. on: schedule: - cron: '0 0 * * *'
      B. on: push: branches: - main
      C. on: push: paths: - '**/*.kt'
      D. on: pull_request: paths-ignore: - '**/*.kt'

      Solution

      1. Step 1: Understand GitHub Actions triggers

        The paths filter runs workflow only if matching files change.
      2. Step 2: Match trigger to Kotlin files

        on: push: paths: - '**/*.kt' triggers on push when any .kt file changes, which is correct.
      3. Final Answer:

        on: push: paths: - '**/*.kt' -> Option C
      4. Quick Check:

        Use 'paths' to trigger on specific file changes [OK]
      Hint: Use 'paths' filter to run workflow on specific file changes [OK]
      Common Mistakes:
      • Using 'paths-ignore' instead of 'paths'
      • Triggering on branch only, not file changes
      • Using schedule trigger for file changes
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard