diff --git a/.github/actions/build-ios/action.yml b/.github/actions/build-ios/action.yml index 58084d8b..6c3ef2cb 100644 --- a/.github/actions/build-ios/action.yml +++ b/.github/actions/build-ios/action.yml @@ -46,7 +46,6 @@ inputs: FASTLANE_MATCH_TOKEN: required: true description: "Fastlane Match Github token" - runs: using: "composite" steps: @@ -66,7 +65,6 @@ runs: mv Techmino.love Techmino-iOS/platform/xcode mv libcold_clear.a Techmino-iOS/platform/xcode mv libCCloader.a Techmino-iOS/platform/xcode - python3 .github/workflows/updateVersion.py -T iOS -N ${{ inputs.name }} - name: Run fastlane uses: maierj/fastlane-action@v2.0.1 with: @@ -81,6 +79,7 @@ runs: APP_ID: '${{ inputs.APPLE_APP_ID }}' APP_IDENTIFIER: '${{ inputs.APPLE_APP_IDENTIFIER }}' APP_PROFILE: '${{ inputs.APPLE_APP_PROFILE }}' + APP_VERSION: '${{ inputs.name }}' DEVELOPER_ACCOUNT: '${{ inputs.APPLE_DEVELOPER_ACCOUNT }}' KEYCHAIN_NAME: '${{ inputs.APPLE_KEYCHAIN_NAME }}' KEYCHAIN_PWD: '${{ inputs.APPLE_KEYCHAIN_PWD }}' diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 8c9df6a9..150dda98 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -130,7 +130,7 @@ jobs: APPLE_API_ID: '${{ secrets.APPLE_API_ID }}' APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}' APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}' - APPLE_APP_BUILD: '${{ needs.get-info.outputs.code }}.${{ github.run_number }}' + APPLE_APP_BUILD: '${{ needs.get-info.outputs.code }}.0.${{ github.run_number }}.${{ github.run_attempt }}' APPLE_APP_CHANGELOG: '${{ github.event.commits[0].message }}' APPLE_APP_ID: '${{ secrets.APPLE_APP_ID }}' APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ed3e21c..f76e4f45 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -190,7 +190,7 @@ jobs: APPLE_API_ID: '${{ secrets.APPLE_API_ID }}' APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}' APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}' - APPLE_APP_BUILD: '${{ needs.get-info.outputs.code }}.${{ github.run_number }}' + APPLE_APP_BUILD: '${{ needs.get-info.outputs.code }}.2.${{ github.run_number }}.${{ github.run_attempt }}' APPLE_APP_CHANGELOG: '${{ github.event.commits[0].message }}' APPLE_APP_ID: '${{ secrets.APPLE_APP_ID }}' APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..120c3e24 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,149 @@ +name: Techmino Test CI + +on: + push: + branches: [ pre* ] + pull_request: + branches: [ pre* ] + +jobs: + get-info: + runs-on: ubuntu-20.04 + outputs: + name: ${{ steps.actual-get-info.outputs.name }} + apkCode: ${{ steps.actual-get-info.outputs.apkCode }} + code: ${{ steps.actual-get-info.outputs.code }} + release: ${{ steps.actual-get-info.outputs.release }} + 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=apkCode::$(lua .github/workflows/getVersion.lua -apkCode)" + 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=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.pre${{ needs.get-info.outputs.release }}_${{ 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.pre${{ needs.get-info.outputs.release }}_${{ 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 + apkCode: ${{ needs.get-info.outputs.apkCode }} + 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.pre${{ needs.get-info.outputs.release }}_${{ 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 + APPLE_API_ID: '${{ secrets.APPLE_API_ID }}' + APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}' + APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}' + APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}' + APPLE_KEYCHAIN_NAME: '${{ secrets.APPLE_KEYCHAIN_NAME }}' + APPLE_KEYCHAIN_PWD: '${{ secrets.APPLE_KEYCHAIN_PWD }}' + FASTLANE_MATCH_PWD: '${{ secrets.FASTLANE_MATCH_PWD }}' + FASTLANE_MATCH_TOKEN: '${{ secrets.FASTLANE_MATCH_TOKEN }}' + - name: Upload + uses: actions/upload-artifact@v2 + with: + name: Techmino.pre${{ needs.get-info.outputs.release }}_${{ needs.get-info.outputs.commit }}.macOS + path: Techmino.dmg + + 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 }} + type: 'test' + APPLE_API_ID: '${{ secrets.APPLE_API_ID }}' + APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}' + APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}' + APPLE_APP_BUILD: '${{ needs.get-info.outputs.code }}.1.${{ github.run_number }}.${{ github.run_attempt }}' + APPLE_APP_CHANGELOG: '${{ github.event.commits[0].message }}' + APPLE_APP_ID: '${{ secrets.APPLE_APP_ID }}' + APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}' + APPLE_APP_PROFILE: '${{ secrets.APPLE_APP_PROFILE }}' + APPLE_DEVELOPER_ACCOUNT: '${{ secrets.APPLE_DEVELOPER_ACCOUNT }}' + APPLE_KEYCHAIN_NAME: '${{ secrets.APPLE_KEYCHAIN_NAME }}' + APPLE_KEYCHAIN_PWD: '${{ secrets.APPLE_KEYCHAIN_PWD }}' + FASTLANE_MATCH_PWD: '${{ secrets.FASTLANE_MATCH_PWD }}' + FASTLANE_MATCH_TOKEN: '${{ secrets.FASTLANE_MATCH_TOKEN }}' + - name: Upload + uses: actions/upload-artifact@v2 + with: + name: Techmino.pre${{ needs.get-info.outputs.release }}_${{ needs.get-info.outputs.commit }}.iOS + path: "Techmino.ipa" diff --git a/readme.md b/readme.md index 2af50408..03b48f9f 100644 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ ![platform](https://img.shields.io/badge/platform-windows%20%7C%20linux%20%7C%20android%20%7C%20macos%20%7C%20ios-brightgreen.svg) -[![Techmino Develop CI](https://github.com/26F-Studio/Techmino/actions/workflows/dev.yml/badge.svg)](https://github.com/26F-Studio/Techmino/actions/workflows/dev.yml) [![Techmino Release CI](https://github.com/26F-Studio/Techmino/actions/workflows/release.yml/badge.svg)](https://github.com/26F-Studio/Techmino/actions/workflows/release.yml) +[![Techmino Develop CI](https://github.com/26F-Studio/Techmino/actions/workflows/dev.yml/badge.svg)](https://github.com/26F-Studio/Techmino/actions/workflows/dev.yml) [![Techmino Test CI](https://github.com/26F-Studio/Techmino/actions/workflows/test.yml/badge.svg)](https://github.com/26F-Studio/Techmino/actions/workflows/test.yml) [![Techmino Release CI](https://github.com/26F-Studio/Techmino/actions/workflows/release.yml/badge.svg)](https://github.com/26F-Studio/Techmino/actions/workflows/release.yml) 《Techmino:方块研究所》——Github & Gitee 官方仓库 Official Repository