Browse Source

Install dependencies as separate CI step

Ivan Savenko 1 year ago
parent
commit
4dc521743c

+ 13 - 2
.github/workflows/github.yml

@@ -40,6 +40,7 @@ jobs:
             extension: dmg
             preset: macos-conan-ninja-release
             conan_profile: macos-intel
+            conan_prebuilts: dependencies-mac-intel
             conan_options: --options with_apple_system_libs=True
             artifact_platform: intel
           - platform: mac-arm
@@ -50,6 +51,7 @@ jobs:
             extension: dmg
             preset: macos-arm-conan-ninja-release
             conan_profile: macos-arm
+            conan_prebuilts: dependencies-mac-arm
             conan_options: --options with_apple_system_libs=True
             artifact_platform: arm
           - platform: ios
@@ -60,6 +62,7 @@ jobs:
             extension: ipa
             preset: ios-release-conan-ccache
             conan_profile: ios-arm64
+            conan_prebuilts: dependencies-ios
             conan_options: --options with_apple_system_libs=True
           - platform: msvc
             os: windows-latest
@@ -89,11 +92,13 @@ jobs:
             cmake_args: -G Ninja
             preset: windows-mingw-conan-linux
             conan_profile: mingw32-linux.jinja
+            conan_prebuilts: dependencies-mingw-32
           - platform: android-32
             os: macos-14
             extension: apk
             preset: android-conan-ninja-release
             conan_profile: android-32
+            conan_prebuilts: dependencies-android-32
             conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
             artifact_platform: armeabi-v7a
           - platform: android-64
@@ -101,6 +106,7 @@ jobs:
             extension: apk
             preset: android-conan-ninja-release
             conan_profile: android-64
+            conan_prebuilts: dependencies-android-64
             conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
             artifact_platform: arm64-v8a
     runs-on: ${{ matrix.os }}
@@ -109,15 +115,20 @@ jobs:
         shell: bash
 
     steps:
-    - uses: actions/checkout@v4
+    - name: Checkout repository
+      uses: actions/checkout@v4
       with:
         submodules: recursive
 
-    - name: Dependencies
+    - name: Prepare CI
       run: source '${{github.workspace}}/CI/${{matrix.platform}}/before_install.sh'
       env:
         VCMI_BUILD_PLATFORM: x64
 
+    - name: Install Conan Dependencies
+      if: "${{ matrix.conan_prebuilts != '' }}"
+      run: source '${{github.workspace}}/CI/install_conan_dependencies.sh' '${{matrix.conan_prebuilts}}'
+
     # ensure the ccache for each PR is separate so they don't interfere with each other
     # fall back to ccache of the vcmi/vcmi repo if no PR-specific ccache is found
     - name: ccache for PRs

+ 1 - 3
CI/android/before_install.sh

@@ -2,6 +2,4 @@
 
 echo "ANDROID_NDK_ROOT=$ANDROID_HOME/ndk/25.2.9519653" >> $GITHUB_ENV
 
-brew install ninja
-
-. CI/install_conan_dependencies.sh "$DEPS_FILENAME"
+brew install ninja

+ 0 - 2
CI/ios/before_install.sh

@@ -2,6 +2,4 @@
 
 echo DEVELOPER_DIR=/Applications/Xcode_14.2.app >> $GITHUB_ENV
 
-. CI/install_conan_dependencies.sh "dependencies-ios"
-
 brew install ninja

+ 0 - 1
CI/mac-arm/before_install.sh

@@ -1,4 +1,3 @@
 #!/usr/bin/env bash
 
-DEPS_FILENAME=dependencies-mac-arm
 . CI/mac/before_install.sh

+ 0 - 1
CI/mac-intel/before_install.sh

@@ -1,4 +1,3 @@
 #!/usr/bin/env bash
 
-DEPS_FILENAME=dependencies-mac-intel
 . CI/mac/before_install.sh

+ 0 - 2
CI/mac/before_install.sh

@@ -3,5 +3,3 @@
 echo DEVELOPER_DIR=/Applications/Xcode_14.2.app >> $GITHUB_ENV
 
 brew install ninja
-
-. CI/install_conan_dependencies.sh "$DEPS_FILENAME"