diff --git a/.github/workflows/build_external_fts.yml b/.github/workflows/build_external_fts.yml new file mode 100644 index 00000000000..e74234c8cbc --- /dev/null +++ b/.github/workflows/build_external_fts.yml @@ -0,0 +1,175 @@ +name: cbdb external_fts pipeline +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + branches: + - main + +env: + BUILD_TYPE: "debug" + FTS_MODE: "external_fts" + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + +permissions: + id-token: write + contents: read +jobs: + build: + if: github.event.pull_request.draft == false + runs-on: [self-hosted, example] + steps: + - uses: actions/checkout@v3 + - name: Run build script + run: | + echo $GITHUB_RUN_ID > BUILD_NUMBER + hd-ci/compile_cbdb.bash ${GEN_DOCKER_TAG} + - uses: actions/upload-artifact@v3 + with: + name: cbdb-variables + path: /opt/actions-runner/_work/cloudberrydb/cloudberrydb/cbdb-artifacts.txt + - uses: actions/upload-artifact@v3 + with: + name: cbdb-package + path: /tmp/server-build* + icw-test: + needs: build + runs-on: [self-hosted, example] + env: + MAKE_TEST_COMMAND: "-k PGOPTIONS='-c optimizer=off -c gp_appendonly_insert_files=0' installcheck-world" + TEST_OS: "centos" + DUMP_DB: "true" + steps: + - uses: actions/checkout@v3 + with: + path: "gpdb_src" + - uses: actions/download-artifact@v3 + with: + name: cbdb-variables + path: /opt/ + - uses: actions/download-artifact@v3 + with: + name: cbdb-package + path: /opt/ + - name: Run icw-test script + run: | + mkdir /code + cp -a gpdb_src/ /code + cd /code + echo $GITHUB_RUN_ID > gpdb_src/BUILD_NUMBER + gpdb_src/hd-ci/icw_cbdb.bash $FTS_MODE + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: icw-test + path: | + /code/gpdb_src/src/test/regress/regression.out + /code/gpdb_src/src/test/regress/regression.diffs + /code/gpdb_src/src/test/regress/results/ + /code/gpdb_src/src/test/regress/expected/ + /code/gpdb_src/src/test/isolation2/regression.out + /code/gpdb_src/src/test/isolation2/regression.diffs + /code/gpdb_src/src/test/isolation2/results/ + /code/gpdb_src/src/test/isolation2/expected/ + /code/gpdb_src/gpAux/gpdemo/datadirs/standby/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/qddir/demoDataDir-1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast1/demoDataDir0/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast2/demoDataDir1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast3/demoDataDir2/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror1/demoDataDir0/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror2/demoDataDir1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror3/demoDataDir2/log/ + icw-orca-test: + needs: build + runs-on: [self-hosted, example] + env: + MAKE_TEST_COMMAND: "-k PGOPTIONS='-c optimizer=on -c gp_appendonly_insert_files=0' installcheck-world" + TEST_OS: "centos" + DUMP_DB: "true" + steps: + - uses: actions/checkout@v3 + with: + path: "gpdb_src" + - uses: actions/download-artifact@v3 + with: + name: cbdb-variables + path: /opt/ + - uses: actions/download-artifact@v3 + with: + name: cbdb-package + path: /opt/ + - name: Run icw-orca-test script + run: | + mkdir /code + cp -a gpdb_src/ /code + cd /code + echo $GITHUB_RUN_ID > gpdb_src/BUILD_NUMBER + gpdb_src/hd-ci/icw_cbdb.bash $FTS_MODE + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: icw-orca-test + path: | + /code/gpdb_src/src/test/regress/regression.out + /code/gpdb_src/src/test/regress/regression.diffs + /code/gpdb_src/src/test/regress/results/ + /code/gpdb_src/src/test/regress/expected/ + /code/gpdb_src/src/test/isolation2/regression.out + /code/gpdb_src/src/test/isolation2/regression.diffs + /code/gpdb_src/src/test/isolation2/results/ + /code/gpdb_src/src/test/isolation2/expected/ + /code/gpdb_src/gpAux/gpdemo/datadirs/standby/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/qddir/demoDataDir-1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast1/demoDataDir0/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast2/demoDataDir1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast3/demoDataDir2/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror1/demoDataDir0/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror2/demoDataDir1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror3/demoDataDir2/log/ + icw-parallel-test: + needs: build + runs-on: [self-hosted, example] + env: + MAKE_TEST_COMMAND: "-C src/test/regress -k PGOPTIONS='-c gp_appendonly_insert_files=0' installcheck-cbdb-parallel" + TEST_OS: "centos" + DUMP_DB: "true" + steps: + - uses: actions/checkout@v3 + with: + path: "gpdb_src" + - uses: actions/download-artifact@v3 + with: + name: cbdb-variables + path: /opt/ + - uses: actions/download-artifact@v3 + with: + name: cbdb-package + path: /opt/ + - name: Run icw-parallel-test script + run: | + mkdir /code + cp -a gpdb_src/ /code + cd /code + echo $GITHUB_RUN_ID > gpdb_src/BUILD_NUMBER + gpdb_src/hd-ci/icw_cbdb.bash $FTS_MODE + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: icw-parallel-test + path: | + /code/gpdb_src/src/test/regress/regression.out + /code/gpdb_src/src/test/regress/regression.diffs + /code/gpdb_src/src/test/regress/results/ + /code/gpdb_src/src/test/regress/expected/ + /code/gpdb_src/src/test/isolation2/regression.out + /code/gpdb_src/src/test/isolation2/regression.diffs + /code/gpdb_src/src/test/isolation2/results/ + /code/gpdb_src/src/test/isolation2/expected/ + /code/gpdb_src/gpAux/gpdemo/datadirs/standby/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/qddir/demoDataDir-1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast1/demoDataDir0/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast2/demoDataDir1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast3/demoDataDir2/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror1/demoDataDir0/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror2/demoDataDir1/log/ + /code/gpdb_src/gpAux/gpdemo/datadirs/dbfast_mirror3/demoDataDir2/log/ diff --git a/hd-ci/common.bash b/hd-ci/common.bash index 1243ef369a2..1e4211a2141 100644 --- a/hd-ci/common.bash +++ b/hd-ci/common.bash @@ -74,7 +74,11 @@ download_cbdb_tar_package() { fts_mode=$1 source /opt/cbdb-artifacts.txt mkdir -p "${ROOT_PATH}"/bin_gpdb - mv /opt/${internal_tar_download_url##*/} "/opt/bin_gpdb.tar.gz" + if [ ${fts_mode} = "external_fts" ];then + mv /opt/${external_tar_download_url##*/} "/opt/bin_gpdb.tar.gz" + else + mv /opt/${internal_tar_download_url##*/} "/opt/bin_gpdb.tar.gz" + fi } setup_env() { diff --git a/hd-ci/compile_cbdb.bash b/hd-ci/compile_cbdb.bash index 581b909156b..68116ea8c33 100755 --- a/hd-ci/compile_cbdb.bash +++ b/hd-ci/compile_cbdb.bash @@ -84,6 +84,8 @@ CBDB_VERSION=${CBDB_VERSION} EOF else cat <>"${SRC_PATH}/cbdb-artifacts.txt" +external_tar_download_url=${tar_package_path} +external_rpm_download_url=${rpm_package_path} external_fts_RELEASE_cbdb_${OS_TYPE}_${OS_ARCH}_url=${rpm_download_url} external_fts_TARGZ_cbdb_${OS_TYPE}_${OS_ARCH}_url=${tar_download_url} EOF