From abe9b74c091d4e14fa6fa07353b55bef36c88a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20Guzm=C3=A1n?= Date: Sat, 11 Feb 2023 23:09:07 -0600 Subject: [PATCH] add meson pipeline --- .github/workflows/meson.yaml | 73 ++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .github/workflows/meson.yaml diff --git a/.github/workflows/meson.yaml b/.github/workflows/meson.yaml new file mode 100644 index 00000000..da92daa3 --- /dev/null +++ b/.github/workflows/meson.yaml @@ -0,0 +1,73 @@ +name: meson + +on: [push, pull_request] + +jobs: + build: + name: [Meson] ${{ matrix.config.name }} + runs-on: ${{ matrix.config.os }} + strategy: + fail-fast: false + matrix: + config: + - { + name: "Windows Latest MSVC", + os: windows-latest, + generator: "Visual Studio 17 2022", + build_type: "Debug", + cc: "cl", cxx: "cl", + extra_path: "", + } + - { + name: "Windows Latest MinGW", + os: windows-latest, + generator: "MinGW Makefiles", + build_type: "Debug", + cc: "gcc", cxx: "g++", + extra_path: "C:\\ProgramData\\chocolatey\\lib\\mingw\\tools\\install\\mingw64\\bin", + } + - { + name: "Ubuntu Latest GCC", + os: ubuntu-latest, + generator: "Unix Makefiles", + build_type: "Debug", + cc: "gcc", cxx: "g++", + extra_path: "" + } + - { + name: "macOS Latest Clang", + os: macos-latest, + generator: "Unix Makefiles", + build_type: "Debug", + cc: "clang", cxx: "clang++", + extra_path: "" + } + + steps: + - uses: actions/checkout@v2 + - name: submodule + run: git submodule update --init --recursive + - name: extra_path + shell: bash + run: echo "${{matrix.config.extra_path}}" >> $GITHUB_PATH + - name: configure + shell: cmake -P {0} + run: | + set(ENV{CC} ${{matrix.config.cc}}) + set(ENV{CXX} ${{matrix.config.cxx}}) + - name: install prerequisites + run: | + # asuming that python and pip are already installed + pip3 install meson + - name: setup meson project + run: | + # setup the build directory with tests and examples enabled + meson setup builddir -DSQLITECPP_BUILD_TESTS=true -DSQLITECPP_BUILD_EXAMPLES=true + - name: build meson project + run: | + # build the project + meson compile -C builddir + - name: test + run: | + # run the tests + meson test -C builddir