From caa16dc8e49833094a87440f4870e55dea814589 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Sun, 30 Oct 2022 15:25:48 +0400 Subject: [PATCH 1/8] Update linux.yml --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index e64b8406..fcda6518 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -8,7 +8,7 @@ on: env: BUILD_TYPE: Release - CH_SERVER_VERSION: 21.3.17.2 + CH_SERVER_VERSION: 22.3.12 jobs: build: runs-on: ubuntu-latest From e45d5682dcc3be3f1163bb57ce4f55bad388dcf8 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Sun, 30 Oct 2022 16:44:28 +0400 Subject: [PATCH 2/8] clickhouse-server:22.3 --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index fcda6518..67cd2d25 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -8,7 +8,7 @@ on: env: BUILD_TYPE: Release - CH_SERVER_VERSION: 22.3.12 + CH_SERVER_VERSION: 22.3 jobs: build: runs-on: ubuntu-latest From 9071c66c5c6c3317a21ad7292ac82b8949ac7725 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Mon, 31 Oct 2022 00:04:31 +0400 Subject: [PATCH 3/8] 22.3.14.23 and proper repo URL --- .github/workflows/linux.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 67cd2d25..8473f82c 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -8,7 +8,7 @@ on: env: BUILD_TYPE: Release - CH_SERVER_VERSION: 22.3 + CH_SERVER_VERSION: 22.3.14.23 jobs: build: runs-on: ubuntu-latest @@ -64,9 +64,10 @@ jobs: - name: Start ClickHouse server run: | - sudo apt-get install apt-transport-https ca-certificates dirmngr - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 - echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list + sudo apt-get install -y apt-transport-https ca-certificates dirmngr + sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754 + echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \ + /etc/apt/sources.list.d/clickhouse.list sudo apt-get update sudo apt-get install -y \ clickhouse-server=${{env.CH_SERVER_VERSION}} \ From 4028908b1f16d0b2984c5f98f2073a94eae27b96 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Mon, 31 Oct 2022 13:52:51 +0400 Subject: [PATCH 4/8] Using docker image clickhouse-server:22.3 --- .github/workflows/linux.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8473f82c..5a9677f5 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -8,7 +8,8 @@ on: env: BUILD_TYPE: Release - CH_SERVER_VERSION: 22.3.14.23 + CLICKHOUSE_SERVER_IMAGE: "clickhouse/clickhouse-server:22.3" + jobs: build: runs-on: ubuntu-latest @@ -48,7 +49,7 @@ jobs: - uses: actions/checkout@v2 - name: Install dependencies - run: sudo apt-get install -y cmake ${{ matrix.INSTALL }} ${{ matrix.INSTALL_SSL }} + run: sudo apt-get install -y docker cmake ${{ matrix.INSTALL }} ${{ matrix.INSTALL_SSL }} - name: Configure CMake run: | @@ -62,18 +63,12 @@ jobs: - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target all - - name: Start ClickHouse server + - name: Test - Start ClickHouse server in background run: | - sudo apt-get install -y apt-transport-https ca-certificates dirmngr - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754 - echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \ - /etc/apt/sources.list.d/clickhouse.list - sudo apt-get update - sudo apt-get install -y \ - clickhouse-server=${{env.CH_SERVER_VERSION}} \ - clickhouse-client=${{env.CH_SERVER_VERSION}} \ - clickhouse-common-static=${{env.CH_SERVER_VERSION}} - sudo service clickhouse-server start + docker pull ${CLICKHOUSE_SERVER_IMAGE} + docker run -d --name clickhouse ${CLICKHOUSE_SERVER_IMAGE} + docker ps -a + docker stats -a --no-stream - name: Test working-directory: ${{github.workspace}}/build/ut From 9317d6c9b1e9ac4ea8964173d54f99057694461a Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Mon, 31 Oct 2022 13:57:48 +0400 Subject: [PATCH 5/8] Installing docker --- .github/workflows/linux.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5a9677f5..4cba8b03 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -51,6 +51,15 @@ jobs: - name: Install dependencies run: sudo apt-get install -y docker cmake ${{ matrix.INSTALL }} ${{ matrix.INSTALL_SSL }} + - name: Install dependencies - Docker + run: | + sudo apt remove -y docker docker-engine docker.io containerd runc + sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt update -q + sudo apt install docker-ce docker-ce-cli containerd.io + - name: Configure CMake run: | cmake \ From e0dd41f3af15c628071d59603abee6790906f8f8 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Tue, 1 Nov 2022 00:50:20 +0400 Subject: [PATCH 6/8] Waiting for CH server to start in docker --- .github/workflows/linux.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 4cba8b03..932f10a9 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -78,6 +78,8 @@ jobs: docker run -d --name clickhouse ${CLICKHOUSE_SERVER_IMAGE} docker ps -a docker stats -a --no-stream + ## Check and wait until CH is ready to accept connections + docker exec -it clickhouse bash -c 'for i in {1..10}; do echo checking if clickhouse server is started attempt \#$i; if ( grep -q " Application: Ready for connections." /var/log/clickhouse-server/clickhouse-server.log ); then echo seems like it is started; exit 0; fi; sleep 1; done; exit -1' - name: Test working-directory: ${{github.workspace}}/build/ut From 20abdeaca0b3e008245231755ccc0a04ec87b8fa Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Tue, 1 Nov 2022 02:54:26 +0400 Subject: [PATCH 7/8] fixed checking is clickhouse server is started --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 932f10a9..be558330 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -79,7 +79,7 @@ jobs: docker ps -a docker stats -a --no-stream ## Check and wait until CH is ready to accept connections - docker exec -it clickhouse bash -c 'for i in {1..10}; do echo checking if clickhouse server is started attempt \#$i; if ( grep -q " Application: Ready for connections." /var/log/clickhouse-server/clickhouse-server.log ); then echo seems like it is started; exit 0; fi; sleep 1; done; exit -1' + docker exec clickhouse bash -c 'for i in {1..10}; do echo checking if clickhouse server is started attempt \#$i; if ( grep -q " Application: Ready for connections." /var/log/clickhouse-server/clickhouse-server.log ); then echo seems like clickhouse server is started; exit 0; fi; sleep 1; done; exit -1' - name: Test working-directory: ${{github.workspace}}/build/ut From ba17f2c3cc75a153543ba992a3896aeb06c54dae Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Tue, 1 Nov 2022 03:33:44 +0400 Subject: [PATCH 8/8] Attempt to fix test clikchouse-cpp-ut fails to connect to server --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index be558330..caeb4497 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -75,7 +75,7 @@ jobs: - name: Test - Start ClickHouse server in background run: | docker pull ${CLICKHOUSE_SERVER_IMAGE} - docker run -d --name clickhouse ${CLICKHOUSE_SERVER_IMAGE} + docker run -d --name clickhouse -p 9000:9000 ${CLICKHOUSE_SERVER_IMAGE} docker ps -a docker stats -a --no-stream ## Check and wait until CH is ready to accept connections