mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-20 20:23:03 +02:00
[CI] configure android builds
This commit is contained in:
parent
3c2fd7f1b8
commit
299bf93390
45
.github/workflows/github.yml
vendored
45
.github/workflows/github.yml
vendored
@ -83,6 +83,7 @@ jobs:
|
|||||||
extension: dmg
|
extension: dmg
|
||||||
preset: macos-conan-ninja-release
|
preset: macos-conan-ninja-release
|
||||||
conan_profile: macos-intel
|
conan_profile: macos-intel
|
||||||
|
conan_options: --options with_apple_system_libs=True
|
||||||
artifact_platform: intel
|
artifact_platform: intel
|
||||||
- platform: mac-arm
|
- platform: mac-arm
|
||||||
os: macos-12
|
os: macos-12
|
||||||
@ -91,6 +92,7 @@ jobs:
|
|||||||
extension: dmg
|
extension: dmg
|
||||||
preset: macos-arm-conan-ninja-release
|
preset: macos-arm-conan-ninja-release
|
||||||
conan_profile: macos-arm
|
conan_profile: macos-arm
|
||||||
|
conan_options: --options with_apple_system_libs=True
|
||||||
artifact_platform: arm
|
artifact_platform: arm
|
||||||
- platform: ios
|
- platform: ios
|
||||||
os: macos-12
|
os: macos-12
|
||||||
@ -99,6 +101,7 @@ jobs:
|
|||||||
extension: ipa
|
extension: ipa
|
||||||
preset: ios-release-conan
|
preset: ios-release-conan
|
||||||
conan_profile: ios-arm64
|
conan_profile: ios-arm64
|
||||||
|
conan_options: --options with_apple_system_libs=True
|
||||||
- platform: msvc
|
- platform: msvc
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
test: 0
|
test: 0
|
||||||
@ -114,6 +117,20 @@ jobs:
|
|||||||
cmake_args: -G Ninja
|
cmake_args: -G Ninja
|
||||||
preset: windows-mingw-conan-linux
|
preset: windows-mingw-conan-linux
|
||||||
conan_profile: mingw64-linux.jinja
|
conan_profile: mingw64-linux.jinja
|
||||||
|
- platform: android-32
|
||||||
|
os: ubuntu-22.04
|
||||||
|
extension: apk
|
||||||
|
preset: android-conan-ninja-release
|
||||||
|
conan_profile: android-32
|
||||||
|
conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
|
||||||
|
artifact_platform: armeabi-v7a
|
||||||
|
- platform: android-64
|
||||||
|
os: ubuntu-22.04
|
||||||
|
extension: apk
|
||||||
|
preset: android-conan-ninja-release
|
||||||
|
conan_profile: android-64
|
||||||
|
conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
|
||||||
|
artifact_platform: aarch64-v8a
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@ -144,7 +161,7 @@ jobs:
|
|||||||
--build=never \
|
--build=never \
|
||||||
--profile:build=default \
|
--profile:build=default \
|
||||||
--profile:host=CI/conan/${{ matrix.conan_profile }} \
|
--profile:host=CI/conan/${{ matrix.conan_profile }} \
|
||||||
--options with_apple_system_libs=True
|
${{ matrix.conan_options }}
|
||||||
env:
|
env:
|
||||||
GENERATE_ONLY_BUILT_CONFIG: 1
|
GENERATE_ONLY_BUILT_CONFIG: 1
|
||||||
|
|
||||||
@ -188,6 +205,13 @@ jobs:
|
|||||||
&& '${{github.workspace}}/CI/${{matrix.platform}}/post_pack.sh' '${{github.workspace}}' "$(ls '${{ env.VCMI_PACKAGE_FILE_NAME }}'.*)"
|
&& '${{github.workspace}}/CI/${{matrix.platform}}/post_pack.sh' '${{github.workspace}}' "$(ls '${{ env.VCMI_PACKAGE_FILE_NAME }}'.*)"
|
||||||
rm -rf _CPack_Packages
|
rm -rf _CPack_Packages
|
||||||
|
|
||||||
|
- name: Create android package
|
||||||
|
if: ${{ startsWith(matrix.platform, 'android') }}
|
||||||
|
run: |
|
||||||
|
cd android
|
||||||
|
./gradlew assembleDaily --info
|
||||||
|
echo ANDROID_APK_PATH="$(ls ${{ github.workspace }}/android/vcmi-app/build/outputs/apk/daily/*.${{ matrix.extension }})" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Additional logs
|
- name: Additional logs
|
||||||
if: ${{ failure() && steps.cpack.outcome == 'failure' && matrix.platform == 'msvc' }}
|
if: ${{ failure() && steps.cpack.outcome == 'failure' && matrix.platform == 'msvc' }}
|
||||||
run: |
|
run: |
|
||||||
@ -201,12 +225,19 @@ jobs:
|
|||||||
name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }}
|
name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }}
|
||||||
path: |
|
path: |
|
||||||
${{github.workspace}}/out/build/${{matrix.preset}}/${{ env.VCMI_PACKAGE_FILE_NAME }}.${{ matrix.extension }}
|
${{github.workspace}}/out/build/${{matrix.preset}}/${{ env.VCMI_PACKAGE_FILE_NAME }}.${{ matrix.extension }}
|
||||||
|
- name: Android artifacts
|
||||||
|
if: ${{ startsWith(matrix.platform, 'android') }}
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }}
|
||||||
|
path: |
|
||||||
|
${{ env.ANDROID_APK_PATH }}
|
||||||
|
|
||||||
- name: Upload build
|
- name: Upload build
|
||||||
if: ${{ matrix.pack == 1 && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/features/')) && matrix.platform != 'msvc' }}
|
if: ${{ (matrix.pack == 1 || startsWith(matrix.platform, 'android')) && (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/features/')) && matrix.platform != 'msvc' }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
cd '${{github.workspace}}/out/build/${{matrix.preset}}'
|
cd '${{github.workspace}}/android/vcmi-app/build/outputs/apk/daily' || cd '${{github.workspace}}/out/build/${{matrix.preset}}'
|
||||||
source '${{github.workspace}}/CI/upload_package.sh'
|
source '${{github.workspace}}/CI/upload_package.sh'
|
||||||
env:
|
env:
|
||||||
DEPLOY_RSA: ${{ secrets.DEPLOY_RSA }}
|
DEPLOY_RSA: ${{ secrets.DEPLOY_RSA }}
|
||||||
@ -219,11 +250,3 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||||
if: always()
|
if: always()
|
||||||
|
|
||||||
- name: Trigger Android
|
|
||||||
uses: peter-evans/repository-dispatch@v1
|
|
||||||
if: ${{ (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/beta' || github.ref == 'refs/heads/master') && matrix.platform == 'msvc' }}
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.VCMI_ANDROID_ACCESS_TOKEN }}
|
|
||||||
repository: vcmi/vcmi-android
|
|
||||||
event-type: vcmi
|
|
||||||
|
4
CI/android-32/before_install.sh
Executable file
4
CI/android-32/before_install.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DEPS_FILENAME=armeabi-v7a
|
||||||
|
. CI/android/before_install.sh
|
4
CI/android-64/before_install.sh
Executable file
4
CI/android-64/before_install.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DEPS_FILENAME=aarch64-v8a
|
||||||
|
. CI/android/before_install.sh
|
8
CI/android/before_install.sh
Executable file
8
CI/android/before_install.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install ninja-build
|
||||||
|
|
||||||
|
mkdir ~/.conan ; cd ~/.conan
|
||||||
|
curl -L "https://github.com/vcmi/vcmi-dependencies/releases/download/android-1.0/$DEPS_FILENAME.txz" \
|
||||||
|
| tar -xf - --xz
|
@ -186,6 +186,18 @@
|
|||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"CMAKE_PREFIX_PATH": "${sourceDir}/build/iphoneos"
|
"CMAKE_PREFIX_PATH": "${sourceDir}/build/iphoneos"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "android-conan-ninja-release",
|
||||||
|
"displayName": "Android release",
|
||||||
|
"description": "VCMI Android Ninja using Conan",
|
||||||
|
"inherits": [
|
||||||
|
"build-with-conan",
|
||||||
|
"default-release"
|
||||||
|
],
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Release"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"buildPresets": [
|
"buildPresets": [
|
||||||
@ -255,6 +267,11 @@
|
|||||||
"name": "ios-release-legacy",
|
"name": "ios-release-legacy",
|
||||||
"configurePreset": "ios-release-legacy",
|
"configurePreset": "ios-release-legacy",
|
||||||
"inherits": "ios-release-conan"
|
"inherits": "ios-release-conan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "android-conan-ninja-release",
|
||||||
|
"configurePreset": "android-conan-ninja-release",
|
||||||
|
"inherits": "default-release"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"testPresets": [
|
"testPresets": [
|
||||||
|
Loading…
Reference in New Issue
Block a user