forked from vcmi/vcmi
-
Notifications
You must be signed in to change notification settings - Fork 0
122 lines (108 loc) · 3.74 KB
/
prebuilts.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
name: VCMI - dependencies
on:
push:
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
# - platform: mac-intel
# os: macos-13
# preset: macos-conan-ninja-release
# conan_profile: macos-intel
# conan_options: --options with_apple_system_libs=True
# artifact_platform: intel
# - platform: mac-arm
# os: macos-13
# preset: macos-arm-conan-ninja-release
# conan_profile: macos-arm
# conan_options: --options with_apple_system_libs=True
# artifact_platform: arm
# - platform: ios
# os: macos-13
# preset: ios-release-conan-ccache
# conan_profile: ios-arm64
# conan_options: --options with_apple_system_libs=True
- platform: msvc-conan-64
os: windows-2019
conan_profile: windows-msvc-64
preset: windows-msvc-release
- platform: msvc-conan-32
os: windows-2019
conan_profile: windows-msvc-32
preset: windows-msvc-release
# - platform: mingw
# os: ubuntu-22.04
# preset: windows-mingw-conan-linux
# conan_profile: mingw64-linux.jinja
# - platform: mingw-32
# os: ubuntu-22.04
# preset: windows-mingw-conan-linux
# conan_profile: mingw32-linux.jinja
# - platform: android-32
# os: macos-14
# preset: android-conan-ninja-release
# conan_profile: android-32-ndk
# conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
# artifact_platform: armeabi-v7a
# - platform: android-64
# os: macos-14
# preset: android-conan-ninja-release
# conan_profile: android-64-ndk
# conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
# artifact_platform: arm64-v8a
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: source '${{github.workspace}}/CI/${{matrix.platform}}/before_install.sh'
env:
VCMI_BUILD_PLATFORM: x64
- name: Remove old packages
run: rm -rf ~/.conan/data/ffmpeg/4.4.3/_/_/package
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup Conan
run: pip3 install 'conan<2.0'
- name: Generate conan profile
run: |
conan profile new default --detect
conan install . \
--install-folder=conan-generated \
--no-imports \
--build=missing \
--profile:build=default \
--profile:host=CI/conan/${{ matrix.conan_profile }} \
${{ matrix.conan_options }}
env:
GENERATE_ONLY_BUILT_CONFIG: 1
- name: Remove builds and source code
run: "conan remove --builds --src --force '*'"
- name: Remove Android SDK
run: rm -rf ~/.conan/data/android-ndk
- name: Create dependencies archive
run: "tar -czvf dependencies.tgz -C ~/.conan data"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform }}
compression-level: 0
path: 'dependencies.tgz'
- name: Create additional dependencies archive
iif: ${{ startsWith(matrix.platform, 'msvc') }}
run: "tar -czvf dependencies-2.tgz /c/.conan"
- name: Upload additional artifacts
iif: ${{ startsWith(matrix.platform, 'msvc') }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform }}-2
compression-level: 0
path: 'dependencies-2.tgz'