chore: update dependencies #1408
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: main | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
paths-ignore: | |
- '**.md' | |
- '**.txt' | |
- '.github/**' | |
- '.idea/**' | |
- '!.github/workflows/**' | |
jobs: | |
build: | |
name: Build CI (Push) | |
runs-on: ubuntu-latest | |
env: | |
CCACHE_COMPILERCHECK: "%compiler% -dumpmachine; %compiler% -dumpversion" | |
CCACHE_NOHASHDIR: "true" | |
CCACHE_HARDLINK: "true" | |
CCACHE_BASEDIR: "${{ github.workspace }}" | |
if: ${{ !startsWith(github.event.head_commit.message, '[skip ci]') }} && success() && github.ref == 'refs/heads/main' }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
submodules: 'recursive' | |
fetch-depth: 0 | |
- name: set up JDK 17 | |
uses: actions/setup-java@v3.13.0 | |
with: | |
java-version: '17' | |
distribution: 'adopt' | |
- name: Setup cmake | |
run: | | |
echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "cmake;3.22.1" --sdk_root=${ANDROID_SDK_ROOT} &> /dev/null | |
echo "sdk.dir=${ANDROID_HOME}" > local.properties | |
- name: Install ccache | |
run: | | |
sudo apt install -y ccache | |
ccache -o max_size=1G | |
ccache -o hash_dir=false | |
ccache -o hard_link=true | |
ccache -o compiler_check='%compiler% -dumpmachine; %compiler% -dumpversion' | |
ccache -zp | |
- name: Cache Native Build | |
uses: actions/cache@v3.3.2 | |
with: | |
path: | | |
~/.cache/ccache | |
~/.ccache | |
app/build/.lto-cache | |
key: native-cache-${{ github.sha }} | |
restore-keys: native-cache- | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2.9.0 | |
- name: Build with Gradle | |
run: | | |
echo 'org.gradle.parallel=true' >> gradle.properties | |
echo 'org.gradle.vfs.watch=true' >> gradle.properties | |
sed -i 's/org.gradle.configuration-cache=true//g' gradle.properties | |
echo 'buildCache { local { removeUnusedEntriesAfterDays = 1 } }' >> settings.gradle.kts | |
echo ${{ secrets.SIGN_KEYSTORE_BASE64 }} | base64 -d > keystore.jks | |
./gradlew :app:synthesizeDistReleaseApksCI | |
ccache -s | |
echo "APK_FILE_ARM32=$(find app/build/outputs/ci -name '*arm32.apk')" >> $GITHUB_ENV | |
echo "APK_FILE_ARM64=$(find app/build/outputs/ci -name '*arm64.apk')" >> $GITHUB_ENV | |
echo "APK_FILE_ARMALL=$(find app/build/outputs/ci -name '*armAll.apk')" >> $GITHUB_ENV | |
echo "APK_FILE_UNIVERSAL=$(find app/build/outputs/ci -name '*universal.apk')" >> $GITHUB_ENV | |
env: | |
KEYSTORE_PATH: "../keystore.jks" | |
KEYSTORE_PASSWORD: ${{ secrets.SIGN_KEYSTORE_PASSWORD }} | |
KEY_ALIAS: ${{ secrets.SIGN_ALIAS }} | |
KEY_PASSWORD: ${{ secrets.SIGN_KEY_PASSWORD }} | |
- name: Show Artifacts SHA256 | |
run: | | |
echo "### Build Success :rocket:" >> $GITHUB_STEP_SUMMARY | |
echo "|ABI|SHA256|" >> $GITHUB_STEP_SUMMARY | |
echo "|:--------:|:----------|" >> $GITHUB_STEP_SUMMARY | |
arm32=($(sha256sum ${{ env.APK_FILE_ARM32 }})) | |
echo "|arm32|$arm32" >> $GITHUB_STEP_SUMMARY | |
arm64=($(sha256sum ${{ env.APK_FILE_ARM64 }})) | |
echo "|arm64|$arm64" >> $GITHUB_STEP_SUMMARY | |
armAll=($(sha256sum ${{ env.APK_FILE_ARMALL }})) | |
echo "|armAll|$armAll" >> $GITHUB_STEP_SUMMARY | |
universal=($(sha256sum ${{ env.APK_FILE_UNIVERSAL }})) | |
echo "|universal|$universal" >> $GITHUB_STEP_SUMMARY | |
- name: Upload Artifacts(arm32) | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.APK_FILE_ARM32 }} | |
name: QAuxiliary-release-${{ github.event.head_commit.id }}-arm32 | |
- name: Upload Artifacts(arm64) | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.APK_FILE_ARM64 }} | |
name: QAuxiliary-release-${{ github.event.head_commit.id }}-arm64 | |
- name: Upload Artifacts(armAll) | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.APK_FILE_ARMALL }} | |
name: QAuxiliary-release-${{ github.event.head_commit.id }}-armAll | |
- name: Upload Artifacts(universal) | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.APK_FILE_UNIVERSAL }} | |
name: QAuxiliary-release-${{ github.event.head_commit.id }}-universal | |
upload-telegram: | |
name: Upload Release | |
if: ${{ success() && github.ref == 'refs/heads/main' }} | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- telegram-bot-api | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Download Telegram Bot API Binary | |
uses: actions/download-artifact@master | |
with: | |
name: telegram-bot-api-binary | |
path: . | |
- name: Release | |
env: | |
COMMIT_MESSAGE: |+ | |
New push to github\! | |
``` | |
${{ github.event.head_commit.message }} | |
```by `${{ github.event.head_commit.author.name }}` | |
See commit detail [here](${{ github.event.head_commit.url }}) | |
COMMIT_URL: ${{ github.event.head_commit.url }} | |
run: | | |
ESCAPED=`python3 -c 'import json,os,urllib.parse; msg = json.dumps(os.environ["COMMIT_MESSAGE"]); print(urllib.parse.quote(msg if len(msg) <= 1024 else json.dumps(os.environ["COMMIT_URL"])))'` | |
export arm32=$(find artifacts -name "*arm32.apk") | |
export arm64=$(find artifacts -name "*arm64.apk") | |
export armAll=$(find artifacts -name "*armAll.apk") | |
export universal=$(find artifacts -name "*universal.apk") | |
chmod +x telegram-bot-api-binary | |
./telegram-bot-api-binary --api-id=21724 --api-hash=3e0cb5efcd52300aec5994fdfc5bdc16 --local 2>&1 > /dev/null & | |
curl -v "http://127.0.0.1:8081/bot${{ secrets.TELEGRAM_TOKEN }}/sendMediaGroup?chat_id=-1001732413298&media=%5B%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2Farm64%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2Farm32%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FarmAll%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2Funiversal%22%2C%22parse_mode%22%3A%22MarkdownV2%22%2C%22caption%22:${ESCAPED}%7D%5D" \ | |
-F arm32="@$arm32" \ | |
-F arm64="@$arm64" \ | |
-F armAll="@$armAll" \ | |
-F universal="@$universal" | |
pkill telegram-bot | |
upload-taichi: | |
name: Upload TaiChi | |
if: ${{ success() && github.ref == 'refs/heads/main' }} | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Release | |
run: | | |
curl "https://gist.githubusercontent.com/qwq233/2a903f28a38d48d57731a1e4d6358948/raw/80e515d659a6f3c4737a1674f50fae5087e1f83c/taichi.py" -o taichi.py | |
sudo apt install -y python3-pip | |
pip3 install requests | |
echo ${{ secrets.TC_UPLOAD_USER_TOKEN }} | base64 -d > taichi.json | |
export release=$(find $OUTPUT -name "*armAll.apk") | |
python3 taichi.py $release | |
telegram-bot-api: | |
name: Telegram Bot API | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- 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@v3.3.2 | |
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 |