@@ -40,178 +40,207 @@ jobs:
4040 github.event_name == 'schedule' &&
4141 steps.git_info.outputs.current_commit == steps.last_successful_commit.outputs.commit-hash
4242
43- # TODO (RSDK-10666) add windows build testing
44-
45- build_macos :
46- if : github.repository_owner == 'viamrobotics'
47- needs : [prepare]
48- runs-on : macos-latest
49- strategy :
50- fail-fast : false
51- matrix :
52- include :
53- - target : aarch64-apple-darwin
54- platform : macosx_arm64
55- - target : x86_64-apple-darwin
56- platform : macosx_x86_64
57- steps :
58- - name : Checkout Code
59- uses : actions/checkout@v4
60-
61- - name : Install dependencies
62- run : |
63- brew install cmake
64- brew install python ninja buf
65- python -m pip install conan
66-
67- - name : Create package
68- run : |
69- # `buf` tries to read a CLI config file that we don't actually use located at
70- # ~/.config/buf/config.yaml. We don't always have permission to access this
71- # directory in CI, so we set the `BUF_CONFIG_DIR` to some other value that we
72- # do have permissions for. See https://github.com/bufbuild/buf/issues/2698 for
73- # more details.
74- export BUF_CONFIG_DIR=$(mktemp -d)
75- conan profile detect
76- conan create . --build=missing -s compiler.cppstd=17
77-
78- build_linux_ubuntu_jammy :
43+ # build_macos:
44+ # if: github.repository_owner == 'viamrobotics'
45+ # needs: [prepare]
46+ # runs-on: macos-latest
47+ # strategy:
48+ # fail-fast: false
49+ # matrix:
50+ # include:
51+ # - target: aarch64-apple-darwin
52+ # platform: macosx_arm64
53+ # - target: x86_64-apple-darwin
54+ # platform: macosx_x86_64
55+ # steps:
56+ # - name: Checkout Code
57+ # uses: actions/checkout@v4
58+
59+ # - name: Install dependencies
60+ # run: |
61+ # brew install cmake
62+ # brew install python ninja buf
63+ # python -m pip install conan
64+
65+ # - name: Create package
66+ # run: |
67+ # # `buf` tries to read a CLI config file that we don't actually use located at
68+ # # ~/.config/buf/config.yaml. We don't always have permission to access this
69+ # # directory in CI, so we set the `BUF_CONFIG_DIR` to some other value that we
70+ # # do have permissions for. See https://github.com/bufbuild/buf/issues/2698 for
71+ # # more details.
72+ # export BUF_CONFIG_DIR=$(mktemp -d)
73+ # conan profile detect
74+ # conan create . --build=missing -s compiler.cppstd=17
75+
76+ # build_linux_ubuntu_jammy:
77+ # if: github.repository_owner == 'viamrobotics'
78+ # needs: [prepare]
79+ # runs-on: ${{ matrix.runs_on }}
80+ # container:
81+ # image: ${{ matrix.image }}
82+ # strategy:
83+ # fail-fast: false
84+ # matrix:
85+ # include:
86+ # - target: aarch64-ubuntu-jammy-gnu
87+ # platform: linux_aarch64-ubuntu-jammy
88+ # image: ubuntu:22.04
89+ # runs_on: buildjet-8vcpu-ubuntu-2204-arm
90+ # - target: x86_64-ubuntu-jammy-gnu
91+ # platform: linux_x86_64-ubuntu-jammy
92+ # image: ubuntu:22.04
93+ # runs_on: buildjet-8vcpu-ubuntu-2204
94+
95+ # steps:
96+ # - name: Checkout Code
97+ # uses: actions/checkout@v4
98+
99+ # - name: Install dependencies
100+ # run: |
101+ # apt-get update
102+ # apt-get -y dist-upgrade
103+ # DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
104+ # autoconf \
105+ # automake \
106+ # build-essential \
107+ # ca-certificates \
108+ # curl \
109+ # doxygen \
110+ # g++ \
111+ # gdb \
112+ # gnupg \
113+ # gpg \
114+ # less \
115+ # ninja-build \
116+ # python3 \
117+ # python3-pip \
118+ # software-properties-common \
119+ # sudo \
120+ # wget \
121+
122+ # sudo wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
123+ # sudo echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
124+
125+ # apt-get update
126+ # apt-get -y install cmake=3.25.2-0kitware1ubuntu22.04.1 cmake-data=3.25.2-0kitware1ubuntu22.04.1
127+
128+ # pip install conan
129+
130+ # - name: Create package
131+ # shell: bash
132+ # run: |
133+ # conan profile detect
134+ # conan create . --build=missing -s compiler.cppstd=14 -s:a compiler.cppstd=14
135+
136+ # build_linux_debian:
137+ # if: github.repository_owner == 'viamrobotics'
138+ # needs: [prepare]
139+ # runs-on: ${{ matrix.runs_on }}
140+ # container:
141+ # image: ${{ matrix.image }}
142+ # strategy:
143+ # fail-fast: false
144+ # matrix:
145+ # include:
146+ # - target: aarch64-debian-bullseye
147+ # platform: linux_aarch64-debian-bullseye
148+ # image: debian:bullseye
149+ # runs_on: buildjet-8vcpu-ubuntu-2204-arm
150+ # - target: x86_64-debian-bullseye
151+ # platform: linux_x86_64-debian-bullseye
152+ # image: debian:bullseye
153+ # runs_on: buildjet-8vcpu-ubuntu-2204
154+ # - target: aarch64-debian-bookworm
155+ # platform: linux_aarch64-debian-bookworm
156+ # image: debian:bookworm
157+ # runs_on: buildjet-8vcpu-ubuntu-2204-arm
158+ # - target: x86_64-debian-bookworm
159+ # platform: linux_x86_64-debian-bookworm
160+ # image: debian:bookworm
161+ # runs_on: buildjet-8vcpu-ubuntu-2204
162+
163+ # steps:
164+ # - name: Checkout Code
165+ # uses: actions/checkout@v4
166+
167+ # - name: Install dependencies
168+ # run: |
169+ # apt-get update
170+ # apt-get -y dist-upgrade
171+ # DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
172+ # autoconf \
173+ # build-essential \
174+ # ca-certificates \
175+ # cmake \
176+ # curl \
177+ # g++ \
178+ # gdb \
179+ # gnupg \
180+ # gpg \
181+ # less \
182+ # ninja-build \
183+ # python3 \
184+ # python3-pip \
185+ # python3-venv \
186+ # software-properties-common \
187+ # sudo \
188+ # wget
189+
190+ # - name: Update CMake for bullseye
191+ # if: ${{ matrix.image == 'debian:bullseye' }}
192+ # run: |
193+ # apt-add-repository -y 'deb http://deb.debian.org/debian bullseye-backports main'
194+
195+ # apt-get update
196+ # apt-get -y install cmake
197+
198+ # apt-get -y --no-install-recommends install -t bullseye-backports cmake
199+
200+ # # Note bullseye can use regular pip + conan no problem, but
201+ # # bookworm is a managed environment, so we use a venv in both because it is more
202+ # # trouble to bifurcate them.
203+ # - name: Install conan in venv and create package
204+ # shell: bash
205+ # run: |
206+ # python3 -m venv ./conan_venv
207+ # source ./conan_venv/bin/activate
208+
209+ # pip install conan
210+ # conan profile detect
211+
212+ # conan install -r conancenter --update \
213+ # --tool-requires=b2/5.3.1 --build=b2/5.3.1 -s compiler.cppstd=14 -s:a compiler.cppstd=14
214+
215+ # conan create . --build=missing -s compiler.cppstd=14 -s:a compiler.cppstd=14
216+
217+ build_windows :
79218 if : github.repository_owner == 'viamrobotics'
80219 needs : [prepare]
81- runs-on : ${{ matrix.runs_on }}
82- container :
83- image : ${{ matrix.image }}
220+ runs-on : windows-latest
84221 strategy :
85222 fail-fast : false
86223 matrix :
87224 include :
88- - target : aarch64-ubuntu-jammy-gnu
89- platform : linux_aarch64-ubuntu-jammy
90- image : ubuntu:22.04
91- runs_on : buildjet-8vcpu-ubuntu-2204-arm
92- - target : x86_64-ubuntu-jammy-gnu
93- platform : linux_x86_64-ubuntu-jammy
94- image : ubuntu:22.04
95- runs_on : buildjet-8vcpu-ubuntu-2204
96-
225+ - target : x86_64-windows
226+ platform : windows_x86_64
97227 steps :
98228 - name : Checkout Code
99229 uses : actions/checkout@v4
230+ with :
231+ ref : ${{ needs.prepare.outputs.sha }}
100232
101233 - name : Install dependencies
102- run : |
103- apt-get update
104- apt-get -y dist-upgrade
105- DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
106- autoconf \
107- automake \
108- build-essential \
109- ca-certificates \
110- curl \
111- doxygen \
112- g++ \
113- gdb \
114- gnupg \
115- gpg \
116- less \
117- ninja-build \
118- python3 \
119- python3-pip \
120- software-properties-common \
121- sudo \
122- wget \
123-
124- sudo wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
125- sudo echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
126-
127- apt-get update
128- apt-get -y install cmake=3.25.2-0kitware1ubuntu22.04.1 cmake-data=3.25.2-0kitware1ubuntu22.04.1
129-
130- pip install conan
234+ run : choco install -y conan git
131235
132236 - name : Create package
133- shell : bash
237+ shell : powershell
134238 run : |
239+ Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
240+ refreshenv
135241 conan profile detect
136- conan create . --build=missing -s compiler.cppstd=14 -s:a compiler.cppstd=14
137-
138- build_linux_debian :
139- if : github.repository_owner == 'viamrobotics'
140- needs : [prepare]
141- runs-on : ${{ matrix.runs_on }}
142- container :
143- image : ${{ matrix.image }}
144- strategy :
145- fail-fast : false
146- matrix :
147- include :
148- - target : aarch64-debian-bullseye
149- platform : linux_aarch64-debian-bullseye
150- image : debian:bullseye
151- runs_on : buildjet-8vcpu-ubuntu-2204-arm
152- - target : x86_64-debian-bullseye
153- platform : linux_x86_64-debian-bullseye
154- image : debian:bullseye
155- runs_on : buildjet-8vcpu-ubuntu-2204
156- - target : aarch64-debian-bookworm
157- platform : linux_aarch64-debian-bookworm
158- image : debian:bookworm
159- runs_on : buildjet-8vcpu-ubuntu-2204-arm
160- - target : x86_64-debian-bookworm
161- platform : linux_x86_64-debian-bookworm
162- image : debian:bookworm
163- runs_on : buildjet-8vcpu-ubuntu-2204
164-
165- steps :
166- - name : Checkout Code
167- uses : actions/checkout@v4
168-
169- - name : Install dependencies
170- run : |
171- apt-get update
172- apt-get -y dist-upgrade
173- DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
174- autoconf \
175- build-essential \
176- ca-certificates \
177- cmake \
178- curl \
179- g++ \
180- gdb \
181- gnupg \
182- gpg \
183- less \
184- ninja-build \
185- python3 \
186- python3-pip \
187- python3-venv \
188- software-properties-common \
189- sudo \
190- wget
191-
192- - name : Update CMake for bullseye
193- if : ${{ matrix.image == 'debian:bullseye' }}
194- run : |
195- apt-add-repository -y 'deb http://deb.debian.org/debian bullseye-backports main'
196-
197- apt-get update
198- apt-get -y install cmake
199-
200- apt-get -y --no-install-recommends install -t bullseye-backports cmake
201-
202- # Note bullseye can use regular pip + conan no problem, but
203- # bookworm is a managed environment, so we use a venv in both because it is more
204- # trouble to bifurcate them.
205- - name : Install conan in venv and create package
206- shell : bash
207- run : |
208- python3 -m venv ./conan_venv
209- source ./conan_venv/bin/activate
210-
211- pip install conan
212- conan profile detect
213-
214- conan install -r conancenter --update \
215- --tool-requires=b2/5.3.1 --build=b2/5.3.1 -s compiler.cppstd=14 -s:a compiler.cppstd=14
242+ conan create . --build=missing -o "&:shared=False"
243+ env :
244+ CONAN_USER_HOME : c:/cache
245+ CONAN_USER_HOME_SHORT : c:/cache/conan_shortpaths
216246
217- conan create . --build=missing -s compiler.cppstd=14 -s:a compiler.cppstd=14
0 commit comments