mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
46a1b66df7
The previous Intel-based macOS runner was replaced with another one running as a virtual machine on top of an Apple Silicon host. Since the current macOS runner is not yet able to deal with different exit codes, we temporarily allow failure unconditionally. This will be reverted as soon as the runner issue is fixed.
69 lines
2.8 KiB
YAML
69 lines
2.8 KiB
YAML
image-linux:
|
|
stage: image
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'push' && $CI_PROJECT_PATH == "wine/vkd3d" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
changes:
|
|
- .gitlab-ci.yml
|
|
- gitlab/image.yml
|
|
- gitlab/image.docker
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:debug
|
|
entrypoint: [""]
|
|
variables:
|
|
IMAGE_SOURCE: "$CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX/debian:bookworm"
|
|
IMAGE_LOCAL: "$CI_REGISTRY_IMAGE:debian-bookworm"
|
|
DOCKER_FILE: "$CI_PROJECT_DIR/gitlab/image.docker"
|
|
script:
|
|
- mkdir -p /kaniko/.docker
|
|
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64 | tr -d '\n')\"},\"$CI_DEPENDENCY_PROXY_SERVER\":{\"auth\":\"$(printf "%s:%s" "$CI_DEPENDENCY_PROXY_USER" "$CI_DEPENDENCY_PROXY_PASSWORD" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
|
|
- sed -i "1iFROM $IMAGE_SOURCE" "$DOCKER_FILE"
|
|
- /kaniko/executor --context "$CI_PROJECT_DIR" --dockerfile "$DOCKER_FILE" --destination "$IMAGE_LOCAL"
|
|
|
|
# Job `image-mac' must be run each time the pipeline is run on a push,
|
|
# otherwise macOS artifacts are not regenerated and macOS jobs cannot find them.
|
|
# So we add a dependency on image.docker too, even if that file is not really
|
|
# used for macOS.
|
|
image-mac:
|
|
stage: image
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == 'push' && $CI_PROJECT_PATH == "wine/vkd3d" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
changes:
|
|
- .gitlab-ci.yml
|
|
- gitlab/image.yml
|
|
- gitlab/image.docker
|
|
image: winehq-sonoma-pristine
|
|
variables:
|
|
TART_EXECUTOR_SSH_USERNAME: "gitlab"
|
|
TART_EXECUTOR_SSH_PASSWORD: "gitlab"
|
|
interruptible: true
|
|
tags:
|
|
- mac
|
|
script:
|
|
- mkdir image
|
|
- mkdir image/bin
|
|
- mkdir image/moltenvk
|
|
- export PATH="/usr/local/opt/bison/bin:/usr/local/opt/flex/bin:$PATH"
|
|
|
|
- git clone --depth 1 --branch v1.2.9 https://github.com/KhronosGroup/MoltenVK.git
|
|
- cd MoltenVK
|
|
- ./fetchDependencies --macos
|
|
- make macos
|
|
# Do not mark MoltenVK as a portability driver, otherwise it will be harder for vkd3d to find
|
|
# it. Since editing JSON properly is hard, we just rename the key.
|
|
- 'sed -i -e "s|is_portability_driver|_is_portability_driver|g" Package/Release/MoltenVK/dylib/macOS/MoltenVK_icd.json'
|
|
- cd ..
|
|
- cp MoltenVK/Package/Release/MoltenVK/dylib/macOS/MoltenVK_icd.json image/moltenvk
|
|
- cp MoltenVK/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib image/moltenvk
|
|
|
|
- git clone --depth 1 --branch wine-3.21 https://gitlab.winehq.org/wine/wine.git
|
|
- cd wine
|
|
- mkdir build
|
|
- cd build
|
|
- arch -x86_64 ../configure --enable-win64 --without-x --without-freetype
|
|
- arch -x86_64 make tools/widl/widl
|
|
- cd ../..
|
|
- cp wine/build/tools/widl/widl image/bin
|
|
artifacts:
|
|
paths:
|
|
- image
|