diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a9781d3..6b117ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,6 @@ name: build -# build on c/cpp changes or workflow changes +# build on source or workflow changes on: push: paths: @@ -63,3 +63,23 @@ jobs: - name: Test run: | ./util/ci/test.sh + + gcc_fedora: + runs-on: ubuntu-latest + container: + image: fedora:latest + steps: + - uses: actions/checkout@v4 + - name: Install deps + run: | + source util/ci/script.sh + install_linux_deps + + - name: Build + run: | + source util/ci/script.sh + run_build + + - name: Test + run: | + ./util/ci/test.sh diff --git a/util/ci/script.sh b/util/ci/script.sh index 5a6efdf..389c119 100755 --- a/util/ci/script.sh +++ b/util/ci/script.sh @@ -1,17 +1,26 @@ #!/bin/bash -e install_linux_deps() { - local pkgs=(cmake libgd-dev libsqlite3-dev libleveldb-dev libpq-dev libhiredis-dev libzstd-dev) + local upkgs=( + cmake libgd-dev libsqlite3-dev libleveldb-dev libpq-dev + libhiredis-dev libzstd-dev + ) + local fpkgs=( + cmake gcc-g++ gd-devel sqlite-devel libzstd-devel zlib-ng-devel + ) - sudo apt-get update - sudo apt-get remove -y 'libgd3' nginx || : # ???? - sudo apt-get install -y --no-install-recommends "${pkgs[@]}" "$@" + if command -v dnf; then + sudo dnf install --setopt=install_weak_deps=False -y "${fpkgs[@]}" + else + sudo apt-get update + sudo apt-get install -y --no-install-recommends "${upkgs[@]}" + fi } run_build() { local args=( -DCMAKE_BUILD_TYPE=Debug - -DENABLE_LEVELDB=1 -DENABLE_POSTGRESQL=1 -DENABLE_REDIS=1 + -DENABLE_LEVELDB=ON -DENABLE_POSTGRESQL=ON -DENABLE_REDIS=ON ) [[ "$CXX" == clang* ]] && args+=(-DCMAKE_CXX_FLAGS="-fsanitize=address") cmake . "${args[@]}"