@@ -17,35 +17,35 @@ jobs:
1717 os : macos-14
1818 before_install : macos.sh
1919 conan_profile : macos-intel
20- conan_system_libs : ' * '
21- # - platform: mac-arm
22- # os: macos-14
23- # before_install: macos.sh
24- # conan_profile: macos-arm
25- # conan_system_libs: '*'
26- # - platform: ios
27- # os: macos-14
28- # before_install: macos.sh
29- # conan_profile: ios-arm64
30- # conan_system_libs: '*'
31- # - platform: android-armeabi-v7a
32- # os: ubuntu-24.04
33- # before_install: android.sh
34- # conan_profile: android-32-ndk
35- # conan_system_libs: zlib
36- # - platform: android-arm64-v8a
37- # os: ubuntu-24.04
38- # conan_profile: android-64-ndk
39- # conan_system_libs: zlib
40- # - platform: windows-x64
41- # os: windows-2022
42- # # before_install: msvc.sh
43- # conan_profile: msvc-x64
44- # conan_options: -o target_pre_windows10=True -c tools.cmake.cmaketoolchain:generator=
20+ conan_system_libs : bzip2 libiconv sqlite3 zlib
21+ - platform : mac-arm
22+ os : macos-14
23+ before_install : macos.sh
24+ conan_profile : macos-arm
25+ conan_system_libs : bzip2 libiconv sqlite3 zlib
26+ - platform : ios
27+ os : macos-14
28+ before_install : macos.sh
29+ conan_profile : ios-arm64
30+ conan_system_libs : bzip2 libiconv sqlite3 zlib
31+ - platform : android-armeabi-v7a
32+ os : ubuntu-24.04
33+ before_install : android.sh
34+ conan_profile : android-32-ndk
35+ conan_system_libs : zlib
36+ - platform : android-arm64-v8a
37+ os : ubuntu-24.04
38+ conan_profile : android-64-ndk
39+ conan_system_libs : zlib
40+ - platform : windows-x64
41+ os : windows-2022
42+ # before_install: msvc.sh
43+ conan_profile : msvc-x64
44+ conan_options : -o target_pre_windows10=True
4545 runs-on : ${{ matrix.os }}
4646
4747 steps :
48- - name : Checkout repository
48+ - name : Checkout VCMI
4949 uses : actions/checkout@v4
5050 # TODO
5151 with :
@@ -79,29 +79,82 @@ jobs:
7979 --single-branch
8080 cd "$systemLibsRepo"
8181 for p in ${{ matrix.conan_system_libs }} ; do
82- [ -d "$p" ] && conan create "$p" --user system
82+ conan create "$p" --user system
83+ done
84+
85+ steps :
86+ - name : Checkout current
87+ uses : actions/checkout@v4
88+ with :
89+ path : deps
90+
91+ - name : Build recipes with our patches
92+ shell : bash
93+ run : |
94+ cciRepo='conan-center-index'
95+ branchName='master'
96+ recipePathMinizip='recipes/minizip/all'
97+ recipePathQt='recipes/qt/5.x.x'
98+ custom_patches_path="$(pwd)/deps/conan_patches"
99+
100+ git clone "https://github.com/conan-io/$cciRepo.git" \
101+ --branch "$branchName" \
102+ --no-checkout \
103+ --depth 1 \
104+ --no-tags \
105+ --single-branch
106+ cd "$cciRepo"
107+ git sparse-checkout init
108+ git sparse-checkout set "$recipePathMinizip" "$recipePathQt"
109+ git switch "$branchName"
110+
111+ # versions must be synced with: conan_patches/<package>/conandata.yml
112+ # if no custom patches are required for a package, it should be removed from here
113+ for p in minizip/1.3.1 qt/5.15.16 ; do
114+ IFS_OLD="$IFS"
115+ read package version <<<"$p"
116+ IFS="IFS_OLD"
117+
118+ if [[ $package == qt ]] ; then
119+ packagePath="$recipePathQt"
120+ else
121+ packagePath="recipes/$package/all"
122+ fi
123+
124+ conan create "$packagePath" \
125+ --version="$version" \
126+ --profile=CI/conan/${{ matrix.conan_profile }} \
127+ --build=missing \
128+ --test-folder='' \
129+ --core-conf core.sources.patch:extra_path="$custom_patches_path"
83130 done
84131
85132 # TODO: remove when https://github.com/conan-io/conan-center-index/pull/26577 is merged
86133 - name : Build LuaJIT from PR changes
87134 shell : bash
88135 run : |
89- # TODO: sparse checkout
90- cciForkRepo='conan-center-index'
91- git clone "https://github.com/kambala-decapitator/$cciForkRepo.git" \
92- --branch package/luajit \
136+ cciForkRepo='cci-fork'
137+ branchName='package/luajit'
138+ recipePath='recipes/luajit/all'
139+
140+ git clone "https://github.com/kambala-decapitator/conan-center-index.git" "$cciForkRepo" \
141+ --branch "$branchName" \
142+ --no-checkout \
93143 --depth 1 \
94144 --no-tags \
95145 --single-branch
96- conan create "$cciForkRepo/recipes/luajit/all" \
146+ cd "$cciForkRepo"
147+ git sparse-checkout init
148+ git sparse-checkout set "$recipePath"
149+ git switch "$branchName"
150+
151+ conan create "$recipePath" \
97152 --version=2.1.0-beta3 \
98153 --profile=CI/conan/${{ matrix.conan_profile }} \
99- --build=missing
100-
101- # TODO:
102- # 1. download our patches
103- # 2. build patched packages with conan create
154+ --build=missing \
155+ --test-folder=''
104156
157+ # must run in the native platform shell: Qt doesn't build in bash on Windows
105158 - name : Generate conan profile
106159 run : |
107160 conan install . -of conan-generated -b missing -pr CI/conan/${{ matrix.conan_profile }} ${{ matrix.conan_options }}
0 commit comments