@@ -40,179 +40,179 @@ jobs:
4040 github.event_name == 'schedule' &&
4141 steps.git_info.outputs.current_commit == steps.last_successful_commit.outputs.commit-hash
4242
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
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
216216
217217 build_windows :
218218 if : github.repository_owner == 'viamrobotics'
0 commit comments