# This workflow builds and unit tests both main C++ API and also build/data tools for metadata generation.
|
|
|
|
name: Testing C++ API
|
|
on: pull_request
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
cpp-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2.13.2
|
|
with:
|
|
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
|
|
|
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
|
|
- name: Set up C++ environment
|
|
run: |
|
|
sudo apt-get install \
|
|
cmake cmake-curses-gui libprotobuf-dev libgtest-dev libre2-dev \
|
|
libicu-dev libboost-dev libboost-thread-dev libboost-system-dev \
|
|
protobuf-compiler
|
|
|
|
- name: Build C++
|
|
run: |
|
|
cd cpp
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
|
|
- name: Test C++ Build Tools
|
|
run: |
|
|
./cpp/build/tools/generate_geocoding_data_test
|
|
|
|
- name: Test C++ API
|
|
run: |
|
|
./cpp/build/libphonenumber_test
|