| version: 1.0.{build} |
| |
| image: |
| - Visual Studio 2019 |
| - Ubuntu |
| |
| platform: x64 |
| configuration: Release |
| |
| environment: |
| APPVEYOR_YML_DISABLE_PS_LINUX: true |
| HLSL_SRC_DIR: c:\projects\DirectXShaderCompiler |
| HLSL_BLD_DIR: c:\projects\DirectXShaderCompiler\build |
| ARTIFACTS_DIR_NAME: dxc-artifacts |
| ARTIFACTS_ZIP_NAME_WINDOWS: $(ARTIFACTS_DIR_NAME).zip |
| ARTIFACTS_ZIP_NAME_LINUX: $(ARTIFACTS_DIR_NAME).tar.gz |
| |
| clone_folder: c:\projects\DirectXShaderCompiler |
| |
| artifacts: |
| - path: build\$(configuration)\$(ARTIFACTS_ZIP_NAME_WINDOWS) |
| |
| # The clone folder and artifacts path is different for the Ubuntu image. |
| for: |
| - |
| matrix: |
| only: |
| - image: Ubuntu |
| clone_folder: /home/appveyor/projects/DirectXShaderCompiler |
| artifacts: |
| - path: build/$(ARTIFACTS_ZIP_NAME_LINUX) |
| |
| install: |
| - git submodule update --init |
| - cmd: set PATH=C:\ninja;C:\Python36;%PATH% |
| |
| before_build: |
| - cmd: call utils\hct\hctstart %HLSL_SRC_DIR% %HLSL_BLD_DIR% |
| |
| build_script: |
| - cmd: call utils\hct\hctbuild -%PLATFORM% -%CONFIGURATION% -show-cmake-log -spirvtest |
| - sh: mkdir build && cd build |
| - sh: cmake .. -GNinja -C ../cmake/caches/PredefinedParams.cmake -DSPIRV_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-Werror |
| - sh: ninja |
| |
| test_script: |
| - ps: utils\appveyor\appveyor_test.ps1 |
| - cmd: call utils\hct\hcttest -rel spirv_only |
| - sh: ./bin/dxc --help |
| - sh: ./bin/dxc -T ps_6_0 ../tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv |
| - sh: ./bin/dxc -T ps_6_0 -Fo passthru-ps.dxil ../tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv |
| - sh: ./bin/dxc -T ps_6_0 -Fo passthru-ps.spv ../tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv -spirv |
| - sh: ./bin/clang-spirv-tests --spirv-test-root ../tools/clang/test/CodeGenSPIRV/ |
| - sh: ./bin/clang-hlsl-tests --HlslDataDir $PWD/../tools/clang/test/HLSL/ |
| |
| after_test: |
| # Collect artifacts for Windows |
| - cmd: cd build\%CONFIGURATION% |
| - cmd: echo %APPVEYOR_REPO_COMMIT% > GIT-COMMIT.txt |
| - cmd: xcopy "%HLSL_SRC_DIR%\include\dxc" include\dxc /s /i /y |
| - cmd: 7z a %ARTIFACTS_ZIP_NAME_WINDOWS% include lib\d*.lib bin\d*.exe bin\d*.dll bin\d*.pdb bin\HLSLHost.exe GIT-COMMIT.txt |
| # Collect artifacts for Linux |
| - sh: mkdir "${ARTIFACTS_DIR_NAME}" && cd "${ARTIFACTS_DIR_NAME}" && mkdir bin && mkdir lib && mkdir include && cd .. |
| - sh: cp lib/libdxcompiler.so* "${ARTIFACTS_DIR_NAME}"/lib/ |
| - sh: cp bin/dxc "${ARTIFACTS_DIR_NAME}"/bin/ |
| - sh: cp -r ../include/dxc "${ARTIFACTS_DIR_NAME}"/include |
| - sh: echo "${APPVEYOR_REPO_COMMIT}" > "${ARTIFACTS_DIR_NAME}"/GIT-COMMIT.txt |
| - sh: tar -czvf "${ARTIFACTS_ZIP_NAME_LINUX}" "${ARTIFACTS_DIR_NAME}" |
| |
| notifications: |
| - provider: GitHubPullRequest |
| on_build_success: true |
| on_build_failure: true |
| on_build_status_changed: true |
| |