Files
Techmino/.github/workflows/build.yml
scdhh 64b8058dc6 更新ci以适配新的版本信息文件 (#214)
* 修改updateConfVersion.py

* 添加更新conf.lua时修改存档目录的步骤

* Add files via upload

* 更改ci脚本以适配新版版本信息

* 修正问题

* 打包时添加version.lua

* 更新updateVersion.py以适配新版版本信息

* 删除被替换的py文件

Co-authored-by: MrZ_26 <1046101471@qq.com>
2021-08-15 22:19:10 +08:00

195 lines
7.7 KiB
YAML

name: Techmino CI
on:
push:
branches: [ main, ci ]
jobs:
build-windows:
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: Get CommitID
run: |
$CommitID=git rev-parse --short "${{ GITHUB.SHA }}"
echo "CommitID=${CommitID}" >> $env:GITHUB_ENV
- name: Get Version
run: |
$Version=.\lua\lua.exe .\.github\workflows\getVersion.lua -string
echo "Version=${Version}" >> $env:GITHUB_ENV
- name: Update Conf Version
run: |
python .github/workflows/updateConfVersion.py -H ${{ env.CommitID }}
- 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 version.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: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ env.Version }}_${{ GITHUB.RUN_NUMBER }}_${{ env.CommitID }}_Windows
path: love-11.3-win64
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: Get CommitID
run: |
CommitID=$(git rev-parse --short "${{ GITHUB.SHA }}")
echo "CommitID=${CommitID}" >> $GITHUB_ENV
- name: Get Version
run: |
Version=$(lua ./.github/workflows/getVersion.lua -string)
echo "Version=${Version}" >> $GITHUB_ENV
- name: Update Conf Version
run: |
python3 .github/workflows/updateConfVersion.py -H ${{ env.CommitID }}
- 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 version.lua squashfs-root/usr/share/Techmino
./appimagetool-x86_64.AppImage squashfs-root Techmino.AppImage
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ env.Version }}_${{ GITHUB.RUN_NUMBER }}_${{ env.CommitID }}_Linux
path: Techmino.AppImage
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: Get CommitID
run: |
CommitID=$(git rev-parse --short "${{ GITHUB.SHA }}")
echo "CommitID=${CommitID}" >> $GITHUB_ENV
- name: Get Version
run: |
Version=$(lua ./.github/workflows/getVersion.lua -string)
echo "Version=${Version}" >> $GITHUB_ENV
- name: Update Conf Version
run: |
python3 .github/workflows/updateConfVersion.py -H ${{ env.CommitID }}
- 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 -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 version.lua
python3 .github/workflows/updateAndroidVersion.py -C $(lua ./.github/workflows/getVersion.lua -code) -N $(lua ./.github/workflows/getVersion.lua -string)
java -jar apktool_2.5.0.jar b -o Techmino.apk apk
- uses: 26F-Studio/sign-android-release@master
name: Sign 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: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ env.Version }}_${{ GITHUB.RUN_NUMBER }}_${{ env.CommitID }}_Android
path: ${{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: Get CommitID
run: |
CommitID=$(git rev-parse --short "${{ GITHUB.SHA }}")
echo "CommitID=${CommitID}" >> $GITHUB_ENV
- name: Get Version
run: |
Version=$(lua ./.github/workflows/getVersion.lua -string)
echo "Version=${Version}" >> $GITHUB_ENV
- name: Update Conf Version
run: |
python3 .github/workflows/updateConfVersion.py -H ${{ env.CommitID }}
- name: Pack love
run: |
zip -r 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
unzip Techmino.app.zip
- name: Modify template
run: |
python3 .github/workflows/updateOSXVersion.py -N $(lua ./.github/workflows/getVersion.lua -string)
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-Packed.app.zip Techmino.app
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ env.Version }}_${{ GITHUB.RUN_NUMBER }}_${{ env.CommitID }}_macOS
path: Techmino-Packed.app.zip