156 lines
6.0 KiB
YAML
156 lines
6.0 KiB
YAML
name: Techmino CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, ci ]
|
|
|
|
jobs:
|
|
build-windows:
|
|
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
|
|
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: Upload
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
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
|
|
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: Upload
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
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
|
|
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
|
|
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
|
|
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 }}_${{ 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
|
|
- 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
|
|
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: Upload
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: Techmino_${{ env.Version }}_${{ env.CommitID }}_macOS
|
|
path: Techmino-Packed.app |