# 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@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 with: egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.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