twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
[wine.git] / tools / gitlab / build.yml
blob8a5d5b40ac1897d54cb08fc14521d6b9799927d1
1 # CI script for building Wine
3 .wine-build:
4   stage: build
5   image: $CI_REGISTRY/wine/wine:debian-bookworm
6   interruptible: true
7   variables:
8     GIT_DEPTH: 0
9   cache:
10     - paths:
11         - ccache/
12     - key:
13         files:
14           - configure.ac
15       paths:
16         - build32/config.cache
17         - build64/config.cache
18   before_script:
19     - export BASEDIR="$PWD"
20     - export CCACHE_BASEDIR="$BASEDIR"
21     - export CCACHE_DIR="$BASEDIR/ccache"
22     - export CCACHE_COMPILERCHECK=content
23     - export PATH="/usr/lib/ccache:$PATH"
24     - git config --global --add safe.directory $CI_PROJECT_DIR
25     - git fetch --tags
26     - mkdir -p build32 build64
27     - rm -fr .git/rebase-merge  # in case a previous CI run failed in git rebase
29 build-linux:
30   extends: .wine-build
31   rules:
32     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
33   artifacts:
34     expire_in: 1 day
35     paths:
36       - usr/local/
37   script:
38     - git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./tools/gitlab/build-linux
40 build-mac:
41   extends: .wine-build
42   rules:
43     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
44   tags:
45     - mac
46   artifacts:
47     when: on_failure
48     paths:
49       - build64/config.log
50       - build32/config.log
51   script:
52     - export PATH="/usr/local/opt/ccache/libexec:$PATH"
53     - git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./tools/gitlab/build-mac
55 build-daily-linux:
56   extends: .wine-build
57   rules:
58     - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
59   artifacts:
60     expire_in: 1 day
61     paths:
62       - usr/local/
63   script:
64     - ./tools/gitlab/build-linux
66 build-winetest:
67   stage: build
68   image: $CI_REGISTRY/wine/wine:debian-bookworm
69   rules:
70     - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
71   needs:
72     - job: build-daily-linux
73   variables:
74     GIT_STRATEGY: none
75   artifacts:
76     name: winetest
77     paths:
78       - winetest.exe
79       - winetest64.exe
80   script:
81     - mv usr/local/lib/wine/i386-windows/winetest.exe winetest.exe
82     - mv usr/local/lib/wine/x86_64-windows/winetest.exe winetest64.exe