dragonfly/.github/workflows/daily-builds.yml
Roman Gershman 776bd79381
fix: reenable macos builds (#3399)
* 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>
2024-07-28 22:40:51 +03:00

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