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

Verified Commit 4bb124b7 authored by Saalim Quadri's avatar Saalim Quadri
Browse files

ci: Add systemAppsUpdateInfo

parent 0a3e1569
Loading
Loading
Loading
Loading
Loading
+240 −0
Original line number Diff line number Diff line
@@ -3,9 +3,11 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH == "master"
    - if: $CI_COMMIT_TAG

stages:
  - build
  - filters
  - gitlab_release

.build-cromite:
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:chromium-latest
@@ -77,3 +79,241 @@ deploy_rsync:
    - chmod 644 ~/.ssh/known_hosts ~/.ssh/id_ed25519.pub
  script:
    - rsync -avz --chown=$REMOTE_USER:www-data --chmod=F644 filters.dat $REMOTE_USER@$IMAGES_HOSTNAME:$BROWSER_PATH

init-submodules:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  needs: []
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: on_success
  script:
    - git clone https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo
  artifacts:
    paths:
      - systemAppsUpdateInfo/scripts/

generate-apks-browser:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: on_success
  needs:
    - job: init-submodules
      artifacts: true
    - job: build-cromite-arm
      artifacts: true
    - job: build-cromite-arm64
      artifacts: true
    - job: build-cromite-x86
      artifacts: true
    - job: build-cromite-x64
      artifacts: true
  variables:
    APK_PATH: "release_apks_browser"
    SOURCE_APK: "ChromePublic.apk"
    UNSIGNED_APK: "Browser-release.apk"
    COMMUNITY_APK: "Browser-community.apk"
    OFFICIAL_APK: "Browser-official.apk"
    TEST_APK: "Browser-test.apk"
  script: &generate_script |
    mkdir -p "$APK_PATH"
    echo "Processing ARM64 APKs..."
    cp apks/arm64/$SOURCE_APK $APK_PATH/community-arm64-v8a.apk
    cp apks/arm64/$SOURCE_APK $APK_PATH/official-arm64-v8a.apk
    cp apks/arm64/$SOURCE_APK $APK_PATH/test-arm64-v8a.apk

    echo "Processing ARM32 APKs..."
    cp apks/arm/$SOURCE_APK $APK_PATH/community-armeabi-v7a.apk
    cp apks/arm/$SOURCE_APK $APK_PATH/official-armeabi-v7a.apk
    cp apks/arm/$SOURCE_APK $APK_PATH/test-armeabi-v7a.apk

    echo "Processing X86 APKs..."
    cp apks/x86/$SOURCE_APK $APK_PATH/community-x86.apk
    cp apks/x86/$SOURCE_APK $APK_PATH/official-x86.apk
    cp apks/x86/$SOURCE_APK $APK_PATH/test-x86.apk

    echo "Processing X86_64 APKs..."
    cp apks/x64/$SOURCE_APK $APK_PATH/community-x86_64.apk
    cp apks/x64/$SOURCE_APK $APK_PATH/official-x86_64.apk
    cp apks/x64/$SOURCE_APK $APK_PATH/test-x86_64.apk
    ls -lh "$APK_PATH"/
  artifacts:
    paths:
      - $APK_PATH/

create-json-files-browser:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: on_success
  needs:
    - job: init-submodules
      artifacts: true
    - job: generate-apks-browser
      artifacts: true
  variables:
    APK_PATH: "release_apks_browser"
    UNSIGNED_APK: "Browser-release.apk"
    COMMUNITY_APK: "Browser-community.apk"
    OFFICIAL_APK: "Browser-official.apk"
    TEST_APK: "Browser-test.apk"
  script: &json_script |
    export AUTHOR="e Foundation"
    ./systemAppsUpdateInfo/scripts/create-json-files.sh \
      "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" "$TEST_APK"
    ls -lh *.json
    for json in *.json; do
      echo "--- $json ---"
      cat "$json" | jq '.'
      echo ""
    done
  artifacts:
    paths:
      - community.json
      - official.json
      - test.json

create-test-release-browser:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: manual
  allow_failure: true
  needs:
    - job: init-submodules
      artifacts: true
    - job: create-json-files-browser
      artifacts: true
    - job: generate-apks-browser
      artifacts: true
  variables:
    APK_PATH: "release_apks_browser"
    TEST_APK: "Browser-test.apk"
  script: |
    ./systemAppsUpdateInfo/scripts/create-test-release.sh \
      "$APK_PATH" "$TEST_APK"

create-release-browser:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: manual
  allow_failure: true
  needs:
    - job: init-submodules
      artifacts: true
    - job: create-json-files-browser
      artifacts: true
    - job: generate-apks-browser
      artifacts: true
  variables:
    APK_PATH: "release_apks_browser"
    UNSIGNED_APK: "Browser-release.apk"
    COMMUNITY_APK: "Browser-community.apk"
    OFFICIAL_APK: "Browser-official.apk"
  script: |
    ./systemAppsUpdateInfo/scripts/create-release.sh \
      "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK"


generate-apks-webview:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: on_success
  needs:
    - job: init-submodules
      artifacts: true
    - job: build-cromite-arm
      artifacts: true
    - job: build-cromite-arm64
      artifacts: true
    - job: build-cromite-x86
      artifacts: true
    - job: build-cromite-x64
      artifacts: true
  variables:
    APK_PATH: "release_apks_webview"
    SOURCE_APK: "SystemWebView.apk"
    UNSIGNED_APK: "WebView-release.apk"
    COMMUNITY_APK: "WebView-community.apk"
    OFFICIAL_APK: "WebView-official.apk"
    TEST_APK: "WebView-test.apk"
  script: *generate_script
  artifacts:
    paths:
      - $APK_PATH/

create-json-files-webview:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: on_success
  needs:
    - job: init-submodules
      artifacts: true
    - job: generate-apks-webview
      artifacts: true
  variables:
    APK_PATH: "release_apks_webview"
    UNSIGNED_APK: "WebView-release.apk"
    COMMUNITY_APK: "WebView-community.apk"
    OFFICIAL_APK: "WebView-official.apk"
    TEST_APK: "WebView-test.apk"
  script: *json_script
  artifacts:
    paths:
      - community.json
      - official.json
      - test.json

create-test-release-webview:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: manual
  allow_failure: true
  needs:
    - job: init-submodules
      artifacts: true
    - job: create-json-files-webview
      artifacts: true
    - job: generate-apks-webview
      artifacts: true
  variables:
    APK_PATH: "release_apks_webview"
    TEST_APK: "WebView-test.apk"
  script: |
    ./systemAppsUpdateInfo/scripts/create-test-release.sh \
      "$APK_PATH" "$TEST_APK"

create-release-webview:
  stage: gitlab_release
  image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest
  rules:
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
      when: manual
  allow_failure: true
  needs:
    - job: init-submodules
      artifacts: true
    - job: create-json-files-webview
      artifacts: true
    - job: generate-apks-webview
      artifacts: true
  variables:
    APK_PATH: "release_apks_webview"
    UNSIGNED_APK: "WebView-release.apk"
    COMMUNITY_APK: "WebView-community.apk"
    OFFICIAL_APK: "WebView-official.apk"
  script: |
    ./systemAppsUpdateInfo/scripts/create-release.sh \
      "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK"