修改actions上传名称,修改编译时依赖的python脚本

This commit is contained in:
2021-08-09 07:10:40 +08:00
parent 20cd27d7f6
commit a71b504589
5 changed files with 75 additions and 25 deletions

View File

@@ -9,6 +9,21 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: GetCommitID
#这里找不到好办法用git获取CommitID就直接截取了
#如果有好办法的话欢迎pr
#之前尝试用的:
#for /F %%i in ('git rev-parse --short "${{ GITHUB.SHA }}"') do (set CommitID=%%i)
#失败原因:
#直接powershell运行报错使用bat运行会获取不到${{ GITHUB.SHA }}
run: |
$CommitID="${{ GITHUB.SHA }}".Substring(0,7)
echo $CommitID > test.txt
echo "CommitID=$CommitID"
echo "CommitID=$CommitID" >> $env:GITHUB_ENV
- name: GetVersion
run: |
.\.github\workflows\getVersion.bat
- name: Download love
run: |
curl -OL https://github.com/love2d/love/releases/download/11.3/love-11.3-win64.zip
@@ -26,16 +41,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 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 +72,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 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 +99,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 +112,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 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 +156,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

2
.github/workflows/getVersion.bat vendored Normal file
View File

@@ -0,0 +1,2 @@
for /F %%i in ('python .github/workflows/getVersion.py') do (set Version=%%i)
echo Version=%Version%

11
.github/workflows/getVersion.py vendored Normal file
View 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)

View File

@@ -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)

View File

@@ -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))