From ae03346bb79f1f723c26362664df62e53c193651 Mon Sep 17 00:00:00 2001 From: flaribbit <1149761294@qq.com> Date: Fri, 28 May 2021 23:33:50 +0800 Subject: [PATCH 1/5] add CI for android (test) --- .github/workflows/build.yml | 39 ++++++++++++------------------ .github/workflows/updateVersion.py | 12 +++++++++ 2 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/updateVersion.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7576c2e7..9a16005d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,32 +7,23 @@ on: branches: [ ci ] jobs: - build-windows: - runs-on: windows-latest + build-android: + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - with: - lfs: true - - name: Download love + - name: Download Apktool + run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar + - name: Unpack and Repack run: | - curl -LO https://github.com/love2d/love/releases/download/11.3/love-11.3-win64.zip - 7z x love-11.3-win64.zip - - name: Download ColdClear - run: | - curl -LO https://github.com/26F-Studio/Techmino/releases/download/coldclear/coldclear.zip - 7z x coldclear.zip -ocoldclear - move coldclear\win64\cold_clear.dll love-11.3-win64 - move coldclear\win64\CCloader.dll love-11.3-win64 - - name: Pack Techmino - shell: cmd - run: | - 7z a game.zip BGM document image modes parts SFX VOICE Zframework conf.lua font.ttf main.lua - move game.zip game.love - copy /b love-11.3-win64\love.exe + game.love love-11.3-win64\Techmino.exe - del love-11.3-win64\love.exe - del love-11.3-win64\lovec.exe + curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.apk + java -jar apktool_2.5.0.jar d -s -o apk Techmino.apk + 7z x -o. apk/assets/game.love libAndroid + rm apk/assets/game.love Techmino.apk + 7z a -tzip apk/assets/game.love document libAndroid media parts Zframework conf.lua font.ttf main.lua + python3 .github/workflows/updateVersion.py + java -jar apktool_2.5.0.jar b -o Techmino.apk apk - name: Artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v2 with: - name: Techmino_win64 - path: love-11.3-win64 + name: Android + path: Techmino.apk diff --git a/.github/workflows/updateVersion.py b/.github/workflows/updateVersion.py new file mode 100644 index 00000000..6d34ddbe --- /dev/null +++ b/.github/workflows/updateVersion.py @@ -0,0 +1,12 @@ +import re +with open("conf.lua", "r") as file: + data = file.read() +versionCode = re.search("build=(\\d+)", data).group(1) +versionName = re.search('short="([^"]+)', data).group(1) +with open("apk/apktool.yml", "r+") as file: + data = file.read() + data = re.sub("versionCode:.+", f"versionCode: '{versionCode}'", data) + data = re.sub("versionName:.+", f"versionName: {versionName}", data) + file.seek(0) + file.truncate() + file.write(data) From 42b7b1c9e4691efb1190896cdbd624fc87869b11 Mon Sep 17 00:00:00 2001 From: flaribbit <1149761294@qq.com> Date: Fri, 28 May 2021 23:48:45 +0800 Subject: [PATCH 2/5] add CI for linux (test) --- .github/workflows/build.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9a16005d..e44853c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,29 @@ on: branches: [ ci ] jobs: + build-linux: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Download AppImageKit + run: curl -OL https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage + - name: Unpack and Repack + run: | + curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.AppImage + chmod +x Techmino.AppImage appimagetool-x86_64.AppImage + ./Techmino.AppImage --appimage-extract + rm Techmino.AppImage + cd squashfs-root/usr/share/Techmino + rm -rf document media parts Zframework conf.lua font.ttf main.lua + cd ../../../.. + cp -r document media parts Zframework conf.lua font.ttf main.lua squashfs-root/usr/share/Techmino + ./appimagetool-x86_64.AppImage squashfs-root Techmino.AppImage + - name: Artifact + uses: actions/upload-artifact@v2 + with: + name: Linux + path: Techmino.AppImage + build-android: runs-on: ubuntu-20.04 steps: From 489e6f3027f8d92263c02190f4647f7783e2a5f8 Mon Sep 17 00:00:00 2001 From: flaribbit <1149761294@qq.com> Date: Sat, 29 May 2021 00:02:25 +0800 Subject: [PATCH 3/5] add CI for windows --- .github/workflows/build.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e44853c6..48448355 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,11 +2,38 @@ name: Techmino CI on: push: - branches: [ ci ] + branches: [ master, ci ] pull_request: - branches: [ ci ] + branches: [ master, ci ] jobs: + build-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Download love + run: | + curl -OL https://github.com/love2d/love/releases/download/11.3/love-11.3-win64.zip + 7z x love-11.3-win64.zip + - name: Download ColdClear + run: | + curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/20210520/win64.zip + 7z x win64.zip -ocoldclear + move coldclear\cold_clear.dll love-11.3-win64 + move coldclear\CCloader.dll love-11.3-win64 + - name: Pack Techmino + shell: cmd + run: | + 7z a -tzip game.love document media parts Zframework conf.lua font.ttf main.lua + copy /b love-11.3-win64\love.exe + game.love love-11.3-win64\Techmino.exe + del love-11.3-win64\love.exe + del love-11.3-win64\lovec.exe + - name: Artifact + uses: actions/upload-artifact@v1.0.0 + with: + name: Windows + path: love-11.3-win64 + build-linux: runs-on: ubuntu-20.04 steps: From 16f85bf2abefd37a29ac0c9334c08f3fdfe2ee26 Mon Sep 17 00:00:00 2001 From: flaribbit <1149761294@qq.com> Date: Sat, 29 May 2021 00:29:05 +0800 Subject: [PATCH 4/5] sign android app --- .github/workflows/build.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 48448355..a99e1f5b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,8 +72,19 @@ jobs: 7z a -tzip apk/assets/game.love document libAndroid media parts Zframework conf.lua font.ttf main.lua python3 .github/workflows/updateVersion.py java -jar apktool_2.5.0.jar b -o Techmino.apk apk + - uses: r0adkll/sign-android-release@v1 + name: Sign app APK + id: sign_app + with: + releaseDirectory: . + signingKeyBase64: ${{ secrets.SIGNING_KEY }} + alias: ${{ secrets.ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + env: + BUILD_TOOLS_VERSION: "30.0.2" - name: Artifact uses: actions/upload-artifact@v2 with: name: Android - path: Techmino.apk + path: ${{steps.sign_app.outputs.signedReleaseFile}} From e65932b8063cca26e3d3f752fe121a405b38e47d Mon Sep 17 00:00:00 2001 From: flaribbit <1149761294@qq.com> Date: Sat, 29 May 2021 10:36:07 +0800 Subject: [PATCH 5/5] fix apk sign --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a99e1f5b..7ef7e102 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,7 +72,7 @@ jobs: 7z a -tzip apk/assets/game.love document libAndroid media parts Zframework conf.lua font.ttf main.lua python3 .github/workflows/updateVersion.py java -jar apktool_2.5.0.jar b -o Techmino.apk apk - - uses: r0adkll/sign-android-release@v1 + - uses: 26F-Studio/sign-android-release@master name: Sign app APK id: sign_app with: