* 修改updateConfVersion.py * 添加更新conf.lua时修改存档目录的步骤 * Add files via upload * 更改ci脚本以适配新版版本信息 * 修正问题 * 打包时添加version.lua * 更新updateVersion.py以适配新版版本信息 * 删除被替换的py文件 * 同步release分支 * 修复Windows CI的bug * 修正路径 * 修正Linux权限错误 * 尝试修复Windows CI错误 * 尝试修复Windows CI的bug Co-authored-by: MrZ_26 <1046101471@qq.com>
This commit is contained in:
401
.github/workflows/release.yml
vendored
Normal file
401
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,401 @@
|
||||
name: Techmino Release CI
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build-windows-x64:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Download lua
|
||||
run: |
|
||||
curl -OL https://nchc.dl.sourceforge.net/project/luabinaries/5.4.2/Tools%20Executables/lua-5.4.2_Win64_bin.zip
|
||||
- name: Unpack lua
|
||||
run: |
|
||||
7z x .\lua-5.4.2_Win64_bin.zip -olua
|
||||
rename-Item '.\lua\lua54.exe' -NewName 'lua.exe'
|
||||
- name: Update Version
|
||||
run: |
|
||||
python .\.github\workflows\updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
$Version=.\lua\lua.exe .\.github\workflows\getVersion.lua -release
|
||||
echo "Version=${Version}" >> $env:GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
$Title=.\lua\lua.exe .\.github\workflows\getVersion.lua -updateTitle
|
||||
echo "Title=${Title}" >> $env:GITHUB_ENV
|
||||
- name: Download love
|
||||
run: |
|
||||
curl -OL https://github.com/love2d/love/releases/download/11.3/love-11.3-win64.zip
|
||||
- name: Unpack love
|
||||
run: |
|
||||
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/latest/win64.zip
|
||||
- name: Unpack ColdClear
|
||||
run: |
|
||||
7z x .\win64.zip -oColdClear
|
||||
- name: Download ResourceHacker
|
||||
run: |
|
||||
curl -OL http://www.angusj.com/resourcehacker/resource_hacker.zip
|
||||
- name: Unpack ResourceHacker
|
||||
run: |
|
||||
7z x .\resource_hacker.zip
|
||||
- name: Pack Techmino
|
||||
run: |
|
||||
7z a -tzip .\Techmino.love .\document .\media .\parts .\Zframework .\conf.lua .\font.ttf .\main.lua .\version.lua
|
||||
cmd /c copy /b .\love-11.3-win64\love.exe + .\Techmino.love .\love-11.3-win64\Techmino.exe
|
||||
del .\love-11.3-win64\love.exe
|
||||
del .\love-11.3-win64\lovec.exe
|
||||
del .\love-11.3-win64\game.ico
|
||||
del .\love-11.3-win64\love.ico
|
||||
del .\love-11.3-win64\changes.txt
|
||||
del .\love-11.3-win64\readme.txt
|
||||
move .\ColdClear\cold_clear.dll .\love-11.3-win64
|
||||
move .\ColdClear\CCloader.dll .\love-11.3-win64
|
||||
python .\.github\workflows\updateVersion.py -T Windows -N ${{ env.Version }}
|
||||
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action delete -mask ICONGROUP,,'
|
||||
cmd /c '.\ResourceHacker.exe -open .\Techmino.rc -save .\Techmino.res -action compile'
|
||||
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action addoverwrite -res ".\build\Windows\icon.ico" -mask ICONGROUP,1,'
|
||||
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win64\Techmino.exe -save .\love-11.3-win64\Techmino.exe -action addoverwrite -res ".\Techmino.res" -mask VERSIONINFO,1,'
|
||||
7z a -tzip .\Techmino.a${{ env.Version }}.Win64.zip .\love-11.3-win64\
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: Techmino.a${{ env.Version }}.Win64.zip
|
||||
|
||||
build-windows-x86:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Download lua
|
||||
run: |
|
||||
curl -OL https://nchc.dl.sourceforge.net/project/luabinaries/5.4.2/Tools%20Executables/lua-5.4.2_Win64_bin.zip
|
||||
- name: Unpack lua
|
||||
run: |
|
||||
7z x .\lua-5.4.2_Win64_bin.zip -olua
|
||||
rename-Item '.\lua\lua54.exe' -NewName 'lua.exe'
|
||||
- name: Update Version
|
||||
run: |
|
||||
python .\.github\workflows\updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
$Version=.\lua\lua.exe .\.github\workflows\getVersion.lua -release
|
||||
echo "Version=${Version}" >> $env:GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
$Title=.\lua\lua.exe .\.github\workflows\getVersion.lua -updateTitle
|
||||
echo "Title=${Title}" >> $env:GITHUB_ENV
|
||||
- name: Download love
|
||||
run: |
|
||||
curl -OL https://github.com/love2d/love/releases/download/11.3/love-11.3-win32.zip
|
||||
- name: Unpack love
|
||||
run: |
|
||||
7z x .\love-11.3-win32.zip
|
||||
- name: Download ColdClear
|
||||
run: |
|
||||
curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/win32.zip
|
||||
- name: Unpack ColdClear
|
||||
run: |
|
||||
7z x .\win32.zip -oColdClear
|
||||
- name: Download ResourceHacker
|
||||
run: |
|
||||
curl -OL http://www.angusj.com/resourcehacker/resource_hacker.zip
|
||||
- name: Unpack ResourceHacker
|
||||
run: |
|
||||
7z x .\resource_hacker.zip
|
||||
- name: Pack Techmino
|
||||
run: |
|
||||
7z a -tzip .\Techmino.love .\document .\media .\parts .\Zframework .\conf.lua .\font.ttf .\main.lua .\version.lua
|
||||
cmd /c copy /b .\love-11.3-win32\love.exe + .\Techmino.love .\love-11.3-win32\Techmino.exe
|
||||
del .\love-11.3-win32\love.exe
|
||||
del .\love-11.3-win32\lovec.exe
|
||||
del .\love-11.3-win32\game.ico
|
||||
del .\love-11.3-win32\love.ico
|
||||
del .\love-11.3-win32\changes.txt
|
||||
del .\love-11.3-win32\readme.txt
|
||||
move .\ColdClear\cold_clear.dll .\love-11.3-win32
|
||||
move .\ColdClear\CCloader.dll .\love-11.3-win32
|
||||
python .\.github\workflows\updateVersion.py -T Windows -N ${{ env.Version }}
|
||||
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win32\Techmino.exe -save .\love-11.3-win32\Techmino.exe -action delete -mask ICONGROUP,,'
|
||||
cmd /c '.\ResourceHacker.exe -open .\Techmino.rc -save .\Techmino.res -action compile'
|
||||
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win32\Techmino.exe -save .\love-11.3-win32\Techmino.exe -action addoverwrite -res ".\build\Windows\icon.ico" -mask ICONGROUP,1,'
|
||||
cmd /c '.\ResourceHacker.exe -open .\love-11.3-win32\Techmino.exe -save .\love-11.3-win32\Techmino.exe -action addoverwrite -res ".\Techmino.res" -mask VERSIONINFO,1,'
|
||||
7z a -tzip .\Techmino.a${{ env.Version }}.Win32.zip .\love-11.3-win32\
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: Techmino.a${{ env.Version }}.Win32.zip
|
||||
|
||||
build-linux:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get install lua5.3 -y
|
||||
- name: Update Version
|
||||
run: |
|
||||
python3 ./.github/workflows/updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
Version=$(lua ./.github/workflows/getVersion.lua -release)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
|
||||
echo "Title=${Title}" >> $GITHUB_ENV
|
||||
#我不是很懂这里为什么不能用https://github.com/AppImage/AppImageKit/releases/download/latest/appimagetool-x86_64.AppImage 但是事实就是它404了
|
||||
- name: Download AppImageKit
|
||||
run: |
|
||||
curl -OL https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage
|
||||
- name: Download love
|
||||
run: |
|
||||
curl -OL https://github.com/love2d/love/releases/download/11.3/love-11.3-x86_64.AppImage
|
||||
- name: Unpack love
|
||||
run: |
|
||||
chmod 777 ./love-11.3-x86_64.AppImage
|
||||
./love-11.3-x86_64.AppImage --appimage-extract
|
||||
- name: Download ColdClear
|
||||
run: |
|
||||
curl -OL https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/latest/linux.zip
|
||||
- name: Unpack ColdClear
|
||||
run: |
|
||||
7z x ./linux.zip -oColdClear
|
||||
- name: Pack Techmino
|
||||
run: |
|
||||
rm -rf ./squashfs-root/love ./squashfs-root/love.desktop ./squashfs-root/love.svg ./squashfs-root/.DirIcon
|
||||
mv ./build/Linux/love.template ./squashfs-root/love
|
||||
mv ./build/Linux/Techmino.desktop.template ./squashfs-root/Techmino.desktop
|
||||
mv ./build/Linux/icon.png ./squashfs-root/icon.png
|
||||
cp ./squashfs-root/icon.png ./squashfs-root/.DirIcon
|
||||
chmod 777 ./squashfs-root/love
|
||||
mkdir -p ./squashfs-root/usr/share/Techmino
|
||||
mv ./document ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua ./squashfs-root/usr/share/Techmino
|
||||
mv ./ColdClear/CCloader.so ./squashfs-root/usr/share/Techmino
|
||||
mv ./ColdClear/libcold_clear.so ./squashfs-root/usr/lib
|
||||
chmod 777 ./appimagetool-x86_64.AppImage
|
||||
./appimagetool-x86_64.AppImage ./squashfs-root ./Techmino.a${{ env.Version }}.AppImage
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: Techmino.a${{ env.Version }}.AppImage
|
||||
|
||||
#Android待更新
|
||||
build-android:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get install lua5.3 -y
|
||||
- name: Update Version
|
||||
run: |
|
||||
python3 ./.github/workflows/updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
Version=$(lua ./.github/workflows/getVersion.lua -release)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
|
||||
echo "Title=${Title}" >> $GITHUB_ENV
|
||||
- name: Download Apktool
|
||||
run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar
|
||||
- name: Unpack and Repack
|
||||
run: |
|
||||
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 ./apk/assets/game.love libAndroid -o.
|
||||
rm -rf ./apk/assets/game.love ./Techmino.apk
|
||||
7z a -tzip ./apk/assets/game.love ./document ./libAndroid ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
|
||||
python3 ./.github/workflows/updateVersion.py -T Android -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -name)
|
||||
java -jar ./apktool_2.5.0.jar b -o apk ./Techmino.a${{ env.Version }}.apk
|
||||
- uses: 26F-Studio/sign-android-release@master
|
||||
name: Sign APK
|
||||
id: sign_app
|
||||
with:
|
||||
releaseDirectory: ./Techmino.a${{ env.Version }}.apk
|
||||
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
|
||||
alias: ${{ secrets.ALIAS }}
|
||||
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||
env:
|
||||
BUILD_TOOLS_VERSION: "30.0.2"
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
|
||||
#Android-mini待更新
|
||||
build-android-mini:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get install lua5.3 -y
|
||||
- name: Update Version
|
||||
run: |
|
||||
python3 ./.github/workflows/updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
Version=$(lua ./.github/workflows/getVersion.lua -release)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
|
||||
echo "Title=${Title}" >> $GITHUB_ENV
|
||||
- name: Download Apktool
|
||||
run: curl -OL https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar
|
||||
- name: Unpack and Repack
|
||||
run: |
|
||||
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 ./apk/assets/game.love libAndroid -o.
|
||||
rm -rf ./apk/assets/game.love ./Techmino.apk
|
||||
rm -rf ./media/BGM ./media/SFX ./media/VOICE
|
||||
7z a -tzip ./apk/assets/game.love ./document ./libAndroid ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
|
||||
python3 ./.github/workflows/updateVersion.py -T Android -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -name)
|
||||
java -jar ./apktool_2.5.0.jar b -o apk ./Techmino.a${{ env.Version }}.mini.apk
|
||||
- uses: 26F-Studio/sign-android-release@master
|
||||
name: Sign APK
|
||||
id: sign_app
|
||||
with:
|
||||
releaseDirectory: ./Techmino.a${{ env.Version }}.mini.apk
|
||||
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
|
||||
alias: ${{ secrets.ALIAS }}
|
||||
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||
env:
|
||||
BUILD_TOOLS_VERSION: "30.0.2"
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
|
||||
build-macOS:
|
||||
runs-on: macos-10.15
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
curl -OL http://www.lua.org/ftp/lua-5.4.3.tar.gz
|
||||
tar zxf lua-5.4.3.tar.gz
|
||||
cd lua-5.4.3
|
||||
make macosx
|
||||
sudo make install
|
||||
- name: Update Version
|
||||
run: |
|
||||
python3 ./.github/workflows/updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
Version=$(lua ./.github/workflows/getVersion.lua -release)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
|
||||
echo "Title=${Title}" >> $GITHUB_ENV
|
||||
- name: Pack love
|
||||
run: |
|
||||
7z a -tzip ./Techmino.love ./document ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
|
||||
- name: Download template
|
||||
run: |
|
||||
curl -OL https://github.com/26F-Studio/Techmino/releases/download/v0.15.1/Techmino.app.zip
|
||||
- name: Unpack template
|
||||
run: |
|
||||
7z x ./Techmino.app.zip
|
||||
- name: Modify template
|
||||
run: |
|
||||
python3 ./.github/workflows/updateVersion.py -T macOS -N $(lua ./.github/workflows/getVersion.lua -name)
|
||||
mv ./Techmino.love ./Techmino.app/Contents/Resources
|
||||
- name: Codesign executable
|
||||
# In secrets:
|
||||
# - MACOS_CERTIFICATE: the *.p12 Developer ID Certificate, encoded in base64
|
||||
# - MACOS_CERTIFICATE_PWD: The password
|
||||
env:
|
||||
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
||||
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
|
||||
run: |
|
||||
echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12
|
||||
security create-keychain -p Techminohaowan build.keychain
|
||||
security default-keychain -s build.keychain
|
||||
security unlock-keychain -p Techminohaowan build.keychain
|
||||
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.a${{ env.Version }}.macOS.zip Techmino.app
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: Techmino.a${{ env.Version }}.macOS.zip
|
||||
|
||||
build-love:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get install lua5.3 -y
|
||||
- name: Update Version
|
||||
run: |
|
||||
python3 ./.github/workflows/updateVersion.py -T Version
|
||||
- name: Get Version
|
||||
run: |
|
||||
Version=$(lua ./.github/workflows/getVersion.lua -release)
|
||||
echo "Version=${Version}" >> $GITHUB_ENV
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
Title=$(lua ./.github/workflows/getVersion.lua -updateTitle)
|
||||
- name: Pack Techmino
|
||||
run: |
|
||||
7z a -tzip ./Techmino.a${{ env.Version }}.love ./document ./media ./parts ./Zframework ./conf.lua ./font.ttf ./main.lua ./version.lua
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
files: Techmino.a${{ env.Version }}.love
|
||||
|
||||
Add-Release-note:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get install lua5.3 -y
|
||||
- name: Get ReleaseTitle
|
||||
run: |
|
||||
Title=lua ./.github/workflows/getVersion.lua -updateTitle
|
||||
echo "Title=${Title}" >> $GITHUB_ENV
|
||||
- name: Get ReleaseNote
|
||||
run: |
|
||||
Note=lua ./.github/workflows/getVersion.lua -updateNote
|
||||
echo "Note=${Note}" >> $GITHUB_ENV
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ env.Title }}
|
||||
body: ${{ env.Note }}
|
||||
Reference in New Issue
Block a user