Skip to content

Commit 4cc4d26

Browse files
committed
try adding conan windows job
1 parent aa6cdf7 commit 4cc4d26

File tree

1 file changed

+188
-159
lines changed

1 file changed

+188
-159
lines changed

.github/workflows/conan.yml

Lines changed: 188 additions & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)