diff --git a/.github/workflows/APK_Debug.yml b/.github/workflows/APK_Debug.yml new file mode 100644 index 00000000..abfcb0e3 --- /dev/null +++ b/.github/workflows/APK_Debug.yml @@ -0,0 +1,150 @@ +name: APK Debug +on: + push: + paths-ignore: + - '**/*.md' + - .gitignore + - .editorconfig + - appveyor.yml + - 'azure-pipelines*.yml' + - 'ci/azure-pipelines/template*.yml' + + pull_request: + paths-ignore: + - '**/*.md' + - .gitignore + - .editorconfig + - appveyor.yml + - 'azure-pipelines*.yml' + - 'ci/azure-pipelines/template*.yml' + +jobs: +#Prepare: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 +# - name: Build MCinaBox APK with Gradle +# run: | +# chmod +x gradlew +# ./gradlew clean :app:assembleDebug +# - name: Upload APK +# uses: actions/upload-artifact@v2 +# with: +# name: app-debug +# path: app/build/outputs/apk/debug/app-debug.apk + + build_on_Windows: + name: Build on Windows + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1.4.3 + with: + java-version: 1.8 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- +#保存cache时在Windows里遇到权限问题(太懒还没修复) :) + + - name: Build MCinaBox Debug (with gradle) + run: | + chmod +x gradlew + ./gradlew clean :app:assembleDebug + shell: bash + - name: Change APK name + run: | + mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/MCinaBox-${{ runner.os }}-Debug.apk + shell: bash + - name: Upload All Pack + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-DebugPack + path: app/build/outputs + - name: Upload APK + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-Debug.apk + path: app/build/outputs/apk/debug/MCinaBox-${{ runner.os }}-Debug.apk + + build_on_Ubuntu: + name: Build on Ubuntu + runs-on: Ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1.4.3 + with: + java-version: 1.8 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Build MCinaBox Debug (with gradle) + run: | + chmod +x gradlew + ./gradlew clean :app:assembleDebug + shell: bash + - name: Change APK name + run: | + mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/MCinaBox-${{ runner.os }}-Debug.apk + shell: bash + - name: Upload All Pack + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-DebugPack + path: app/build/outputs + - name: Upload APK + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-Debug.apk + path: app/build/outputs/apk/debug/MCinaBox-${{ runner.os }}-Debug.apk + + build_on_MacOS: + name: Build on MacOS + runs-on: MacOS-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1.4.3 + with: + java-version: 1.8 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Build MCinaBox Debug (with gradle) + run: | + chmod +x gradlew + ./gradlew clean :app:assembleDebug + shell: bash + - name: Change APK name + run: | + mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/MCinaBox-${{ runner.os }}-Debug.apk + shell: bash + - name: Upload All Pack + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-DebugPack + path: app/build/outputs + - name: Upload APK + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-Debug.apk + path: app/build/outputs/apk/debug/MCinaBox-${{ runner.os }}-Debug.apk diff --git a/.github/workflows/APK_Release_Nightly.yml b/.github/workflows/APK_Release_Nightly.yml new file mode 100644 index 00000000..b412eaa8 --- /dev/null +++ b/.github/workflows/APK_Release_Nightly.yml @@ -0,0 +1,176 @@ +name: APK Release Nightly Build +on: + workflow_dispatch: + inputs: + Reason: + description: 'Reasons for temporary build' + required: true + default: 'No reason.Just do it.' + schedule: + - cron: '0 16 * * *' + +# 北京时间0点开始构建,环境时间也重置成北京时间了哦 PS:抱歉了世界各国朋友们(这里标签没用...) +# 0:00 Beijing time (zone) + +jobs: +#Prepare: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 +# - name: Build MCinaBox APK with Gradle +# run: | +# chmod +x gradlew +# ./gradlew clean :app:assembleRelease +# - name: Upload APK +# uses: actions/upload-artifact@v2 +# with: +# name: app-debug +# path: app/build/outputs/apk/debug/app-debug.apk + +# build_on_Windows: +# name: Build on Windows +# runs-on: windows-latest +# +# steps: +# - name: Setup timezone +# uses: zcong1993/setup-timezone@master +# with: +# timezone: Asia/Shanghai +# +# - name: Get current time +# uses: srfrnk/current-time@master +# id: current-time +# with: +# format: YYYY-MM-DD +# +# - uses: actions/checkout@v2 +# - name: Set up JDK 1.8 +# uses: actions/setup-java@v1.4.3 +# with: +# java-version: 1.8 +# - uses: actions/cache@v2 +# with: +# path: | +# ~/.gradle/caches +# ~/.gradle/wrapper +# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} +# restore-keys: | +# ${{ runner.os }}-gradle- +# - name: Build MCinaBox Release (with gradle) +# run: | +# chmod +x gradlew +# ./gradlew clean :app:assembleRelease +# shell: bash +# - name: Change APK name +# run: | +# mv app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk +# shell: bash +# - name: Upload All Pack +# uses: actions/upload-artifact@v2 +# with: +# name: MCinaBox-${{ runner.os }}-ReleasePack-${{ steps.current-time.outputs.formattedTime }} +# path: app/build/outputs +# - name: Upload APK +# uses: actions/upload-artifact@v2 +# with: +# name: MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk +# path: app/build/outputs/apk/release/MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk + + build_on_Ubuntu: + name: Build on Ubuntu + runs-on: Ubuntu-latest + + steps: + - name: Setup timezone + uses: zcong1993/setup-timezone@master + with: + timezone: Asia/Shanghai +#这玩意暂时只能用在Ubuntu,正在找其他系统解决方案 + + - name: Get current time + uses: srfrnk/current-time@master + id: current-time + with: + format: YYYY-MM-DD +#暂不知道这玩意是不是取的本地时间 + + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1.4.3 + with: + java-version: 1.8 + - uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Build MCinaBox Release (with gradle) + run: | + chmod +x gradlew + ./gradlew clean :app:assembleRelease + shell: bash + - name: Change APK name + run: | + mv app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk + shell: bash + - name: Upload All Pack + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-ReleasePack-${{ steps.current-time.outputs.formattedTime }} + path: app/build/outputs + - name: Upload APK + uses: actions/upload-artifact@v2 + with: + name: MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk + path: app/build/outputs/apk/release/MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk + +# build_on_MacOS: +# name: Build on MacOS +# runs-on: MacOS-latest +# +# steps: +# - name: Setup timezone +# uses: zcong1993/setup-timezone@master +# with: +# timezone: Asia/Shanghai +# +# - name: Get current time +# uses: srfrnk/current-time@master +# id: current-time +# with: +# format: YYYY-MM-DD +# - uses: actions/checkout@v2 +# - name: Set up JDK 1.8 +# uses: actions/setup-java@v1.4.3 +# with: +# java-version: 1.8 +# - uses: actions/cache@v2 +# with: +# path: | +# ~/.gradle/caches +# ~/.gradle/wrapper +# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} +# restore-keys: | +# ${{ runner.os }}-gradle- +# - name: Build MCinaBox Release (with gradle) +# run: | +# chmod +x gradlew +# ./gradlew clean :app:assembleRelease +# shell: bash +# - name: Change APK name +# run: | +# mv app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk +# shell: bash +# - name: Upload All Pack +# uses: actions/upload-artifact@v2 +# with: +# name: MCinaBox-${{ runner.os }}-ReleasePack-${{ steps.current-time.outputs.formattedTime }} +# path: app/build/outputs +# - name: Upload APK +# uses: actions/upload-artifact@v2 +# with: +# name: MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk +# path: app/build/outputs/apk/release/MCinaBox-${{ runner.os }}-Release-${{ steps.current-time.outputs.formattedTime }}.apk diff --git a/.github/workflows/android_ci.yml b/.github/workflows/android_ci.yml deleted file mode 100644 index 74e85e9f..00000000 --- a/.github/workflows/android_ci.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Android CI -on: push -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Build MCinaBox APK with Gradle - run: | - chmod +x gradlew - ./gradlew clean :app:assembleDebug - - name: Upload APK - uses: actions/upload-artifact@v2 - with: - name: app-debug - path: app/build/outputs/apk/debug/app-debug.apk