diff --git a/.github/workflows/conan-publish.yml b/.github/workflows/conan-publish.yml index 9cc78ad5c..caf988274 100644 --- a/.github/workflows/conan-publish.yml +++ b/.github/workflows/conan-publish.yml @@ -51,20 +51,20 @@ jobs: # do have permissions for. See https://github.com/bufbuild/buf/issues/2698 for # more details. export BUF_CONFIG_DIR=$(mktemp -d) - conan profile detect - conan create . --build=missing -s:a compiler.cppstd=17 -s:a "&:shared=False" - conan upload "viam-cpp-sdk/*" -r viamconan + conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False" + conan upload "viam-cpp-sdk/*" -r viamconan -c - name: Upload additional deps if: inputs.upload_deps run: | - conan upload "boost/*" -r viamconan - conan upload "grpc/*" -r viamconan - conan upload "protobuf/*" -r viamconan + conan upload "boost/*" -r viamconan -c + conan upload "grpc/*" -r viamconan -c + conan upload "protobuf/*" -r viamconan -c build_linux: strategy: + fail-fast: false matrix: runner: [buildjet-8vcpu-ubuntu-2204, buildjet-8vcpu-ubuntu-2204-arm] image: [ubuntu:22.04, debian:bookworm] @@ -129,6 +129,8 @@ jobs: python3 -m venv ./conan_venv . ./conan_venv/bin/activate + pip install conan + conan profile detect conan remote add viamconan $CONAN_REMOTE_URL conan remote auth -cc core:non_interactive=True viamconan @@ -137,12 +139,70 @@ jobs: run: | . ./conan_venv/bin/activate - conan create . --build=missing -s:a compiler.cppstd=17 -s:a "&:shared=False" - conan upload "viam-cpp-sdk/*" -r viamconan + conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False" + conan upload "viam-cpp-sdk/*" -r viamconan -c + + - name: Upload additional deps + if: inputs.upload_deps && !(matrix.runner == 'buildjet-8vcpu-ubuntu-2204' && matrix.image == 'ubuntu:22.04') + run: | + conan upload "boost/*" -r viamconan -c + conan upload "grpc/*" -r viamconan -c + conan upload "protobuf/*" -r viamconan -c + + build_windows: + runs-on: windows-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: releases/${{ inputs.ref }} + + - name: Install dependencies + run: choco install -y conan git + + - name: Set up python/conan + shell: powershell + run: | + $ErrorActionPreference = "Stop" + Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1 + refreshenv + + conan profile detect + + conan remote add viamconan $env:CONAN_REMOTE_URL + conan remote auth -cc core:non_interactive=True viamconan + env: + CONAN_REMOTE_URL: ${{ secrets.conanRemote }} + CONAN_LOGIN_USERNAME_VIAMCONAN: ${{ secrets.conanUsername}} + CONAN_PASSWORD_VIAMCONAN: ${{ secrets.conanPassword }} + CONAN_USER_HOME: c:/cache + CONAN_USER_HOME_SHORT: c:/cache/conan_shortpaths + + - name: Create and upload package + shell: powershell + run: | + $ErrorActionPreference = "Stop" + Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1 + refreshenv + + conan create . --build=missing -o "&:shared=False" -s:a compiler.cppstd=17 + conan upload "viam-cpp-sdk/*" -r viamconan -c + env: + CONAN_USER_HOME: c:/cache + CONAN_USER_HOME_SHORT: c:/cache/conan_shortpaths - name: Upload additional deps if: inputs.upload_deps + shell: powershell run: | - conan upload "boost/*" -r viamconan - conan upload "grpc/*" -r viamconan - conan upload "protobuf/*" -r viamconan + $ErrorActionPreference = "Stop" + Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1 + refreshenv + + conan upload "boost/*" -r viamconan -c + conan upload "grpc/*" -r viamconan -c + conan upload "protobuf/*" -r viamconan -c + env: + CONAN_USER_HOME: c:/cache + CONAN_USER_HOME_SHORT: c:/cache/conan_shortpaths