Add null_safe_string_view(const char*, std::size_t) #78
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test on Linux/MacOS | |
| on: | |
| pull_request: | |
| branches: [ main ] | |
| paths: | |
| - 'include/**' | |
| - 'src/**' | |
| - 'tests/**' | |
| - 'tools/**' | |
| - 'meson.build' | |
| workflow_dispatch: | |
| jobs: | |
| build-and-asan: | |
| strategy: | |
| matrix: | |
| platform: [ ubuntu-latest, macos-latest ] | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - name: Intro | |
| run: echo "Branch ${{ github.ref }} on repository ${{ github.repository }}" | |
| - name: Check out repository code | |
| uses: actions/checkout@v4 | |
| - name: Install Ninja | |
| shell: bash | |
| run: | | |
| if [[ "${{ matrix.platform }}" == ubuntu-latest ]]; then | |
| sudo apt-get install ninja-build | |
| elif [[ "${{ matrix.platform }}" == macos-latest ]]; then | |
| brew install ninja | |
| else | |
| echo Do not know how to install Ninja on platform ${{ inputs.platform }} | |
| false | |
| fi | |
| - name: Retrieve Meson from cache | |
| id: cache-meson | |
| uses: actions/cache@v4 | |
| with: | |
| path: meson-1.3.1 | |
| key: meson-1.3.1 | |
| - name: Download Meson | |
| if: steps.cache-meson.outputs.cache-hit != 'true' | |
| run: | | |
| wget -q https://github.com/mesonbuild/meson/releases/download/1.3.1/meson-1.3.1.tar.gz | |
| tar -xzf meson-1.3.1.tar.gz | |
| rm meson-1.3.1.tar.gz | |
| - name: Create symbolic link for Meson | |
| run: | | |
| ln -s meson-1.3.1/meson.py . | |
| ls -la | |
| - name: Configure build directories | |
| run: | | |
| ./meson.py setup --buildtype=release build.release | |
| ./meson.py setup --buildtype=debug build.asan -Db_sanitize=address | |
| - name: Build and run ASAN tests | |
| run: ./meson.py test -C build.asan | |
| - name: Build exampes | |
| run: ninja -C build.asan examples/thread_pool_example examples/trim_example | |
| - name: Build and run release tests | |
| run: ./meson.py test -C build.release | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ always() }} | |
| with: | |
| name: build-dirs-${{ matrix.platform }} | |
| path: | | |
| build.release/ | |
| build.asan/ |