Skip to content

Commit

Permalink
Merge pull request #1 from Steve-Mr/dev
Browse files Browse the repository at this point in the history
prepare for actions
  • Loading branch information
Steve-Mr authored Sep 25, 2024
2 parents 2140e75 + 55d8472 commit de1edd4
Show file tree
Hide file tree
Showing 5 changed files with 700 additions and 0 deletions.
52 changes: 52 additions & 0 deletions .github/scripts/upload.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import json
import os
import requests

apiAddress = "http://127.0.0.1:8081/"
urlPrefix = apiAddress + "bot" + os.getenv("TELEGRAM_TOKEN")


def findString(sourceStr, targetStr):
if str(sourceStr).find(str(targetStr)) == -1:
return False
else:
return True


def genFileDirectory(path):
files_walk = os.walk(path)
target = {
}
for root, dirs, file_name_dic in files_walk:
for fileName in file_name_dic:
if findString(fileName, "v8a"):
target["arm64"] = (fileName, open(path + "/" + fileName, "rb"))
if findString(fileName, "v7a"):
target["armeabi"] = (fileName, open(path + "/" + fileName, "rb"))
if findString(fileName, "x86.apk"):
target["i386"] = (fileName, open(path + "/" + fileName, "rb"))
if findString(fileName, "x86_64"):
target["amd64"] = (fileName, open(path + "/" + fileName, "rb"))

return target


def sendDocument(user_id, path, message = "", entities = None):
files = {'document': open(path, 'rb')}
data = {'chat_id': user_id,
'caption': message,
'parse_mode': 'Markdown',
'caption_entities': entities}
response = requests.post(urlPrefix + "/sendDocument", files=files, data=data)
print(response.json())


def sendAPKs(path):
apks = os.listdir("apks")
apks.sort()
apk = os.path.join("apks", apks[0])
sendDocument(user_id="@maaryIsTyping", path = apk, message="#app #apk #wallpaperTunnel https://github.com/Steve-Mr/WallpaperTunnel")

if __name__ == '__main__':
sendAPKs("./apks")

202 changes: 202 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
name: Android CI

on:
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Storing key.properties
run: |
echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > ./key.properties
ls ./
ls -l key.properties
- name: Storing keystore
run: |
echo "${{ secrets.KEYSTORE }}" | base64 --decode > ./app/key.keystore
ls ./app
ls -l ./app/key.keystore
- name: Storing keystore
run: |
echo "${{ secrets.KEYSTORE }}" | base64 --decode > ./key.keystore
ls -l ./key.keystore
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: |
./gradlew :app:assembleRelease
echo "APK_FILE=$(find app/build/outputs/apk -name '*arm64*.apk')" >> $GITHUB_ENV
echo "APK_FILE_ARMV7=$(find app/build/outputs/apk -name '*v7a*.apk')" >> $GITHUB_ENV
echo "APK_FILE_X86=$(find app/build/outputs/apk -name '*x86\-*.apk')" >> $GITHUB_ENV
echo "APK_FILE_X64=$(find app/build/outputs/apk -name '*x86\_64*.apk')" >> $GITHUB_ENV
- uses: actions/upload-artifact@v4
name: Upload apk (arm64-v8a)
with:
name: app-arm64-v8a-release
path: ${{ env.APK_FILE }}
- uses: actions/upload-artifact@v4
name: Upload apk (armeabi-v7a)
with:
name: app-armeabi-v7a-release
path: ${{ env.APK_FILE_ARMV7 }}
- uses: actions/upload-artifact@v4
name: Upload apk (x86_64)
with:
name: app-x86_64-release
path: ${{ env.APK_FILE_X64 }}
- uses: actions/upload-artifact@v4
name: Upload apk (x86)
with:
name: app-x86-release
path: ${{ env.APK_FILE_X86 }}

- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
tag_name: v${{ github.run_number }}
prerelease: true
release_name: Release v${{ github.run_number }}
body: |
## Changes
${{ github.event.pull_request.body }}
${{ steps.show_pr_commits.outputs.commits }}
- uses: actions/upload-release-asset@v1
name: Upload apk (arm64-v8a)
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: Oblivionis-arm64-v8a.apk
asset_path: ${{ env.APK_FILE }}
asset_content_type: application/zip

- uses: actions/upload-release-asset@v1
name: Upload apk (armeabi-v7a)
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: Oblivionis-armeabi-v7a.apk
asset_path: ${{ env.APK_FILE_ARMV7 }}
asset_content_type: application/zip

- uses: actions/upload-release-asset@v1
name: Upload apk (x86_64)
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: Oblivionis-x86_64.apk
asset_path: ${{ env.APK_FILE_X64 }}
asset_content_type: application/zip

- uses: actions/upload-release-asset@v1
name: Upload apk (x86)
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_name: Oblivionis-x86.apk
asset_path: ${{ env.APK_FILE_X86 }}
asset_content_type: application/zip


upload:
name: Upload Release
runs-on: ubuntu-latest
needs:
- build
- telegram-bot-api
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Download Telegram Bot API Binary
uses: actions/download-artifact@master
with:
name: telegram-bot-api-binary
path: .

- name: find apk
run: |
mkdir apks
find artifacts -name "*.apk" -exec cp {} apks \;
echo "APK_FILE_UPLOAD=$(find apks -name '*arm64*.apk')" >> $GITHUB_ENV
ls ./apks
- name: Get Apk Info
id: apk
uses: JantHsueh/get-apk-info-action@master
with:
apkPath: ${{ env.APK_FILE_UPLOAD }}

- name: Release
run: |
chmod +x telegram-bot-api-binary
./telegram-bot-api-binary --api-id=21724 --api-hash=3e0cb5efcd52300aec5994fdfc5bdc16 --local 2>&1 > /dev/null &
curl https://raw.githubusercontent.com/Steve-Mr/Oblivionis/dev/.github/scripts/upload.py -o uploadCI.py
python uploadCI.py > upload.txt
cat upload.txt
env:
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
VERSION_CODE: ${{steps.apk.outputs.versionCode}}
VERSION_NAME: ${{steps.apk.outputs.versionNum}}
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}

telegram-bot-api:
name: Telegram Bot API
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Clone Telegram Bot API
run: |
git clone --recursive https://github.com/tdlib/telegram-bot-api.git
git status telegram-bot-api >> telegram-bot-api-status
- name: Cache Bot API Binary
id: cache-bot-api
uses: actions/cache@v4
with:
path: telegram-bot-api-binary
key: CI-telegram-bot-api-${{ hashFiles('telegram-bot-api-status') }}
- name: Compile Telegram Bot API
if: steps.cache-bot-api.outputs.cache-hit != 'true'
run: |
sudo apt-get update
sudo apt-get install make git zlib1g-dev libssl-dev gperf cmake g++
cd telegram-bot-api
rm -rf build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=.. ..
cmake --build . --target install -j$(nproc)
cd ../..
ls -l telegram-bot-api/bin/telegram-bot-api*
cp telegram-bot-api/bin/telegram-bot-api telegram-bot-api-binary
- name: Upload Binary
uses: actions/upload-artifact@master
with:
name: telegram-bot-api-binary
path: telegram-bot-api-binary
123 changes: 123 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit de1edd4

Please sign in to comment.