- name: Diff build
  project: ^mg-master-diff$
  commands: |
    # Copy untouched repository to parent folder.
    cd ..
    cp -r memgraph parent
    cd memgraph

    # Initialize and create documentation.
    TIMEOUT=1200 ./init
    doxygen Doxyfile

    # Remove default build directory.
    rm -r build

    # Build debug binaries.
    mkdir build_debug
    cd build_debug
    cmake ..
    TIMEOUT=1200 make -j$THREADS

    # Build coverage binaries.
    cd ..
    mkdir build_coverage
    cd build_coverage
    cmake -DTEST_COVERAGE=ON ..
    TIMEOUT=1200 make -j$THREADS memgraph__unit

    # Build release binaries.
    cd ..
    mkdir build_release
    cd build_release
    cmake -DCMAKE_BUILD_TYPE=release ..
    TIMEOUT=1200 make -j$THREADS memgraph memgraph_distributed memgraph_ha tools memgraph__macro_benchmark memgraph__stress memgraph__manual__card_fraud_generate_snapshot memgraph__feature_benchmark__kafka__benchmark memgraph__feature_benchmark__ha__benchmark

    # Generate distributed card fraud dataset.
    cd ../tests/distributed/card_fraud
    ./generate_dataset.sh
    cd ../../..

    # Checkout to parent commit and initialize.
    cd ../parent
    git checkout HEAD~1
    TIMEOUT=1200 ./init

    # Build parent release binaries.
    mkdir build_release
    cd build_release
    cmake -DCMAKE_BUILD_TYPE=release ..
    TIMEOUT=1200 make -j$THREADS memgraph memgraph__macro_benchmark


# release build is the default one
- name: Release build
  commands: |
    TIMEOUT=1200 ./init
    doxygen Doxyfile

    # Remove default build directory.
    rm -r build

    # Build debug binaries.
    mkdir build_debug
    cd build_debug
    cmake ..
    TIMEOUT=1200 make -j$THREADS

    # Build coverage binaries.
    cd ..
    mkdir build_coverage
    cd build_coverage
    cmake -DTEST_COVERAGE=ON ..
    TIMEOUT=1200 make -j$THREADS memgraph__unit

    # Build release binaries.
    cd ..
    mkdir build_release
    cd build_release
    cmake -DCMAKE_BUILD_TYPE=Release -DUSE_READLINE=OFF ..
    TIMEOUT=1200 make -j$THREADS

    # Create Debian package.
    mkdir output
    cd output
    cpack -G DEB --config ../CPackConfig.cmake

    # Generate distributed card fraud dataset.
    cd ../../tests/distributed/card_fraud
    ./generate_dataset.sh
