Skip to content

Commit 46770f4

Browse files
committed
Added initial version of actions to rebuild dependencies package
1 parent 321a0d4 commit 46770f4

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: VCMI - dependencies
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
include:
16+
- platform: mac-intel
17+
os: macos-13
18+
preset: macos-conan-ninja-release
19+
conan_profile: macos-intel
20+
conan_options: --options with_apple_system_libs=True
21+
artifact_platform: intel
22+
- platform: mac-arm
23+
os: macos-13
24+
preset: macos-arm-conan-ninja-release
25+
conan_profile: macos-arm
26+
conan_options: --options with_apple_system_libs=True
27+
artifact_platform: arm
28+
- platform: ios
29+
os: macos-13
30+
preset: ios-release-conan-ccache
31+
conan_profile: ios-arm64
32+
conan_options: --options with_apple_system_libs=True
33+
- platform: mingw
34+
os: ubuntu-22.04
35+
preset: windows-mingw-conan-linux
36+
conan_profile: mingw64-linux.jinja
37+
- platform: mingw-32
38+
os: ubuntu-22.04
39+
preset: windows-mingw-conan-linux
40+
conan_profile: mingw32-linux.jinja
41+
- platform: android-32
42+
os: macos-14
43+
preset: android-conan-ninja-release
44+
conan_profile: android-32-ndk
45+
conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
46+
artifact_platform: armeabi-v7a
47+
- platform: android-64
48+
os: macos-14
49+
preset: android-conan-ninja-release
50+
conan_profile: android-64-ndk
51+
conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
52+
artifact_platform: arm64-v8a
53+
runs-on: ${{ matrix.os }}
54+
defaults:
55+
run:
56+
shell: bash
57+
58+
steps:
59+
- name: Checkout repository
60+
uses: actions/checkout@v4
61+
with:
62+
repository: 'vcmi/vcmi'
63+
ref: 'update_prebuilts'
64+
65+
- name: Install dependencies
66+
run: source '${{github.workspace}}/CI/${{matrix.platform}}/before_install.sh'
67+
env:
68+
VCMI_BUILD_PLATFORM: x64
69+
70+
- name: Remove old packages
71+
run: rm -rf ~/.conan/data/ffmpeg ~/.conan/data/yasm ~/.conan/data/pkgconfig ~/.conan/data/xz_utils
72+
73+
- name: Setup Python
74+
uses: actions/setup-python@v5
75+
with:
76+
python-version: '3.10'
77+
78+
- name: Setup Conan
79+
run: pip3 install 'conan<2.0'
80+
81+
- name: Generate conan profile
82+
run: |
83+
conan profile new default --detect
84+
conan install . \
85+
--install-folder=conan-generated \
86+
--no-imports \
87+
--build=missing \
88+
--profile:build=default \
89+
--profile:host=CI/conan/${{ matrix.conan_profile }} \
90+
${{ matrix.conan_options }}
91+
env:
92+
GENERATE_ONLY_BUILT_CONFIG: 1
93+
94+
- name: Remove builds and source code
95+
run: "conan remove --builds --src --force '*'"
96+
97+
- name: Remove Android SDK
98+
if: ${{ startsWith(matrix.platform, 'android') }}
99+
run: rm -rf ~/.conan/data/android-ndk
100+
101+
- name: Create dependencies archive
102+
run: "tar --create --xz --file dependencies-${{matrix.platform}}.txz -C ~/.conan data"
103+
104+
- name: Upload artifacts
105+
uses: actions/upload-artifact@v4
106+
with:
107+
name: dependencies-${{ matrix.platform }}
108+
compression-level: 0
109+
path: 'dependencies-${{matrix.platform}}.txz'

0 commit comments

Comments
 (0)