Files
nearby/.github/workflows/validate.yaml
T
Nabil Wadih 63838e6d6c PR #2483: Bazel build support for building rust and beto-core targets
Imported from GitHub PR https://github.com/google/nearby/pull/2483

This adds the necessary build rules to build with the LDT rust implementation in bazel, currently it is compiled out by a compiler flag.

This also updates the C++ standard to C++20 in order to be compatible with beto-core's targets
Copybara import of the project:

--
b28eabb2be386bfad4d71df94b7dd77fe34b6b13 by Nabil Wadih <nwadih@google.com>:

Bazel build support for building rust and beto-core targets

--
765f8076642bc54c6a500e5f91c942bcfea55b39 by Nabil Wadih <nwadih@google.com>:

Bazel build support for building rust and beto-core targets

--
3658bdc10dbe8f0bb912e233b411b153179a79eb by Nabil Wadih <nwadih@google.com>:

Bazel build support for building rust and beto-core targets

--
65321ef4fcdf9d1cbdfe866bd3364f3701819a9c by Nabil Wadih <nwadih@google.com>:

Bazel build support for building rust and beto-core targets

--
f52590fd46a04d081c7175a1e342212c1e9174cd by Nabil Wadih <nabil.wadih@gmail.com>:

Update validate.yaml
--
eef6b260cb12701e3dee4a2e41a98ad7aa23183b by Nabil Wadih <nabil.wadih@gmail.com>:

Update validate.yaml
--
b47f67138310263003db29cf05b93f2a60fe487e by Nabil Wadih <nwadih@google.com>:

Bazel build support for building rust and beto-core targets

Merging this change closes #2483

PiperOrigin-RevId: 627873727
2024-04-24 15:42:51 -07:00

81 lines
2.5 KiB
YAML

# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Validate
on: [push, pull_request]
env:
FORCE_COLOR: true
jobs:
build-swift:
name: Build Swift
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Build
run: swift build
test-swift:
name: Test Swift
runs-on: macOS-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Test
run: swift test
build-linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build Connections
run: CC=clang-15 CXX=clang-15++ bazel build --copt='-DGITHUB_BUILD' //connections:core
- name: Build Presence
run: CC=clang-15 CXX=clang-15++ bazel build --copt='-DGITHUB_BUILD' //presence
- name: Build Sharing
run: CC=clang-15 CXX=clang-15++ bazel build --verbose_failures --copt='-DGITHUB_BUILD' //sharing:nearby_sharing_service //sharing/certificates //sharing/contacts //sharing/local_device_data //sharing/proto/... //sharing/internal/public:nearby_context //sharing/common:all //sharing/scheduling //sharing/fast_initiation:nearby_fast_initiation //sharing/analytics
build-rust-linux:
name: Build Rust on Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build FPP
run: cargo build --manifest-path presence/fpp/fpp/Cargo.toml
- name: Build Bluetooth Module
run: cargo test --manifest-path fastpair/rust/bluetooth/Cargo.toml
- name: Build Fast Pair
run: cargo test --manifest-path fastpair/rust/demo/rust/Cargo.toml
build-rust-windows:
name: Build Rust on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build Bluetooth Module
run: cargo test --manifest-path fastpair/rust/bluetooth/Cargo.toml
- name: Build Fast Pair
run: cargo test --manifest-path fastpair/rust/demo/rust/Cargo.toml