62
.github/workflows/build.yml
vendored
62
.github/workflows/build.yml
vendored
@@ -9,6 +9,14 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: GetCommitID
|
||||
run: |
|
||||
$CommitID=git rev-parse --short "${{ GITHUB.SHA }}"
|
||||
echo "CommitID=${CommitID}" >> $env:GITHUB_ENV
|
||||
- name: GetVersion
|
||||
run: |
|
||||
$Version=python .github/workflows/getVersion.py
|
||||
echo "Version=${Version}" >> $env:GITHUB_ENV
|
||||
- name: Download love
|
||||
run: |
|
||||
curl -OL https://github.com/love2d/love/releases/download/11.3/love-11.3-win64.zip
|
||||
@@ -26,16 +34,24 @@ jobs:
|
||||
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
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Windows
|
||||
name: Techmino_${{ env.Version }}_${{ env.CommitID }}_Windows
|
||||
path: love-11.3-win64
|
||||
|
||||
build-linux:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: GetCommitID
|
||||
run: |
|
||||
CommitID=$(git rev-parse --short "${{ GITHUB.SHA }}")
|
||||
echo "CommitID=${CommitID}" >> $GITHUB_ENV
|
||||
- name: GetVersion
|
||||
run: |
|
||||
Version=$(python3 .github/workflows/getVersion.py)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Download AppImageKit
|
||||
run: curl -OL https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage
|
||||
- name: Unpack and Repack
|
||||
@@ -49,16 +65,24 @@ jobs:
|
||||
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
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Linux
|
||||
name: Techmino_${{ env.Version }}_${{ env.CommitID }}_Linux
|
||||
path: Techmino.AppImage
|
||||
|
||||
build-android:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: GetCommitID
|
||||
run: |
|
||||
CommitID=$(git rev-parse --short "${{ GITHUB.SHA }}")
|
||||
echo "CommitID=${CommitID}" >> $GITHUB_ENV
|
||||
- name: GetVersion
|
||||
run: |
|
||||
Version=$(python3 .github/workflows/getVersion.py)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Download Apktool
|
||||
run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar
|
||||
- name: Unpack and Repack
|
||||
@@ -68,7 +92,7 @@ jobs:
|
||||
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
|
||||
python3 .github/workflows/updateAndroidVersion.py
|
||||
java -jar apktool_2.5.0.jar b -o Techmino.apk apk
|
||||
- uses: 26F-Studio/sign-android-release@master
|
||||
name: Sign app APK
|
||||
@@ -81,18 +105,27 @@ jobs:
|
||||
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||
env:
|
||||
BUILD_TOOLS_VERSION: "30.0.2"
|
||||
- name: Artifact
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Android
|
||||
name: Techmino_${{ env.Version }}_${{ env.CommitID }}_Android
|
||||
path: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
|
||||
build-macOS:
|
||||
runs-on: macos-10.15
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: GetCommitID
|
||||
run: |
|
||||
CommitID=$(git rev-parse --short "${{ GITHUB.SHA }}")
|
||||
echo "CommitID=${CommitID}" >> $GITHUB_ENV
|
||||
- name: GetVersion
|
||||
run: |
|
||||
Version=$(python3 .github/workflows/getVersion.py)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Pack love
|
||||
run : zip -r Techmino.love document media parts Zframework conf.lua font.ttf main.lua
|
||||
run: |
|
||||
zip -r Techmino.love document media parts Zframework conf.lua font.ttf main.lua
|
||||
- name: Download template
|
||||
run: |
|
||||
curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.app.zip
|
||||
@@ -116,11 +149,8 @@ jobs:
|
||||
security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k Techminohaowan build.keychain
|
||||
/usr/bin/codesign --force --deep -s 79B81FC5EA155243C973B5417B0996501F00EF55 ./Techmino.app -v
|
||||
- name: Pack Techmino
|
||||
run: |
|
||||
zip -r -y Techmino-Packed.app.zip Techmino.app
|
||||
- name: Artifact
|
||||
uses: actions/upload-artifact@v1.0.0
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: macOS
|
||||
path: Techmino-Packed.app.zip
|
||||
name: Techmino_${{ env.Version }}_${{ env.CommitID }}_macOS
|
||||
path: Techmino-Packed.app
|
||||
11
.github/workflows/getVersion.py
vendored
Normal file
11
.github/workflows/getVersion.py
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import re
|
||||
def getVersion():
|
||||
with open("conf.lua", "r", encoding="utf-8") as file:
|
||||
data = file.read()
|
||||
versionCode = re.search("build=(\\d+)", data).group()
|
||||
versionName = re.search('(?<=string=").*(?=@)', data).group()
|
||||
return versionCode, versionName
|
||||
|
||||
if __name__ == "__main__":
|
||||
versionCode, versionName = getVersion()
|
||||
print (versionName)
|
||||
@@ -1,12 +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)
|
||||
import getVersion
|
||||
|
||||
versionCode, versionName = getVersion.getVersion()
|
||||
|
||||
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)
|
||||
file.write(data)
|
||||
8
.github/workflows/updateOSXVersion.py
vendored
8
.github/workflows/updateOSXVersion.py
vendored
@@ -1,4 +1,5 @@
|
||||
import re, datetime
|
||||
import getVersion
|
||||
info = r"""<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
@@ -57,9 +58,8 @@ info = r"""<?xml version="1.0" encoding="UTF-8"?>
|
||||
</plist>
|
||||
"""
|
||||
|
||||
with open("conf.lua", "r") as file:
|
||||
data = file.read()
|
||||
versionName = re.search('short="([^"]+)', data).group(1)
|
||||
versionCode, versionName = getVersion.getVersion()
|
||||
|
||||
print("Updating to", versionName)
|
||||
with open("Techmino.app/Contents/info.plist", "w") as file:
|
||||
file.write(info % (versionName, datetime.datetime.today().year))
|
||||
file.write(info % (versionName, datetime.datetime.today().year))
|
||||
Reference in New Issue
Block a user