Skip to content

Add Bazel tooling support #647

Add Bazel tooling support

Add Bazel tooling support #647

Workflow file for this run

---
name: Build Cloe
on:
push:
branches:
- master
- develop
- "release/**"
paths-ignore:
- "*.md"
- ".gitignore"
- "LICENSE"
- "dist/**"
- "docs/**"
- "ui/**"
pull_request:
paths-ignore:
- "*.md"
- ".gitignore"
- "LICENSE"
- "dist/**"
- "docs/**"
- "ui/**"
jobs:
build-cloe:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- "ubuntu-20.04"
- "ubuntu-22.04"
conan_profile:
- "cloe-normal"
package_target:
# 1. Build each test configuration in Conan cache and run all tests
- "export-vendor export-all smoketest-deps smoketest"
# 2. Build cloe super-package in editable mode and run tests
- "export-vendor editable all smoketest TEST_CONANFILES=tests/conanfile_superbuild.py"
# 3. TODO: Build individual packages in editable mode and run tests
# This cannot be currently enabled because of a Conan deficiency in v1.
# Once all build tooling is based on Conan v2, we can re-enable this use-case.
# Until then, use the previous target for this use-case.
# - "export-vendor editable-select build-all smoketest TEST_CONANFILES=tests/conanfile_deployment.py"
env:
CONAN_NON_INTERACTIVE: "yes"
DEBIAN_FRONTEND: noninteractive
LC_ALL: C.UTF-8
LANG: C.UTF-8
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install system dependencies
run: |
sudo apt-get update &&
sudo apt-get install -y make locales &&
sudo make -f Makefile.setup \
DEBIAN_FRONTEND=noninteractive \
APT_ARGS="--no-install-recommends -y" \
install-system-deps \
&&
sudo locale-gen
- name: Install Python dependencies
run: |
sudo pip3 install --upgrade pip &&
make -f Makefile.setup PIP_INSTALL_ARGS="" install-python-deps
- name: Configure Conan
run: |
make setup-conan
conan config set general.default_profile=${{ matrix.conan_profile }}
conan config set general.default_build_profile=${{ matrix.conan_profile }}
make export-cli
- name: Build cloe
run: |
make ${{ matrix.package_target }}