Files
Techmino/.github/workflows/build.yml
Particle_G e236be7a62 Ci ios (#395)
* merge get-cc-url into get-version

* add `get-cc`

* remove `apt update`

* rename `get-version` -> `get-info`

* rm unnecessary file

* - Add support for ios
- Fix missing top folder for macos

* - Fix directory names

* - Fix with binary r/w

* iOS的plist文件先转换为明文

* add IOS

* 整合新action

* Finishing touch

* Update action.yml

* Test chmod

* - Xcode build test

* - Build with default keychain

* - Test iOS only

* - Use macos-11

* - Change keychain operations' sequence

* - Allow provisioning updates

* - Set build directory

* - Specify build path

* - Pack bare app

* - Add quiet option

* 测试:输出touchrelease位置

* - Test with ad hoc cert

* - Fix wrong variable

* - Use Release instead of Distribution

* - Chmod CCloader to add execute permission

* 继续测试ios触屏问题

* 继续测试ios触屏问题

* - Use macos latest
- Re-enable other runs

* - Sign CCloader after build

* - Remove redundant inputs in build.yml

* - Install test

* - Export test

* - install test

* - Try fastlane

* - Use builtin ruby

* - CI Test

* - Update python script to fix ios versioning

* - Use static lib

* - Test static cc

* - Fix locations

* Update readme.md

Co-authored-by: Imple Lee <80144331+ImpleLee@users.noreply.github.com>
Co-authored-by: Trebor-Huang <2300936257@qq.com>
Co-authored-by: Trebor Huang <41145779+Trebor-Huang@users.noreply.github.com>
Co-authored-by: YunyushuLiu <kunluntree@qq.com>
Co-authored-by: MrZ626 <1046101471@qq.com>
Co-authored-by: 梦飞翔 <1149761294@qq.com>
2021-10-20 13:07:51 +08:00

139 lines
5.0 KiB
YAML

name: Techmino CI
on:
push:
branches: [ main, ci* ]
pull_request:
branches: [ main, ci* ]
jobs:
get-info:
runs-on: ubuntu-20.04
outputs:
name: ${{ steps.actual-get-info.outputs.name }}
code: ${{ steps.actual-get-info.outputs.code }}
commit: ${{ steps.actual-get-info.outputs.commit }}
steps:
- uses: actions/checkout@v2
- name: Install lua
run: |
sudo apt-get install lua5.3 -y
- name: Get Version
id: actual-get-info
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=commit::$(git rev-parse --short ${{ GITHUB.SHA }})"
build-windows:
runs-on: windows-latest
needs: get-info
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/snapshot-update
with:
commit: ${{ needs.get-info.outputs.commit }}
- 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
arch: win64
version: ${{ needs.get-info.outputs.name }}
icon: .\.github\build\Windows\icon_snapshot.ico
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_Windows
path: love
build-linux:
runs-on: ubuntu-20.04
needs: get-info
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/snapshot-update
with:
commit: ${{ needs.get-info.outputs.commit }}
- uses: ./.github/actions/build-linux
with:
icon: .github/build/Linux/icon_snapshot.png
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_Linux
path: Techmino.AppImage
build-android:
runs-on: ubuntu-20.04
needs: get-info
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/snapshot-update
with:
commit: ${{ needs.get-info.outputs.commit }}
- uses: ./.github/actions/build-android
with:
type: Snapshot
code: ${{ needs.get-info.outputs.code }}
name: ${{ needs.get-info.outputs.name }}
file-path: Techmino_Snapshot.apk
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_Android
path: Techmino_Snapshot.apk
build-macOS:
runs-on: macos-10.15
needs: get-info
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/snapshot-update
with:
commit: ${{ needs.get-info.outputs.commit }}
- uses: ./.github/actions/build-macos
with:
name: ${{ needs.get-info.outputs.name }}
icon: .github/build/macOS/icon_snapshot.icns
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
- name: Pack Techmino
run: |
zip -r -y Techmino.zip Techmino.app
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Techmino_${{ needs.get-info.outputs.name }}_${{ GITHUB.RUN_NUMBER }}_${{ needs.get-info.outputs.commit }}_macOS
path: Techmino.zip
build-iOS:
runs-on: macos-latest
needs: get-info
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/snapshot-update
with:
commit: ${{ needs.get-info.outputs.commit }}
- uses: ./.github/actions/build-ios
with:
name: ${{ needs.get-info.outputs.name }}
APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}'
DEVELOPER_APP_ID: '${{ secrets.DEVELOPER_APP_ID }}'
DEVELOPER_APP_IDENTIFIER: '${{ secrets.DEVELOPER_APP_IDENTIFIER }}'
DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.DEVELOPER_PORTAL_TEAM_ID }}'
FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}'
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}'
MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}'
GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.PROVISIONING_PROFILE_SPECIFIER }}'
TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
TEMP_KEYCHAIN_USER: '${{ secrets.TEMP_KEYCHAIN_USER }}'
APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'