Add testflow
This commit is contained in:
parent
6eeb3b566b
commit
940275769f
171
.github/workflows/testflow.yml
vendored
Normal file
171
.github/workflows/testflow.yml
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
name: Testflow-mgbuild
|
||||
concurrency:
|
||||
group: ${{ github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
# UNCOMMENT THIS BEFORE MERGE
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
- "**/*.md"
|
||||
- ".clang-format"
|
||||
- "CODEOWNERS"
|
||||
- "licenses/*"
|
||||
|
||||
jobs:
|
||||
release_build:
|
||||
name: "Release build"
|
||||
runs-on: [self-hosted, deadpool]
|
||||
env:
|
||||
THREADS: 24
|
||||
MEMGRAPH_ENTERPRISE_LICENSE: ${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}
|
||||
MEMGRAPH_ORGANIZATION_NAME: ${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}
|
||||
OS: debian-11
|
||||
TOOLCHAIN: v5
|
||||
ARCH: amd
|
||||
BUILD_TYPE: Release
|
||||
|
||||
steps:
|
||||
- name: Set up repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
# Number of commits to fetch. `0` indicates all history for all
|
||||
# branches and tags. (default: 1)
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Spin up mgbuild container
|
||||
run: |
|
||||
./release/package/run2.sh \
|
||||
--toolchain $TOOLCHAIN \
|
||||
--os $OS \
|
||||
--arch $ARCH \
|
||||
run
|
||||
|
||||
- name: Build release binaries
|
||||
run: |
|
||||
./release/package/run2.sh \
|
||||
--toolchain $TOOLCHAIN \
|
||||
--os $OS \
|
||||
--arch $ARCH \
|
||||
--build-type $BUILD_TYPE \
|
||||
--threads $THREADS \
|
||||
build-memgraph
|
||||
|
||||
- name: Run GQL Behave tests
|
||||
run: |
|
||||
./release/package/run2.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"
|
||||
# path: |
|
||||
# tests/gql_behave/gql_behave_status.csv
|
||||
# tests/gql_behave/gql_behave_status.html
|
||||
|
||||
- name: Run unit tests
|
||||
run: |
|
||||
./release/package/run2.sh \
|
||||
--toolchain $TOOLCHAIN \
|
||||
--os $OS \
|
||||
--arch $ARCH \
|
||||
--threads $THREADS \
|
||||
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
||||
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
||||
test-memgraph unit
|
||||
|
||||
# - name: Ensure Kafka and Pulsar are up
|
||||
# run: |
|
||||
# cd tests/e2e/streams/kafka
|
||||
# docker-compose up -d
|
||||
# cd ../pulsar
|
||||
# docker-compose up -d
|
||||
#
|
||||
# - name: Run e2e tests
|
||||
# run: |
|
||||
# cd tests
|
||||
# ./setup.sh /opt/toolchain-v4/activate
|
||||
# source ve3/bin/activate_e2e
|
||||
# cd e2e
|
||||
# ./run.sh
|
||||
#
|
||||
# - name: Ensure Kafka and Pulsar are down
|
||||
# run: |
|
||||
# cd tests/e2e/streams/kafka
|
||||
# docker-compose down
|
||||
# cd ../pulsar
|
||||
# docker-compose down
|
||||
|
||||
- name: Run stress test (plain)
|
||||
run: |
|
||||
./release/package/run2.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/run2.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
|
||||
run: |
|
||||
./release/package/run2.sh \
|
||||
--toolchain $TOOLCHAIN \
|
||||
--os $OS \
|
||||
--arch $ARCH \
|
||||
--enterprise-license $MEMGRAPH_ENTERPRISE_LICENSE \
|
||||
--organization-name $MEMGRAPH_ORGANIZATION_NAME \
|
||||
test-memgraph durability
|
||||
|
||||
# - name: Create enterprise DEB package
|
||||
# run: |
|
||||
# # Activate toolchain.
|
||||
# source /opt/toolchain-v4/activate
|
||||
# cd build
|
||||
#
|
||||
# # create mgconsole
|
||||
# # we use the -B to force the build
|
||||
# make -j$THREADS -B mgconsole
|
||||
#
|
||||
# # Create enterprise DEB package.
|
||||
# mkdir output && cd output
|
||||
# cpack -G DEB --config ../CPackConfig.cmake
|
||||
#
|
||||
# - name: Save enterprise DEB package
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: "Enterprise DEB package"
|
||||
# path: build/output/memgraph*.deb
|
||||
#
|
||||
# - name: Save test data
|
||||
# uses: actions/upload-artifact@v4
|
||||
# if: always()
|
||||
# with:
|
||||
# name: "Test data(Release build)"
|
||||
# path: |
|
||||
# # multiple paths could be defined
|
||||
# build/logs
|
||||
|
||||
- name: Stop mgbuild container
|
||||
run: |
|
||||
./release/package/run2.sh \
|
||||
--toolchain $TOOLCHAIN \
|
||||
--os $OS \
|
||||
--arch $ARCH \
|
||||
stop --remove
|
Loading…
Reference in New Issue
Block a user