mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
69 lines
2.9 KiB
YAML
69 lines
2.9 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
|
|
interruptible: true
|
|
tags:
|
|
- mac
|
|
script:
|
|
- brew install cmake clang-format
|
|
- mkdir image
|
|
- mkdir image/dxc
|
|
- mkdir image/moltenvk
|
|
|
|
# The specified commit includes the open sourced libdxil.dylib,
|
|
# which is not available yet in any released version
|
|
- git clone --recursive https://github.com/microsoft/DirectXShaderCompiler.git
|
|
- cd DirectXShaderCompiler
|
|
- git checkout dfa1c814cc4c912ba982854b72f64527baa3e7e5
|
|
- mkdir build
|
|
- cd build
|
|
- cmake .. -C ../cmake/caches/PredefinedParams.cmake
|
|
- make -j$(sysctl -n hw.ncpu)
|
|
- cd ../..
|
|
- cp DirectXShaderCompiler/build/lib/libdxcompiler.dylib DirectXShaderCompiler/build/lib/libdxil.dylib image/dxc
|
|
|
|
- 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
|
|
artifacts:
|
|
paths:
|
|
- image
|