diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..1844f5d1c
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,45 @@
+image: jangrewe/gitlab-ci-android
+
+before_script:
+ - COMMIT_URL="https://gitlab.com/AuroraOSS/AuroraStore/-/commit/${CI_COMMIT_SHA}"
+ - MSG_URL="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage"
+ - export GRADLE_USER_HOME=$(pwd)/.gradle
+ - chmod +x ./gradlew
+
+cache:
+ key: ${CI_PROJECT_ID}
+ paths:
+ - .gradle/
+
+stages:
+ - build
+ # - test
+ - notify
+
+# lintDebug:
+# stage: build
+# script:
+# - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
+
+assembleDebug:
+ stage: build
+ script:
+ - ./gradlew assembleDebug
+ - 'curl -s -X POST ${MSG_URL} -d chat_id=${TELEGRAM_CHAT_ID}
+ -d "disable_web_page_preview=true"
+ -d "parse_mode=html"
+ -d text=Project: ${CI_PROJECT_NAME}\n⚒️ Building with HEAD at ${CI_COMMIT_SHORT_SHA} by ${CI_COMMIT_AUTHOR}\nBranch: ${CI_COMMIT_BRANCH}'
+ artifacts:
+ paths:
+ - app/build/outputs/
+
+# testDebug:
+# stage: test
+# script:
+# - ./gradlew -Pci --console=plain :app:testDebug
+
+# Once build finished or failed, notify using Telegram
+notifyTelegram:
+ stage: notify
+ script:
+ - script -c "bash -x ci-notify.sh" > ci-logs.log # build succeeded with apk file attached or failed
diff --git a/ci-notify.sh b/ci-notify.sh
new file mode 100644
index 000000000..01649a96d
--- /dev/null
+++ b/ci-notify.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+# Declare variables
+DATE="`date +%d%m%Y-%H%M%S`"
+MSG_URL="https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage"
+DOC_URL="https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendDocument"
+COMMIT_URL="https://gitlab.com/AuroraOSS/AuroraStore/-/commit/$CI_COMMIT_SHA"
+TEXT="New+commit+to+[*${CI_PROJECT_NAME}*](${CI_PROJECT_URL})%0A[*⚒️+Building*](${CI_JOB_URL})+with+HEAD+at+[*${CI_COMMIT_SHORT_SHA}*](${COMMIT_URL})"
+
+# send message to Telegram channel for first job
+
+function tg_build_start()
+{
+ echo -e "*****************************************************"
+ echo " APK build script & Telegram notify "
+ echo -e "*****************************************************"
+ echo "Sending build text to Telegram channel..."
+ BUILD_START=$(date +"%s")
+ curl -s -X POST $MSG_URL -d chat_id=$TELEGRAM_CHAT_ID \
+ -d "disable_web_page_preview=true" \
+ -d "parse_mode=MarkdownV2" \
+ -d text=$TEXT
+ BUILD_END=$(date +"%s")
+ DIFF=$(($BUILD_END - $BUILD_START))
+ echo "Message sent!"
+}
+
+# NOTES: $CI_COMMIT_AUTHOR and $CI_COMMIT_BRANCH won't work due to Telegram's awful Markdown flavour.
+
+function tg_build_data()
+{
+ echo "Sending build data to Telegram channel..."
+ if [ -f app/build/outputs/apk/debug/app-debug.apk ]; then
+ cp app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/AuroraStore_CI_$DATE.apk
+ cd app/build/outputs/apk/debug/
+ APK=$(echo AuroraStore_CI_*.apk)
+ curl -F document=@"$APK" $DOC_URL \
+ -F chat_id=$TELEGRAM_CHAT_ID \
+ -F "disable_web_page_preview=true" \
+ -F "parse_mode=html" \
+ -F caption="✅ CI build completed successfully!"
+ rm -rf app/build/outputs/apk
+ else
+ curl -s -X POST $MSG_URL -d chat_id=$TELEGRAM_CHAT_ID \
+ -d "disable_web_page_preview=true" \
+ -d "parse_mode=html" \
+ -d text="❌ Build error, exiting now!"
+ fi
+ echo "Data sent!"
+}
+
+function tg_push_error()
+{
+ curl -s -X POST $MSG_URL -d chat_id=$TELEGRAM_CHAT_ID -d "disable_web_page_preview=true" -d "parse_mode=html&text=❌ Build failed after $(($DIFF / 60)) minute(s) and $(($DIFF % 60)) second(s)."
+}
+
+function tg_push_log()
+{
+ LOG=ci-logs.log
+ curl -F document=@"$LOG" $MSG_URL \
+ -F chat_id="$TELEGRAM_CHAT_ID" \
+ -F "disable_web_page_preview=true" \
+ -F "parse_mode=html" \
+ -F caption="Build logs for $CI_PROJECT_NAME - $DATE, took $(($DIFF / 60)) minute(s) and $(($DIFF % 60)) second(s). @austinhornhead_12"
+}
+
+
+for i in "$@"
+do
+case $i in
+ --build)
+ tg_build_start
+ shift
+ ;;
+ --notify)
+ tg_build_data
+ shift
+ ;;
+ --logs)
+ tg_push_error
+ tg_push_log
+ shift
+ ;;
+ *)
+ echo "Use available commands: --build, --notify & --logs"
+ exit
+esac
+done
+