mirror of
https://github.com/dragonflydb/dragonfly
synced 2024-11-21 23:19:53 +00:00
776bd79381
* fix: reenable macos builds Also, add debug function that prints local state if deadlocks occure. * fix: free cold memory for non-cache mode as well * chore: disable FreeMemWithEvictionStep again Because it heavily affects the performance when performing evictions. --------- Signed-off-by: Roman Gershman <roman@dragonflydb.io>
119 lines
3.7 KiB
YAML
119 lines
3.7 KiB
YAML
name: daily-builds
|
|
|
|
on:
|
|
# TODO: Remove this. This is for testing
|
|
schedule:
|
|
- cron: '0 6 * * *' # run at 6 AM UTC
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
# The CMake configure and build commands are platform agnostic and should work equally
|
|
# well on Windows or Mac. You can convert this to a matrix build if you need
|
|
# cross-platform coverage.
|
|
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
|
runs-on: ubuntu-latest
|
|
name: Build ${{ matrix.name }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
# Build with these flags
|
|
- name: generic
|
|
container: alpine-dev
|
|
flags: "-DMARCH_OPT=-march=x86-64"
|
|
- name: fedora
|
|
container: fedora:30
|
|
|
|
timeout-minutes: 45
|
|
|
|
container:
|
|
image: ghcr.io/romange/${{ matrix.container }}
|
|
options: --security-opt seccomp=unconfined
|
|
credentials:
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Run sccache-cache
|
|
uses: mozilla-actions/sccache-action@v0.0.4
|
|
|
|
- name: Configure Cache Env
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
|
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '')
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
cmake --version
|
|
mkdir -p $GITHUB_WORKSPACE/build
|
|
- name: Install packages
|
|
if: matrix.container == 'fedora:30'
|
|
run: |
|
|
echo Passed
|
|
|
|
- name: Configure & Build
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/build
|
|
cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_C_COMPILER_LAUNCHER=sccache \
|
|
${{ matrix.flags }}
|
|
ninja src/all
|
|
- name: Test
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/build
|
|
ctest -V -L DFLY
|
|
|
|
build-macos:
|
|
runs-on: macos-13
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Run sccache-cache
|
|
uses: mozilla-actions/sccache-action@v0.0.4
|
|
|
|
- name: Configure Cache Env
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
|
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '')
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
|
|
# Remove Python3 symlinks in /usr/local/bin as workaround to brew update issues
|
|
# https://github.com/actions/setup-python/issues/577
|
|
rm /usr/local/bin/2to3* || :
|
|
rm /usr/local/bin/idle3* || :
|
|
rm /usr/local/bin/pydoc* || :
|
|
rm /usr/local/bin/python3* || :
|
|
brew update && brew install ninja boost automake zstd bison
|
|
|
|
mkdir -p $GITHUB_WORKSPACE/build
|
|
|
|
- name: Configure & Build
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/build
|
|
|
|
export PATH=/usr/local/opt/bison/bin:$PATH
|
|
gcc-12 --version
|
|
|
|
bison --version
|
|
|
|
echo "*************************** START BUILDING **************************************"
|
|
CC=gcc-12 CXX=g++-12 cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DWITH_UNWIND=OFF \
|
|
-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_FLAGS="-Wl,-ld_classic"
|
|
|
|
ninja src/all
|
|
|
|
- name: Test
|
|
run: |
|
|
cd $GITHUB_WORKSPACE/build
|
|
ctest -V -L DFLY
|