diff --git a/.github/workflows/windows-msys.yml b/.github/workflows/windows-msys.yml new file mode 100644 index 000000000..f756cd620 --- /dev/null +++ b/.github/workflows/windows-msys.yml @@ -0,0 +1,130 @@ +# Copyright (c) 2022, 2024 [Ribose Inc](https://www.ribose.com). +# All rights reserved. +# This file is a part of tamatebako +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# The purpose of this workflow is to check that build procedures work correctly +# in specific environment. Due to this reason there is no caching. It is done by +# intention. All caching is in upstream projects. +# +# Also this file contains comments that will be useful is dwarfs has to be build +# in different environment, not GHA. +name: Windows-MSys + +on: + push: + branches: [ * ] + paths-ignore: + - 'docs/**' + - '**.adoc' + - '**.md' + - '.github/workflows/*.yml' + - '!.github/workflows/windows-msys.yml' + pull_request: + paths-ignore: + - 'docs/**' + - '**.adoc' + - '**.md' + - '.github/workflows/*.yml' + - '!.github/workflows/windows-msys.yml' + workflow_dispatch: + +concurrency: + group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}' + cancel-in-progress: true + +env: + BUILD_TYPE: Release + +jobs: + build: + name: windows-msys [${{ matrix.env.CC }}, ${{ matrix.setup.scope }}] + runs-on: windows-latest + strategy: + fail-fast: false + matrix: +# We are running two configurations: +# - ALL in order to run regression tests +# - MKD just to be sure that configuration needed for teabako builds without issues + setup: + - scope: 'ALL' + tests: 'ON' + - scope: 'MKD' + tests: 'OFF' + env: + - sys: ucrt64 + CC: gcc + CXX: g++ +# - CC: clang +# CXX: clang++ + env: ${{ matrix.env }} + + defaults: + run: + shell: msys2 {0} + + steps: + - name: Setup MSys + uses: msys2/setup-msys2@v2 + with: + msystem: ${{matrix.env.sys}} + path-type: minimal + update: true + install: >- + git + tar + bison + flex + pacboy: >- + toolchain:p + openssl:p + cmake:p + boost:p + make:p + diffutils:p + libevent:p + double-conversion:p + glog:p + fmt:p + dlfcn:p + ninja:p + + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: Configure + run: | + cmake -B build -DWITH_TESTS=${{ matrix.setup.tests }} -DUSE_JEMALLOC=OFF -DPREFER_SYSTEM_GTEST=ON \ + -DFOLLY_NO_EXCEPTION_TRACER=ON -DTEBAKO_BUILD_SCOPE=${{ matrix.setup.scope }} -DCMAKE_INSTALL_PREFIX=install -GNinja . + + - name: Build + run: | + cmake --build build --parallel 8 + +# - name: Test +# if: ${{ matrix.setup.tests == 'ON' }} +# run: | +# cd build +# ninja test diff --git a/tools b/tools index b80a3bb0f..044861797 160000 --- a/tools +++ b/tools @@ -1 +1 @@ -Subproject commit b80a3bb0fd3d25aa1a0fffcd29b98e4f4dd86811 +Subproject commit 0448617978ee03f4ece76901c0ccbd5589f07d66