This topic explains in detail the Integration between Appdome and GitHub Actions.

To successfully secure your applications with Appdome from GitHub platform, you can either use "Appdome build-2secure" action, or use Appdome DEV-API.

build-2secure action - Recommended

With this action, you can easily secure and customize your mobile apps on GitHub, including signing your app with your own enterprise certificate for added flexibility and control. No coding or technical expertise is required.

For detailed information about integrating "Appdome build-2secure" action into your GitHub workflow, please follow: Appdome build-2secure KB

DEV-API

To successfully use Appdome DEV-API in GitHub environment, please follow the below steps:

Requirements:

An Appdome account
Appdome’s token
Fusion-Set ID
A GitHub account
An active repository

.yml file locate on path <repository/.github/workflows/.yml>

If workflow file does not exist:

  1. On your repository, click on "actions" tab.
  2. Then click on "New workflow" button.
  3. Next, click on, "set up a workflow yourself".
  4. Copy this snipped code to your new workflow file
# A simple .yml template locate on <repository/.github/workflows/appdoem_ci.yml>
name: APPDOME_CI_EXAMPLE

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the "main" branch
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
		# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v3

API implementation

Steps:

steps:
		# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v3
      - name: Install requirments
        run: |
          sudo apt update && sudo apt upgrade
          sudo apt install -y curl
          sudo apt install -y jq
      - name: Upload none protected application to Appdome
        run: |
          publicLink=$(curl -s --request GET \
            	--url "https://fusion.appdome.com/api/v1/upload-link" \
              --header "Authorization: <API-Toke>")
            curl -s -X PUT "$(echo "$publicLink" | jq -r .url)" \
            	--header 'Content-Type: application/x-compressed-tar' \
              -T "<app-file-name>"
            app=$(curl -s \
            	--request POST \
              --url "https://fusion.appdome.com/api/v1/upload-using-link" \
              --header "Authorization: <API-Toke>" \
              --header 'content-type: multipart/form-data' \
              --form file_name="<app-file-name>" \
              --form file_app_id="$(echo "$publicLink" | jq -r .file_id)")
      - name: Buid none protected application on Appdome fusion platform
        run: |
            task_id=$(
              curl -s --request POST \
                --url "https://fusion.appdome.com/api/v1/tasks" \
                --header "Authorization: $APPDOME_API_TOKEN" \
                --header 'accept: application/json' \
                --header 'content-type: multipart/form-data' \
                --form action=fuse \
                --form fusion_set_id="$FUSION_SET_ID_ANDROID" \
                --form app_id="$(echo "$app" | jq -r .id)" \
            )
            task_id="$(echo "$task_id" | jq -r .task_id)"
            echo "task-id: $task_id"

Continue with implementing each part of the build process as documented in the How to section.