Skip to content

Commit 7e693a9

Browse files
committed
add windows job
1 parent 28ca03e commit 7e693a9

File tree

1 file changed

+163
-111
lines changed

1 file changed

+163
-111
lines changed

.github/workflows/conan-publish.yml

Lines changed: 163 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -14,142 +14,194 @@ on:
1414
description: If true, publish slow-building deps as well
1515

1616
jobs:
17-
build_macos:
18-
# Not sure if we actually need x64 macos-latest
19-
runs-on: macos-latest
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
with:
25-
ref: releases/${{ inputs.ref }}
26-
27-
28-
- name: Install dependencies
29-
run: |
30-
cmake --version
31-
python --version
32-
ninja --version
33-
brew install buf
34-
python -m pip install conan
35-
36-
- name: Set up python/conan
37-
env:
38-
CONAN_REMOTE_URL: ${{ secrets.conanRemote }}
39-
CONAN_LOGIN_USERNAME_VIAMCONAN: ${{ secrets.conanUsername}}
40-
CONAN_PASSWORD_VIAMCONAN: ${{ secrets.conanPassword }}
41-
run: |
42-
conan profile detect
43-
conan remote add viamconan $CONAN_REMOTE_URL
44-
conan remote auth -cc core:non_interactive=True viamconan
45-
46-
- name: Create and upload package
47-
run: |
48-
# `buf` tries to read a CLI config file that we don't actually use located at
49-
# ~/.config/buf/config.yaml. We don't always have permission to access this
50-
# directory in CI, so we set the `BUF_CONFIG_DIR` to some other value that we
51-
# do have permissions for. See https://github.com/bufbuild/buf/issues/2698 for
52-
# more details.
53-
export BUF_CONFIG_DIR=$(mktemp -d)
54-
conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False"
55-
conan upload "viam-cpp-sdk/*" -r viamconan -c
56-
57-
- name: Upload additional deps
58-
if: inputs.upload_deps
59-
run: |
60-
conan upload "boost/*" -r viamconan -c
61-
conan upload "grpc/*" -r viamconan -c
62-
conan upload "protobuf/*" -r viamconan -c
63-
64-
65-
build_linux:
66-
strategy:
67-
fail-fast: false
68-
matrix:
69-
runner: [buildjet-8vcpu-ubuntu-2204, buildjet-8vcpu-ubuntu-2204-arm]
70-
image: [ubuntu:22.04, debian:bookworm]
71-
runs-on: ${{ matrix.runner }}
72-
container:
73-
image: ${{ matrix.image }}
17+
# build_macos:
18+
# # Not sure if we actually need x64 macos-latest
19+
# runs-on: macos-latest
20+
21+
# steps:
22+
# - name: Checkout code
23+
# uses: actions/checkout@v4
24+
# with:
25+
# ref: releases/${{ inputs.ref }}
26+
27+
28+
# - name: Install dependencies
29+
# run: |
30+
# cmake --version
31+
# python --version
32+
# ninja --version
33+
# brew install buf
34+
# python -m pip install conan
35+
36+
# - name: Set up python/conan
37+
# env:
38+
# CONAN_REMOTE_URL: ${{ secrets.conanRemote }}
39+
# CONAN_LOGIN_USERNAME_VIAMCONAN: ${{ secrets.conanUsername}}
40+
# CONAN_PASSWORD_VIAMCONAN: ${{ secrets.conanPassword }}
41+
# run: |
42+
# conan profile detect
43+
# conan remote add viamconan $CONAN_REMOTE_URL
44+
# conan remote auth -cc core:non_interactive=True viamconan
45+
46+
# - name: Create and upload package
47+
# run: |
48+
# # `buf` tries to read a CLI config file that we don't actually use located at
49+
# # ~/.config/buf/config.yaml. We don't always have permission to access this
50+
# # directory in CI, so we set the `BUF_CONFIG_DIR` to some other value that we
51+
# # do have permissions for. See https://github.com/bufbuild/buf/issues/2698 for
52+
# # more details.
53+
# export BUF_CONFIG_DIR=$(mktemp -d)
54+
# conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False"
55+
# conan upload "viam-cpp-sdk/*" -r viamconan -c
56+
57+
# - name: Upload additional deps
58+
# if: inputs.upload_deps
59+
# run: |
60+
# conan upload "boost/*" -r viamconan -c
61+
# conan upload "grpc/*" -r viamconan -c
62+
# conan upload "protobuf/*" -r viamconan -c
63+
64+
65+
# build_linux:
66+
# strategy:
67+
# fail-fast: false
68+
# matrix:
69+
# runner: [buildjet-8vcpu-ubuntu-2204, buildjet-8vcpu-ubuntu-2204-arm]
70+
# image: [ubuntu:22.04, debian:bookworm]
71+
# runs-on: ${{ matrix.runner }}
72+
# container:
73+
# image: ${{ matrix.image }}
74+
75+
# steps:
76+
# - name: Checkout code
77+
# uses: actions/checkout@v4
78+
# with:
79+
# ref: releases/${{ inputs.ref }}
80+
81+
# - name: Show platform info
82+
# run: |
83+
# uname -a
84+
# cat /etc/os-release
85+
86+
# - name: Install common deps
87+
# run: |
88+
# apt-get update
89+
# apt-get -y dist-upgrade
90+
# DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
91+
# autoconf \
92+
# automake \
93+
# build-essential \
94+
# ca-certificates \
95+
# curl \
96+
# doxygen \
97+
# g++ \
98+
# gdb \
99+
# gnupg \
100+
# gpg \
101+
# less \
102+
# ninja-build \
103+
# python3 \
104+
# python3-pip \
105+
# python3-venv \
106+
# software-properties-common \
107+
# sudo \
108+
# wget \
109+
110+
# c++ --version
111+
# ldd --version
112+
113+
# - name: Install cmake (jammy)
114+
# if: matrix.image == 'ubuntu:22.04'
115+
# run: |
116+
# 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
117+
# 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
118+
119+
# apt-get update
120+
# apt-get -y install cmake=3.25.2-0kitware1ubuntu22.04.1 cmake-data=3.25.2-0kitware1ubuntu22.04.1
121+
122+
# - name: Install cmake (bookworm)
123+
# if: matrix.image == 'debian:bookworm'
124+
# run: DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install cmake
125+
126+
# - name: Set up python/conan
127+
# env:
128+
# CONAN_REMOTE_URL: ${{ secrets.conanRemote }}
129+
# CONAN_LOGIN_USERNAME_VIAMCONAN: ${{ secrets.conanUsername}}
130+
# CONAN_PASSWORD_VIAMCONAN: ${{ secrets.conanPassword }}
131+
# run: |
132+
# python3 -m venv ./conan_venv
133+
# . ./conan_venv/bin/activate
134+
135+
# pip install conan
136+
137+
# conan profile detect
138+
# conan remote add viamconan $CONAN_REMOTE_URL
139+
# conan remote auth -cc core:non_interactive=True viamconan
140+
141+
# - name: Create and upload package
142+
# run: |
143+
# . ./conan_venv/bin/activate
144+
145+
# conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False"
146+
# conan upload "viam-cpp-sdk/*" -r viamconan -c
147+
148+
# - name: Upload additional deps
149+
# if: inputs.upload_deps && !(matrix.runner == 'buildjet-8vcpu-ubuntu-2204' && matrix.image == 'ubuntu:22.04')
150+
# run: |
151+
# conan upload "boost/*" -r viamconan -c
152+
# conan upload "grpc/*" -r viamconan -c
153+
# conan upload "protobuf/*" -r viamconan -c
154+
155+
build_windows:
156+
runs-on: windows-latest
74157

75158
steps:
76159
- name: Checkout code
77160
uses: actions/checkout@v4
78161
with:
79162
ref: releases/${{ inputs.ref }}
80163

81-
- name: Show platform info
82-
run: |
83-
uname -a
84-
cat /etc/os-release
85-
86-
- name: Install common deps
87-
run: |
88-
apt-get update
89-
apt-get -y dist-upgrade
90-
DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install \
91-
autoconf \
92-
automake \
93-
build-essential \
94-
ca-certificates \
95-
curl \
96-
doxygen \
97-
g++ \
98-
gdb \
99-
gnupg \
100-
gpg \
101-
less \
102-
ninja-build \
103-
python3 \
104-
python3-pip \
105-
python3-venv \
106-
software-properties-common \
107-
sudo \
108-
wget \
109-
110-
c++ --version
111-
ldd --version
112-
113-
- name: Install cmake (jammy)
114-
if: matrix.image == 'ubuntu:22.04'
115-
run: |
116-
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
117-
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
118-
119-
apt-get update
120-
apt-get -y install cmake=3.25.2-0kitware1ubuntu22.04.1 cmake-data=3.25.2-0kitware1ubuntu22.04.1
121-
122-
- name: Install cmake (bookworm)
123-
if: matrix.image == 'debian:bookworm'
124-
run: DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install cmake
164+
- name: Install dependencies
165+
run: choco install -y conan git
125166

126167
- name: Set up python/conan
127168
env:
128169
CONAN_REMOTE_URL: ${{ secrets.conanRemote }}
129170
CONAN_LOGIN_USERNAME_VIAMCONAN: ${{ secrets.conanUsername}}
130-
CONAN_PASSWORD_VIAMCONAN: ${{ secrets.conanPassword }}
171+
CONAN_USER_HOME: c:/cache
172+
CONAN_USER_HOME_SHORT: c:/cache/conan_shortpaths
173+
shell: powershell
131174
run: |
132-
python3 -m venv ./conan_venv
133-
. ./conan_venv/bin/activate
134-
135-
pip install conan
175+
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
176+
refreshenv
136177
137178
conan profile detect
138-
conan remote add viamconan $CONAN_REMOTE_URL
179+
180+
conan remote add viamconan $env:CONAN_REMOTE_URL
139181
conan remote auth -cc core:non_interactive=True viamconan
140182
141183
- name: Create and upload package
184+
shell: powershell
142185
run: |
143-
. ./conan_venv/bin/activate
186+
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
187+
refreshenv
144188
145-
conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False"
189+
conan create . --build=missing -o "&:shared=False" -s compiler.cppstd=17
146190
conan upload "viam-cpp-sdk/*" -r viamconan -c
191+
env:
192+
CONAN_USER_HOME: c:/cache
193+
CONAN_USER_HOME_SHORT: c:/cache/conan_shortpaths
147194

148195
- name: Upload additional deps
149-
if: inputs.upload_deps && !(matrix.runner == 'buildjet-8vcpu-ubuntu-2204' && matrix.image == 'ubuntu:22.04')
196+
if: inputs.upload_deps
197+
shell: powershell
150198
run: |
151-
. ./conan_venv/bin/activate
199+
Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
200+
refreshenv
152201
153202
conan upload "boost/*" -r viamconan -c
154203
conan upload "grpc/*" -r viamconan -c
155204
conan upload "protobuf/*" -r viamconan -c
205+
env:
206+
CONAN_USER_HOME: c:/cache
207+
CONAN_USER_HOME_SHORT: c:/cache/conan_shortpaths

0 commit comments

Comments
 (0)