Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff4a1f20 authored by Nishith  Khanna's avatar Nishith Khanna Committed by Mohammed Althaf T
Browse files

add gitlab ci

parent d347237c
Loading
Loading
Loading
Loading
+57 −20
Original line number Diff line number Diff line
@@ -2,10 +2,16 @@ image: "registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:latest"

stages:
  - build
  - gitlab_release
  - publish
  - update-from-upstream

variables:
  APK_PATH: "play-services-core/build/outputs/apk/mapboxDefault/release"
  UNSIGNED_APK: "com.google.android.gms-250932023-0.3.11.250932-14-arm64-v8a.apk"
  COMMUNITY_APK: "com.google.android.gms-250932023-0.3.11.250932-14-arm64-v8a-community.apk"
  OFFICIAL_APK: "com.google.android.gms-250932023-0.3.11.250932-14-arm64-v8a-official.apk"
  TEST_APK: "com.google.android.gms-250932023-0.3.11.250932-14-arm64-v8a-test.apk"
  GIT_SUBMODULE_STRATEGY: recursive

before_script:
@@ -25,6 +31,10 @@ before_script:
  - export TERM=dumb
  - export JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -Xmx4096m"

.rules_protected_ref:
  rules: &rules_protected_ref
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $CI_COMMIT_REF_PROTECTED == "true"'
    - when: never

build:
  stage: build
@@ -69,6 +79,33 @@ publish:
           --data "{\"ref\":\"${CI_COMMIT_SHA}\",\"name\":\"${CI_COMMIT_TAG}\",\"tag_name\":\"${CI_COMMIT_TAG}\",\"description\":\"${CI_COMMIT_TITLE}\",\"assets\":{\"links\":[{\"name\":\"GmsCore-test.apk\",\"url\":\"https://gitlab.e.foundation/api/v4/projects/149/jobs/artifacts/${CI_COMMIT_TAG}/raw/play-services-core/build/outputs/apk/mapboxDefault/releaseTest/play-services-core-withMapbox-withNearby-releaseTest.apk?job=build-nearby\",\"link_type\":\"package\"},{\"name\":\"GmsCore-dev.apk\",\"url\":\"https://gitlab.e.foundation/api/v4/projects/149/jobs/artifacts/${CI_COMMIT_TAG}/raw/play-services-core/build/outputs/apk/mapboxDefault/releaseDev/play-services-core-mapbox-default-releaseDev.apk?job=build-nearby\",\"link_type\":\"package\"},{\"name\":\"GmsCore-stable.apk\",\"url\":\"https://gitlab.e.foundation/api/v4/projects/149/jobs/artifacts/${CI_COMMIT_TAG}/raw/play-services-core/build/outputs/apk/mapboxDefault/releaseStable/play-services-core-mapbox-default-releaseStable.apk?job=build-nearby\",\"link_type\":\"package\"}]}}" \
           --request POST https://gitlab.e.foundation/api/v4/projects/149/releases

init_submodules:
  stage: gitlab_release
  rules: *rules_protected_ref
  script:
    - |
      git clone https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo
  artifacts:
    paths:
      - systemAppsUpdateInfo/scripts/

generate-apks:
  stage: gitlab_release
  rules: *rules_protected_ref
  needs:
    - job: init_submodules
    - job: build
  script:
    - |
      ./systemAppsUpdateInfo/scripts/generate-apks.sh \
      "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" "$TEST_APK"
  artifacts:
    paths:
      - $APK_PATH/$UNSIGNED_APK
      - $APK_PATH/$COMMUNITY_APK
      - $APK_PATH/$OFFICIAL_APK
      - $APK_PATH/$TEST_APK

update-from-upstream:
  stage: update-from-upstream
  rules:
@@ -77,7 +114,7 @@ update-from-upstream:
    CI_PROJECT_SSH_URL: git@gitlab.e.foundation:$CI_PROJECT_PATH
    GIT_STRATEGY: none
  before_script:
    - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
    - "command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )"
    - eval $(ssh-agent -s)
    - echo "${SSH_E_ROBOT_PRIVATE_KEY}" | tr -d '\r' | ssh-add -
    - mkdir -p ~/.ssh