diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 000000000..6154f0c3d --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,87 @@ +name: CI-shuntest + +on: + push: + branches: [ "v2.x" ] + paths-ignore: + - '.github/**' + - '**.md' + pull_request: + branches: [ "v2.x" ] + paths-ignore: + - '.github/**' + - '**.md' +# schedule: +# - cron: '15 13 * * 3' + workflow_dispatch: + +jobs: + build-n-test: + runs-on: ubuntu-22.04 + steps: + + - name: Install dependencies + run: | + sudo apt-get update -y + sudo apt-get install -y sysbench gettext + + - name: Checkout proxysql + uses: actions/checkout@v3 + with: + repository: 'sysown/proxysql' +# ref: 'v2.x' + fetch-depth: 0 + path: 'proxysql' + + - name: Checkout jenkins_build_scripts + uses: actions/checkout@v3 + with: + repository: 'proxysql/jenkins-build-scripts' + ref: 'proxysql_repl_tests' + fetch-depth: 0 + path: 'jenkins-build-scripts' + token: ${{ secrets.GH_TOKEN }} + + - name: Set GIT_VERSION + run: | + cd proxysql/ + git fetch --tags --force + echo "GIT_VERSION=$(git describe --long --abbrev=7)" >> $GITHUB_ENV + + - name: Build + run: | + cd proxysql/ + make ubuntu22-dbg + + - name: Docker-hoster + run: | + cd jenkins-build-scripts/infra-docker-hoster + docker-compose up -d + + - name: Shun-tests + run: | + set +e + + cd jenkins-build-scripts + sed -i "s|#!/usr/bin/bash|#!/usr/bin/bash +e|" proxysql_repl_tests/bin/debezium-check.bash + sed -i "s|#!/usr/bin/bash|#!/usr/bin/bash +e|" proxysql_repl_tests/exec_repl_test.sh + sed -i "s|JENKINS_SCRIPTS_PATH=.*|JENKINS_SCRIPTS_PATH=${{ github.workspace }}/jenkins-build-scripts|" env.sh + sed -i "s|WORKSPACE=.*|WORKSPACE=${{ github.workspace }}/proxysql|" env.sh + + cd proxysql_repl_tests + ./exec_shun_test.sh + RC=$? + + sudo chmod -R 777 ${{ github.workspace }}/* + exit $RC + + - name: Archive artifacts + if: always() + uses: actions/upload-artifact@v3 + with: + name: ci-selftests-${{ env.GIT_VERSION }}-run#${{ github.run_number }} + path: | + proxysql/src/ + proxysql/ci_infra_logs/ + +