@@ -3,51 +3,19 @@ name: Conan-Tests
33on : push
44
55jobs :
6- Conan-Tests :
7- strategy :
8- fail-fast : false
9- matrix :
10- include :
11- - OS : " windows-latest"
12- CXX : " "
13- CC : " "
14- ConanExtra : " "
15- - OS : " ubuntu-latest"
16- CXX : g++-11
17- CC : gcc-11
18- ConanExtra : " -s compiler.version=11 -s compiler.libcxx=libstdc++11"
19-
20- name : Conan-tests
21- runs-on : ${{ matrix.OS }}
6+ Conan-Tests-Windows :
7+ name : Conan-tests-Windows
8+ runs-on : " windows-latest"
229 steps :
2310 - name : Install Conan
24- id : conan
2511 uses : turtlebrowser/get-conan@main
2612
2713 - name : install CMake
2814 uses : lukka/get-cmake@latest
29-
30- - name : Install Gcc
31- if : ${{ matrix.OS == 'ubuntu-latest' }}
32- run : |
33- sudo apt update
34- sudo apt install -y gcc-11 g++-11 git
3515
3616 - name : Install MSVC
37- if : ${{ matrix.OS == 'windows-latest' }}
3817 uses : ilammy/msvc-dev-cmd@v1
3918
40- - name : Install GTest
41- run : |
42- git clone https://github.com/conan-io/conan-center-index/
43- cd conan-center-index
44- git checkout 2bd7020ededca50833509199c85190a8e787620c
45- cd recipes/gtest/all/
46- conan create . 1.11.0@ ${{ matrix.ConanExtra }}
47- env :
48- CC : ${{ matrix.CC }}
49- CXX : ${{ matrix.CXX }}
50-
5119 - name : Checkout source
5220 uses : actions/checkout@v2
5321
6331 }
6432 Set-Location ../conan
6533 conan create . ${{ matrix.ConanExtra }}
66- env :
67- CC : ${{ matrix.CC }}
68- CXX : ${{ matrix.CXX }}
6934
7035 - name : Test packages
7136 shell : pwsh
8449 Remove-Item -Recurse -Force build
8550 Set-Location ..
8651 }
87- env :
88- CC : ${{ matrix.CC }}
89- CXX : ${{ matrix.CXX }}
52+
53+ Conan-Tests-Linux :
54+ name : Conan-tests-linux
55+ runs-on : " ubuntu-latest"
56+
57+ strategy :
58+ fail-fast : false
59+ matrix :
60+ include :
61+ - image : " ghcr.io/fettpet/clang-conan-cmake-dockercontainer:cmake3.21.4-clang11-conan1.42.1"
62+ ConanExtra : " -s compiler.libcxx=libc++"
63+ - image : " ghcr.io/fettpet/clang-conan-cmake-dockercontainer:cmake3.21.4-clang12-conan1.42.1"
64+ ConanExtra : " -s compiler.libcxx=libc++"
65+ - image : " ghcr.io/fettpet/clang-conan-cmake-dockercontainer:cmake3.21.4-clang13-conan1.42.1"
66+ ConanExtra : " -s compiler.libcxx=libc++"
67+ steps :
68+
69+ - name : Checkout source
70+ uses : actions/checkout@v2
71+
72+
73+ - name : Create Conan home folder
74+ shell : pwsh
75+ run : |
76+ $DIRECTORY_PATH= Join-Path ${Env:RUNNER_TEMP} conanserver
77+ echo "DIRECTORY_PATH=${DIRECTORY_PATH}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
78+ if(!(Test-Path -path $DIRECTORY_PATH))
79+ {
80+ New-Item -ItemType directory -Path $DIRECTORY_PATH
81+ }
82+
83+ - name : Debug
84+ shell : pwsh
85+ run : gci env:* | sort-object name
86+
87+ - name : Install packages
88+ shell : pwsh
89+ run : |
90+ Set-Location src
91+ [array]$folders=@('array19.lib','coro19.lib','meta19.lib','tuple19.lib', 'string19.lib', 'strong19.lib', 'variant19.lib', 'enum19.lib', 'lookup19.lib', 'optional19.lib', 'partial19.lib', 'serialize19.lib', 'signal19.lib')
92+ foreach ($folder in $folders) {
93+ Set-Location $folder
94+ docker run --network="host" --rm -v ${PWD}:/project -v ${env:DIRECTORY_PATH}:/conan -w /project ${{ matrix.image }} conan create . ${{ matrix.ConanExtra }}
95+ Set-Location ..
96+ }
97+ Set-Location ../conan
98+ $Path = Get-Location
99+ Write-Output $Path
100+ docker run --network="host" --rm -v ${env:GITHUB_WORKSPACE}:/project -v ${env:DIRECTORY_PATH}:/conan -w /project/conan ${{ matrix.image }} conan create . ${{ matrix.ConanExtra }}
101+
102+ - name : Test packages
103+ shell : pwsh
104+ run : |
105+ Set-Location conan/tests
106+ [array]$folders=Get-ChildItem -Path . -Directory -Name
107+ foreach ($folder in $folders) {
108+ New-Item -Path . -Name $folder"/build" -ItemType "directory"
109+ docker run --network="host" --rm -v ${env:GITHUB_WORKSPACE}:/project -v ${env:DIRECTORY_PATH}:/conan -w /project/conan/tests/${folder}/build ${{ matrix.image }} conan install .. --build=gtest ${{ matrix.ConanExtra }}
110+ docker run --network="host" --rm -v ${env:GITHUB_WORKSPACE}:/project -v ${env:DIRECTORY_PATH}:/conan -w /project/conan/tests/${folder}/build ${{ matrix.image }} cmake .. -DCONAN_DISABLE_CHECK_COMPILER=true
111+ docker run --network="host" --rm -v ${env:GITHUB_WORKSPACE}:/project -v ${env:DIRECTORY_PATH}:/conan -w /project/conan/tests/${folder}/build ${{ matrix.image }} cmake --build .
112+ docker run --network="host" --rm -v ${env:GITHUB_WORKSPACE}:/project -v ${env:DIRECTORY_PATH}:/conan -w /project/conan/tests/${folder}/build ${{ matrix.image }} ctest --no-tests=error
113+ if (!$?) {
114+ exit(1)
115+ }
116+ }
0 commit comments