716 lines
20 KiB
YAML
716 lines
20 KiB
YAML
name: Reusable release tests
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
os:
|
|
type: string
|
|
description: "Target os. Default value is debian-11."
|
|
default: 'debian-12'
|
|
arch:
|
|
type: string
|
|
description: "Target architecture. Default value is amd."
|
|
default: 'amd'
|
|
runner_arch_label:
|
|
type: string
|
|
description: "Runner architecture label. Amd is built on X64, arm on ARM64. Default value is X64."
|
|
default: 'X64'
|
|
toolchain:
|
|
type: string
|
|
description: "Toolchain version. Default value is v5."
|
|
default: 'v5'
|
|
build_type:
|
|
type: string
|
|
description: "Memgraph Build type. Default value is Release."
|
|
default: 'Release'
|
|
threads:
|
|
type: number
|
|
description: "Number of threads to use for Memgraph build. Default value is 24."
|
|
default: 24
|
|
|
|
env:
|
|
OS: ${{ inputs.os }}
|
|
TOOLCHAIN: ${{ inputs.toolchain }}
|
|
ARCH: ${{ inputs.arch }}
|
|
THREADS: ${{ inputs.threads }}
|
|
MEMGRAPH_ENTERPRISE_LICENSE: ${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}
|
|
MEMGRAPH_ORGANIZATION_NAME: ${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}
|
|
BUILD_TYPE: ${{ inputs.build_type }}
|
|
|
|
jobs:
|
|
community_build:
|
|
name: "Community build"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build community binary
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph --community
|
|
|
|
- name: Run unit tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph unit
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
coverage_build:
|
|
name: "Coverage build"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
env:
|
|
BUILD_TYPE: Debug
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build coverage binaries
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph --coverage
|
|
|
|
- name: Run unit tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph unit-coverage
|
|
|
|
- name: Compute code coverage
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph code-coverage
|
|
|
|
- name: Save code coverage
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: "Code coverage(Coverage build)-${{ env.OS }}"
|
|
path: tools/github/generated/code_coverage.tar.gz
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
debug_build:
|
|
name: "Debug build"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
env:
|
|
BUILD_TYPE: Debug
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build debug binary
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
- name: Run leftover CTest tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph leftover-CTest
|
|
|
|
- name: Run drivers tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph drivers
|
|
|
|
- name: Run HA driver tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph drivers-high-availability
|
|
|
|
- name: Run cppcheck and clang-format
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph cppcheck-and-clang-format
|
|
|
|
- name: Save cppcheck and clang-format errors
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: "Code coverage(Debug build)-${{ env.OS }}"
|
|
path: tools/github/cppcheck_and_clang_format.txt
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
debug_integration_test:
|
|
name: "Debug integration tests"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
env:
|
|
BUILD_TYPE: Debug
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build debug binary
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
- name: Run integration tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph integration
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
release_build:
|
|
name: "Release build"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build release binaries
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
- name: Run GQL Behave tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph gql-behave
|
|
|
|
- name: Save quality assurance status
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: "GQL Behave Status-${{ env.OS }}"
|
|
path: |
|
|
tests/gql_behave/gql_behave_status.csv
|
|
tests/gql_behave/gql_behave_status.html
|
|
|
|
- name: Run unit tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--threads $THREADS \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph unit
|
|
|
|
- name: Create enterprise DEB package
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
package-memgraph
|
|
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
copy --package
|
|
|
|
- name: Save enterprise DEB package
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: "${{ env.OS}}-enterprise"
|
|
path: build/output/${{ env.OS }}/memgraph*.deb
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
release_benchmark_tests:
|
|
name: "Release Benchmark Tests"
|
|
runs-on: [self-hosted, DockerMgBuild, Gen7, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build release binaries
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
- name: Run micro benchmarks
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph micro-benchmark
|
|
|
|
- name: Run macro benchmarks
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph macro-benchmark
|
|
|
|
- name: Run macro benchmarks
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph macro-benchmark-parallel
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
release_e2e_test:
|
|
name: "Release End-to-end Test"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build release binaries
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
# This step will be skipped because the e2e stream tests have been disabled
|
|
# We need to fix this as soon as possible
|
|
- name: Ensure Kafka and Pulsar are up
|
|
if: false
|
|
run: |
|
|
cd tests/e2e/streams/kafka
|
|
docker-compose up -d
|
|
cd ../pulsar
|
|
docker-compose up -d
|
|
|
|
- name: Run e2e tests
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph e2e
|
|
|
|
# Same as two steps prior
|
|
- name: Ensure Kafka and Pulsar are down
|
|
if: false
|
|
run: |
|
|
cd tests/e2e/streams/kafka
|
|
docker-compose down
|
|
cd ../pulsar
|
|
docker-compose down
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
release_durability_stress_tests:
|
|
name: "Release durability and stress tests"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build release binaries
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
- name: Run stress test (plain)
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph stress-plain
|
|
|
|
- name: Run stress test (SSL)
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph stress-ssl
|
|
|
|
- name: Run durability test (plain)
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph durability
|
|
|
|
- name: Run durability test (large)
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
|
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
|
test-memgraph durability-large
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|
|
|
|
release_jepsen_test:
|
|
if: ${{ inputs.os == 'debian-12' }}
|
|
name: "Release Jepsen Test"
|
|
runs-on: [self-hosted, DockerMgBuild, "${{ inputs.runner_arch_label }}"]
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Set up repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Spin up mgbuild container
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
run
|
|
|
|
- name: Build release binaries
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
--build-type $BUILD_TYPE \
|
|
--threads $THREADS \
|
|
build-memgraph
|
|
|
|
- name: Copy memgraph binary
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
copy --binary
|
|
|
|
- name: Refresh Jepsen Cluster
|
|
run: |
|
|
cd tests/jepsen
|
|
./run.sh cluster-refresh
|
|
|
|
- name: Run Jepsen tests
|
|
run: |
|
|
cd tests/jepsen
|
|
./run.sh test-all-individually --binary ../../build/memgraph --ignore-run-stdout-logs --ignore-run-stderr-logs
|
|
|
|
- name: Save Jepsen report
|
|
uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: "Jepsen Report-${{ env.OS }}"
|
|
path: tests/jepsen/Jepsen.tar.gz
|
|
|
|
- name: Stop mgbuild container
|
|
if: always()
|
|
run: |
|
|
./release/package/mgbuild.sh \
|
|
--toolchain $TOOLCHAIN \
|
|
--os $OS \
|
|
--arch $ARCH \
|
|
stop --remove
|