Skip to content

fix(workflow): nightly build failed #1830 #251

fix(workflow): nightly build failed #1830

fix(workflow): nightly build failed #1830 #251

Workflow file for this run

name: StoneDB 8.0 Compile & MTR
on:
push:
branches-ignore:
- main
paths-ignore:
- 'Docs/**'
- 'docs/**'
- 'website/**'
- '**.md'
- 'scripts/setup/**'
- '.devcontainer/**'
- '.github/ISSUE_TEMPLATE/**'
pull_request:
branches-ignore:
- main
# wait for mergify to ignore
paths-ignore:
- 'Docs/**'
- 'docs/**'
- 'website/**'
- '**.md'
- '.github/ISSUE_TEMPLATE/**'
#- 'scripts/**'
#- 'install_scripts/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
PROTOC: protoc
defaults:
run:
shell: bash
jobs:
lint:
name: lint
# if: ${{ contains(github.event.pull_request.labels.*.name, 'ready-for-testing') && github.event.pull_request.merged != true }}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.base.sha }}
- uses: actions/checkout@v3
with:
clean: false
# - name: Check License Header
# uses: apache/skywalking-eyes/header@main
- name: Ensure clang-format-10 is available
run: |
command -v clang-format-10 > /dev/null || (apt-get update && apt-get install -y clang-format-10)
- name: Format check
run: |
git diff -U0 --no-color ${{ github.event.pull_request.base.sha }} HEAD storage/tianmu | /usr/share/clang/clang-format-10/clang-format-diff.py -p1 | tee /tmp/.clang-format-diff
[ -s /tmp/.clang-format-diff ] && exit 1 || true
stonedb-build:
name: stonedb-build
needs: lint
runs-on: self-hosted
strategy:
fail-fast: false
matrix:
os:
- ubuntu2004_1.0.1
- centos7_1.0.1
compiler:
- gcc-9.3
# exclude:
# - os: debian10_1.0.3
# compiler: gcc-9.3
env:
CCACHE_DIR: /tmp/ccache/stonedb/${{ matrix.os }}-${{ matrix.compiler }}
CCACHE_MAXSIZE: 8G
container:
image: stoneatom/stonedb80_buildenv:${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: |
case ${{ matrix.os }} in
ubuntu2004_1.0.1)
apt-get update --fix-missing && apt-get --allow-releaseinfo-change update && apt-get install curl bc lcov libssl-dev -y
;;
centos7_1.0.1)
yum install curl lcov.noarch bc.x86_64 -y
rm -rf /usr/bin/gcc && ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/gcc
;;
esac
#with:
# ssh-strict: 'false'
- name: compile stonedb
id: compile
run: |
# cp -rf include/boost_1_77_0/patches/boost/* /usr/local/stonedb-boost/include/boost/
mkdir build && cd build
git config --global --add safe.directory /__w/stonedb/stonedb
git fetch --tags --force
cmake ../ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/stonedb80/install \
-DMYSQL_DATADIR=/stonedb80/install/data \
-DSYSCONFDIR=/stonedb80/install \
-DMYSQL_UNIX_ADDR=/stonedb80/install/tmp/mysql.sock \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_TIANMU_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=0 \
-DWITH_BOOST=/usr/local/stonedb-boost/ \
-DDOWNLOAD_ROCKSDB=0 \
-DWITH_ROCKSDB=/usr/local/stonedb-gcc-rocksdb/ \
-DWITH_MARISA=/usr/local/stonedb-marisa/ \
#-DENABLE_GCOV=1
make -j`nproc` && make -j`nproc` install
- name: mtr test
run: |
mkdir -p /stonedb80/install/log
groupadd mysql && useradd -g mysql mysql
chown -R mysql:mysql /stonedb80 && chown -R mysql:mysql ./build
cd /stonedb80/install/mysql-test
./mysql-test-run.pl --suite=tianmu --nowarnings --force --nocheck-testcases --retry=0 --parallel=10
#- name: create coverage.info
# run: |
# cd build
# lcov --capture --directory . --output-file coverage.info --test-name coverage
#- name: Codecov
# uses: codecov/codecov-action@v3.1.1