Skip to content
cloud

GitHub Action

Genymotion SaaS Action

v0.4 Latest version

Genymotion SaaS Action

cloud

Genymotion SaaS Action

Launch Android devices on Genymotion SaaS. Run your automation tests (Appium, Espresso and others) on those devices

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Genymotion SaaS Action

uses: Genymobile/genymotion-saas-github-action@v0.4

Learn more about this action in Genymobile/genymotion-saas-github-action

Choose a version

genymotion-saas-github-action

GitHub action to start Genymotion Cloud SaaS instances using the gmsaas command-line client. It installs and configures the CLI with Genymotion Cloud SaaS credentials. Note that credentials keys should be stored as GitHub secrets.

Inputs

  • email {string} {required} Email of your Genymotion Cloud SaaS account, if you don't have an account please create it first at https://cloud.geny.io. GMSAAS_EMAIL should be stored as a GitHub secret and passed as in the example below. Never store your GMSAAS_EMAIL as plain text in your YAML workflow.
  • password {string} {required} The password of your Genymotion Cloud SaaS account. GMSAAS_PASSWORD should be stored as a GitHub secret and passed as in the example below. Never store your GMSAAS_PASSWORD as plain text in your YAML workflow.
  • gmsaas_version {string} {optional} Install a specific version of gmsaas (not recommended). Defaults to the latest version if not specified.
  • recipe_uuid {string} {optional} Recipe UUID is the identifier used when starting an instance; it can be retrieved using gmsaas recipes list, or check availables recipes for a comprehensive list of all currently available recipes.
  • adb_serial_port {string} {optional} port which the instance will be connected to ADB. Defaults to None

Requirements

This action requires the following dependencies to be installed as part of your workflow:

  • actions/setup-python
  • actions/setup-java
  • android-actions/setup-android

Simple workflow example:

on: [push]

name: Genymotion Cloud SaaS 

jobs:
  test:
    name: Start Genymotion Cloud SaaS instance
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - uses: actions/setup-python@v4
        with:
          python-version: "3.10.11"

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: "17"
          distribution: "temurin"

      - name: Setup Android SDK
        uses: android-actions/setup-android@v2

      - name: Start Genymotion Cloud SaaS instance
        uses:  genymobile/genymotion-saas-github-action@v0.4
        with:
          email: ${{ secrets.GMSAAS_EMAIL }}
          password: ${{ secrets.GMSAAS_PASSWORD }}
          recipe_uuid: ea5fda48-fa8b-48c1-8acc-07d910856141 # Google Pixel XL 8.1

Workflow example with multiple devices:

on: [push]

name: Genymotion Cloud SaaS 

jobs:
  test:
    name: Start Multiple Genymotion Cloud SaaS instances
    runs-on: ubuntu-latest
    strategy:
      matrix:
        recipe_uuid:
          - ea5fda48-fa8b-48c1-8acc-07d910856141 # android 8.1
          - 4c015ada-e64e-4f5d-a320-06cbf6e95648 # android 10
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - uses: actions/setup-python@v4
        with:
          python-version: "3.10.11"

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: "17"
          distribution: "temurin"

      - name: Setup Android SDK
        uses: android-actions/setup-android@v2

      - name: Start Genymotion Cloud SaaS instance
        uses:  genymobile/genymotion-saas-github-action@v0.4
        with:
          email: ${{ secrets.GMSAAS_EMAIL }}
          password: ${{ secrets.GMSAAS_PASSWORD }}
          recipe_uuid: ${{ matrix.recipe_uuid }}

Workflow example using ADB serial port:

on: [push]

name: Genymotion Cloud SaaS 

jobs:
  test:
    name: Start Genymotion Cloud SaaS instance with ADB serial port
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - uses: actions/setup-python@v4
        with:
          python-version: "3.10.11"

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: "17"
          distribution: "temurin"

      - name: Setup Android SDK
        uses: android-actions/setup-android@v2

      - name: Start Genymotion Cloud SaaS instance
        uses:  genymobile/genymotion-saas-github-action@v0.4
        with:
          email: ${{ secrets.GMSAAS_EMAIL }}
          password: ${{ secrets.GMSAAS_PASSWORD }}
          recipe_uuid: ea5fda48-fa8b-48c1-8acc-07d910856141 # Google Pixel XL 8.1
          adb_serial_port: "47021"

License

The scripts and documentation in this project are released under the MIT License.