Files
Techmino/.github/workflows/release.yml
Imple Lee 7f8efcdf41 move some work into independent jobs (#366)
* change build branch in build.yml

* try with get-version

* fix get-version

* fix get-version again

* try use get-version everywhere

* use apt upgrade again

* fix get-version again

* fix get-version again

* fix get-version again

* fix get-version again

* independent get-cc-url

* fix get-cc-url

* remove 2 useless commands

* try action

* try fix action

* try action

* use get-unzip

* try windows build

* fix build-windows

* fix build-love

* try build-linux

* add shell in build-linux

* put `commit id` into `get-version`

* fix `updateVersion.py -T Version`

* try build-android

* add shell into `build-android`

* move away android signing from build-android

* apply build-android on android mini

* gain snapshot action

* fixes

* fix build-love

* use build-macos

* put more into build-android

* fix build-android

* put more into build-macos

* fix

* fix

* ci: use preinstalled ndk (#367)

* fix apk location

* move `rename` into `build-android`

* fix `build-android`

* rename variable; remove a level of zips in macOS

* shallow clone

* remove tons of `./`s

* fix icon in windows and linux

* reorganize build-android

Co-authored-by: 梦飞翔 <1149761294@qq.com>
2021-10-15 01:06:17 +08:00

220 lines
7.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Techmino Release CI
on:
push:
tags:
- '*'
jobs:
get-version:
runs-on: ubuntu-20.04
outputs:
name: ${{ steps.actual-get-version.outputs.name }}
code: ${{ steps.actual-get-version.outputs.code }}
release: ${{ steps.actual-get-version.outputs.release }}
updateTitle: ${{ steps.actual-get-version.outputs.updateTitle }}
commit: ${{ steps.actual-get-version.outputs.commit }}
steps:
- uses: actions/checkout@v2
- name: Install lua
run: |
sudo apt-get update -y
sudo apt-get install lua5.3 -y
- name: Get Version
id: actual-get-version
run: |
echo "::set-output name=name::$(lua .github/workflows/getVersion.lua -name)"
echo "::set-output name=code::$(lua .github/workflows/getVersion.lua -code)"
echo "::set-output name=release::$(lua .github/workflows/getVersion.lua -release)"
echo "::set-output name=updateTitle::$(lua .github/workflows/getVersion.lua -updateTitle)"
echo "::set-output name=commit::$(git rev-parse --short ${{ GITHUB.SHA }})"
get-cc-url:
runs-on: ubuntu-20.04
outputs:
url: ${{ steps.get-url.outputs.url }}
steps:
- uses: actions/checkout@v2
- name: Get URL
id: get-url
run: |
echo "::set-output name=url::https://github.com/26F-Studio/cold_clear_ai_love2d_wrapper/releases/download/$(python .github/workflows/getLatest.py)"
build-windows-x64:
runs-on: windows-latest
needs: [get-version, get-cc-url]
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python .\.github\workflows\updateVersion.py -T Version
- uses: ./.github/actions/build-windows
with:
love-url: https://github.com/love2d/love/releases/download/11.3/love-11.3-win64.zip
love-dir: love-11.3-win64
cc-url: ${{ needs.get-cc-url.outputs.url }}/win64.zip
version: ${{ needs.get-version.outputs.release }}
icon: .\.github\build\Windows\icon.ico
- name: Pack Techmino
run: 7z a -tzip .\Techmino.a${{ needs.get-version.outputs.release }}.Win64.zip .\love
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.release }}.Win64.zip
build-windows-x86:
runs-on: windows-latest
needs: [get-version, get-cc-url]
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python .\.github\workflows\updateVersion.py -T Version
- uses: ./.github/actions/build-windows
with:
love-url: https://github.com/love2d/love/releases/download/11.3/love-11.3-win32.zip
love-dir: love-11.3-win32
cc-url: ${{ needs.get-cc-url.outputs.url }}/win32.zip
version: ${{ needs.get-version.outputs.release }}
icon: .\.github\build\Windows\icon.ico
- name: Pack Techmino
run: 7z a -tzip .\Techmino.a${{ needs.get-version.outputs.release }}.Win32.zip .\love
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.release }}.Win32.zip
build-linux:
runs-on: ubuntu-20.04
needs: [get-version, get-cc-url]
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python3 .github/workflows/updateVersion.py -T Version
- uses: ./.github/actions/build-linux
with:
cc-url: ${{ needs.get-cc-url.outputs.url }}/linux.zip
file-path: Techmino.a${{ needs.get-version.outputs.release }}.AppImage
icon: .github/build/Linux/icon.png
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.release }}.AppImage
build-android:
runs-on: ubuntu-20.04
needs: [get-version, get-cc-url]
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python3 .github/workflows/updateVersion.py -T Version
- uses: ./.github/actions/build-android
with:
type: Release
cc-url: ${{ needs.get-cc-url.outputs.url }}
code: ${{ needs.get-version.outputs.code }}
name: ${{ needs.get-version.outputs.name }}
file-path: Techmino.a${{ needs.get-version.outputs.Version }}.apk
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.Version }}.apk
build-android-mini:
runs-on: ubuntu-20.04
needs: [get-version, get-cc-url]
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python3 .github/workflows/updateVersion.py -T Version
- name: remove media
run: |
rm -rf media/music media/effect media/vocal
- uses: ./.github/actions/build-android
with:
type: Release
cc-url: ${{ needs.get-cc-url.outputs.url }}
code: ${{ needs.get-version.outputs.code }}
name: ${{ needs.get-version.outputs.name }}
file-path: Techmino.a${{ needs.get-version.outputs.Version }}.mini.apk
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.Version }}.mini.apk
build-macOS:
runs-on: macos-10.15
needs: [get-version, get-cc-url]
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python3 .github/workflows/updateVersion.py -T Version
- uses: ./.github/actions/build-macos
with:
cc-url: ${{ needs.get-cc-url.outputs.url }}/macOS.zip
name: ${{ needs.get-version.outputs.name }}
icon: .github/build/macOS/icon.icns
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
- name: Pack Techmino
run: |
zip -r -y Techmino.a${{ needs.get-version.outputs.Version }}.macOS.zip Techmino.app ".github/build/macOS/打不开Cant open the App.pdf"
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.Version }}.macOS.zip
build-love:
runs-on: ubuntu-20.04
needs: get-version
steps:
- uses: actions/checkout@v2
- name: Update Version
run: |
python3 .github/workflows/updateVersion.py -T Version
- uses: ./.github/actions/build-love
with:
file-path: Techmino.a${{ needs.get-version.outputs.release }}.love
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
files: Techmino.a${{ needs.get-version.outputs.release }}.love
Add-Release-note:
runs-on: ubuntu-20.04
needs: get-version
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 ReleaseNote
run: |
lua .github/workflows/getVersion.lua -updateNote > updateNote.txt
- name: Release
uses: softprops/action-gh-release@v1
with:
name: ${{ needs.get-version.outputs.updateTitle }}
body_path: updateNote.txt