diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index be217633..00000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,147 +0,0 @@
-version: 2.1
-jobs:
- pgbench:
- docker:
- - image: buildpack-deps:bullseye
- working_directory: /home/circleci/project
- steps:
- - azure-cli/install
- - azure-cli/login-with-service-principal
- - checkout
- - run:
- command: |
- cd ./azure
- ./citus-bot.sh citusbot_pgbench_test_resource_group
- name: install dependencies and run pgbench tests
- no_output_timeout: 10m
-
- scale:
- docker:
- - image: buildpack-deps:bullseye
- working_directory: /home/circleci/project
- steps:
- - azure-cli/install
- - azure-cli/login-with-service-principal
- - checkout
- - add_ssh_keys:
- fingerprints:
- - "55:5b:db:88:e2:e4:00:87:bc:55:c2:11:52:67:d9:0d"
- - run:
- command: |
- cd ./azure
- ./citus-bot.sh citusbot_scale_test_resource_group
- name: install dependencies and run scale tests
- no_output_timeout: 10m
-
- tpch:
- docker:
- - image: buildpack-deps:bullseye
- working_directory: /home/circleci/project
- steps:
- - azure-cli/install
- - azure-cli/login-with-service-principal
- - checkout
- - add_ssh_keys:
- fingerprints:
- - "55:5b:db:88:e2:e4:00:87:bc:55:c2:11:52:67:d9:0d"
- - run:
- command: |
- cd ./azure
- ./citus-bot.sh citusbot_tpch_test_resource_group
- name: install dependencies and run tpch tests
- no_output_timeout: 10m
-
- jdbc:
- docker:
- - image: buildpack-deps:focal
- working_directory: /home/circleci/project
- steps:
- - checkout
- - run:
- command: |
- cd ./jdbc
- ./run_jdbc_tests.sh
- name: install dependencies and run jdbc compatibility tests
- no_output_timeout: 10m
-
- extension:
- docker:
- - image: buildpack-deps:bullseye
- working_directory: /home/circleci/project
- steps:
- - azure-cli/install
- - azure-cli/login-with-service-principal
- - checkout
- - add_ssh_keys:
- fingerprints:
- - "55:5b:db:88:e2:e4:00:87:bc:55:c2:11:52:67:d9:0d"
- - run:
- command: |
- cd ./azure
- export EXTENSION_TEST=1
- ./citus-bot.sh citusbot_extension_test_resource_group
- name: install dependencies and run extension tests
- no_output_timeout: 10m
-
- delete_resource_group:
- docker:
- - image: buildpack-deps:bullseye
- working_directory: /home/circleci/project
- steps:
- - azure-cli/install
- - azure-cli/login-with-service-principal
- - checkout
- - run:
- command: |
- cd ./azure
- ./delete-resource-group-job.sh
- name: delete the given resource group
- no_output_timeout: 10m
-
-orbs:
- azure-cli: circleci/azure-cli@1.0.0
-
-workflows:
- version: 2
-
- cleanup:
- jobs:
- - delete_resource_group:
- filters:
- branches:
- only:
- - /delete_resource_group\/.*/ # match with delete_resource_group/ prefix
-
- performance-tests:
- jobs:
- - pgbench:
- filters:
- branches:
- only:
- - /pgbench\/.*/ # match with pgbench/ prefix
- - /all_performance_test\/.*/ # match with all_performance_test/ prefix
- - scale:
- filters:
- branches:
- only:
- - /scale\/.*/ # match with scale/ prefix
- - /all_performance_test\/.*/ # match with all_performance_test/ prefix
- - tpch:
- filters:
- branches:
- only:
- - /tpch\/.*/ # match with tpch/ prefix
- - /all_performance_test\/.*/ # match with all_performance_test/ prefix
-
- compatibility-tests:
- jobs:
- - jdbc:
- filters:
- branches:
- only:
- - /jdbc\/.*/ # match with jdbc prefix
- - extension:
- filters:
- branches:
- only:
- - /extension\/.*/ # match with extension prefix
diff --git a/.github/workflows/cleanup.yml b/.github/workflows/cleanup.yml
new file mode 100644
index 00000000..443ed5e4
--- /dev/null
+++ b/.github/workflows/cleanup.yml
@@ -0,0 +1,36 @@
+name: Cleanup Resource Group
+on:
+ push:
+ branches:
+ - delete_resource_group/*
+jobs:
+ delete_resource_group:
+ runs-on: ubuntu-latest
+ container:
+ image: buildpack-deps:bullseye
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3.5.0
+ - name: Fix ownership issues
+ run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
+ - name: Install Dependencies
+ run: |-
+ apt-get update && apt-get install -y cmake zip jq
+ apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg
+ curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
+ AZ_REPO=$(lsb_release -cs)
+ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | tee /etc/apt/sources.list.d/azure-cli.list
+ apt-get update
+ apt-get install -y azure-cli
+ - name: Login to Azure
+ run: |-
+ az login --service-principal \
+ -u ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientId']}} \
+ -p ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientSecret']}} \
+ --tenant ${{ fromJson(secrets.AZURE_CREDENTIALS)['tenantId']}}
+ - name: Delete resource group
+ run: |-
+ mkdir ~/.ssh
+ cd ./azure
+ ./delete-resource-group-job.sh
+ shell: bash
diff --git a/.github/workflows/extension.yml b/.github/workflows/extension.yml
new file mode 100644
index 00000000..81462daa
--- /dev/null
+++ b/.github/workflows/extension.yml
@@ -0,0 +1,39 @@
+name: Compatibility Tests - Extension
+on:
+ push:
+ branches:
+ - extension/*
+env:
+ RESULT_REPO_ACCESS_TOKEN: ${{ secrets.TEST_RESULTS_REPO_TOKEN }}
+jobs:
+ extension:
+ runs-on: ubuntu-latest
+ container:
+ image: buildpack-deps:bullseye
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3.5.0
+ - name: Fix ownership issues
+ run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
+ - name: Install Dependencies
+ run: |-
+ apt-get update && apt-get install -y cmake zip jq
+ apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg
+ curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
+ AZ_REPO=$(lsb_release -cs)
+ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | tee /etc/apt/sources.list.d/azure-cli.list
+ apt-get update
+ apt-get install -y azure-cli
+ - name: Login to Azure
+ run: |-
+ az login --service-principal \
+ -u ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientId']}} \
+ -p ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientSecret']}} \
+ --tenant ${{ fromJson(secrets.AZURE_CREDENTIALS)['tenantId']}}
+ - name: Run extension tests
+ run: |-
+ mkdir ~/.ssh
+ cd ./azure
+ export EXTENSION_TEST=1
+ ./citus-bot.sh citusbot_extension_test_resource_group
+ shell: bash
diff --git a/.github/workflows/jdbc-tests.yml b/.github/workflows/jdbc-tests.yml
new file mode 100644
index 00000000..954622a7
--- /dev/null
+++ b/.github/workflows/jdbc-tests.yml
@@ -0,0 +1,22 @@
+name: Compatibility Tests - JDBC
+on:
+ push:
+ branches:
+ - jdbc/*
+env:
+ RESULT_REPO_ACCESS_TOKEN: ${{ secrets.TEST_RESULTS_REPO_TOKEN }}
+jobs:
+ jdbc:
+ runs-on: ubuntu-latest
+ container:
+ image: buildpack-deps:focal
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3.5.0
+ - name: Fix ownership issues
+ run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
+ - name: Run JDBC compatibility tests
+ run: |-
+ cd ./jdbc
+ ./run_jdbc_tests.sh
+ shell: bash
diff --git a/.github/workflows/pgbench-tests.yml b/.github/workflows/pgbench-tests.yml
new file mode 100644
index 00000000..90bace91
--- /dev/null
+++ b/.github/workflows/pgbench-tests.yml
@@ -0,0 +1,39 @@
+name: Performance Tests - PgBench
+on:
+ push:
+ branches:
+ - pgbench/*
+ - all_performance_test/*
+env:
+ RESULT_REPO_ACCESS_TOKEN: ${{ secrets.TEST_RESULTS_REPO_TOKEN }}
+jobs:
+ pgbench:
+ runs-on: ubuntu-latest
+ container:
+ image: buildpack-deps:bullseye
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3.5.0
+ - name: Fix ownership issues
+ run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
+ - name: Install Dependencies
+ run: |-
+ apt-get update && apt-get install -y cmake zip jq
+ apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg
+ curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
+ AZ_REPO=$(lsb_release -cs)
+ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | tee /etc/apt/sources.list.d/azure-cli.list
+ apt-get update
+ apt-get install -y azure-cli
+ - name: Login to Azure
+ run: |-
+ az login --service-principal \
+ -u ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientId']}} \
+ -p ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientSecret']}} \
+ --tenant ${{ fromJson(secrets.AZURE_CREDENTIALS)['tenantId']}}
+ - name: Run pgbench tests
+ run: |-
+ mkdir ~/.ssh
+ cd ./azure
+ ./citus-bot.sh citusbot_pgbench_test_resource_group
+ shell: bash
diff --git a/.github/workflows/scale-tests.yml b/.github/workflows/scale-tests.yml
new file mode 100644
index 00000000..2e110057
--- /dev/null
+++ b/.github/workflows/scale-tests.yml
@@ -0,0 +1,39 @@
+name: Performance Tests - Scale
+on:
+ push:
+ branches:
+ - scale/*
+ - all_performance_test/*
+env:
+ RESULT_REPO_ACCESS_TOKEN: ${{ secrets.TEST_RESULTS_REPO_TOKEN }}
+jobs:
+ scale:
+ runs-on: ubuntu-latest
+ container:
+ image: buildpack-deps:bullseye
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3.5.0
+ - name: Fix ownership issues
+ run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
+ - name: Install Dependencies
+ run: |-
+ apt-get update && apt-get install -y cmake zip jq
+ apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg
+ curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
+ AZ_REPO=$(lsb_release -cs)
+ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | tee /etc/apt/sources.list.d/azure-cli.list
+ apt-get update
+ apt-get install -y azure-cli
+ - name: Login to Azure
+ run: |-
+ az login --service-principal \
+ -u ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientId']}} \
+ -p ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientSecret']}} \
+ --tenant ${{ fromJson(secrets.AZURE_CREDENTIALS)['tenantId']}}
+ - name: Run scale tests
+ run: |-
+ mkdir ~/.ssh
+ cd ./azure
+ ./citus-bot.sh citusbot_scale_test_resource_group
+ shell: bash
diff --git a/.github/workflows/tpch-tests.yml b/.github/workflows/tpch-tests.yml
new file mode 100644
index 00000000..6a576210
--- /dev/null
+++ b/.github/workflows/tpch-tests.yml
@@ -0,0 +1,39 @@
+name: Performance Tests - TPCH
+on:
+ push:
+ branches:
+ - tpch/*
+ - all_performance_test/*
+env:
+ RESULT_REPO_ACCESS_TOKEN: ${{ secrets.TEST_RESULTS_REPO_TOKEN }}
+jobs:
+ tpch:
+ runs-on: ubuntu-latest
+ container:
+ image: buildpack-deps:bullseye
+ options: --user root
+ steps:
+ - uses: actions/checkout@v3.5.0
+ - name: Fix ownership issues
+ run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
+ - name: Install Dependencies
+ run: |-
+ apt-get update && apt-get install -y cmake zip jq
+ apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg
+ curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
+ AZ_REPO=$(lsb_release -cs)
+ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | tee /etc/apt/sources.list.d/azure-cli.list
+ apt-get update
+ apt-get install -y azure-cli
+ - name: Login to Azure
+ run: |-
+ az login --service-principal \
+ -u ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientId']}} \
+ -p ${{ fromJson(secrets.AZURE_CREDENTIALS)['clientSecret']}} \
+ --tenant ${{ fromJson(secrets.AZURE_CREDENTIALS)['tenantId']}}
+ - name: Run tpch tests
+ run: |-
+ mkdir ~/.ssh
+ cd ./azure
+ ./citus-bot.sh citusbot_tpch_test_resource_group
+ shell: bash
diff --git a/README.md b/README.md
index 9a42f520..18cc7931 100644
--- a/README.md
+++ b/README.md
@@ -69,7 +69,7 @@ If your subscriptions list doesn't contain `Azure SQL DB Project Orcas - CitusDa
ssh-add
```
-5. You should setup your VPN to be able to connect to Azure VM-s if your tests are not running on CircleCI. Doing this as of latest consists of:
+5. You should setup your VPN to be able to connect to Azure VM-s if your tests are not running on GHA. Doing this as of latest consists of:
* Open your VPN.
* Run `routes.ps1` (on Windows only, if you are developing on Mac you should probably ping smn from the team for help). The script requires
`python` to be installed to run.
@@ -360,7 +360,7 @@ be lifted in the future.
# Running Tests
## Running Automated Tests
-**Depending of the tests you trigger here, you can block at most 3 jobs slots in circleci for around 3 hours. Choose wisely the time you want to run the tests to not block development**
+**Depending of the tests you trigger here, you can block at most 3 jobs slots in GHA for around 3 hours. Choose wisely the time you want to run the tests to not block development**
If you want, you can run trigger a job which can run pgbench, scale, tpch and extension tests. What the job does is:
@@ -377,7 +377,7 @@ There is a separate job for each test and you can run any combinations of them.
* If the branch has a prefix `all_performance_test/`, then all jobs will be triggered.
* If the branch has a prefix `extension/`, then extension job will be triggered.
-You should push your branch to Github so that the circleci job will be triggerred.
+You should push your branch to Github so that the GHA job will be triggerred.
Each job uses a specific resource group name so that there will be at most 3 resource groups for these jobs. If there is already a resource group, then you should make sure that:
diff --git a/azure/citus-bot.sh b/azure/citus-bot.sh
index fce4567d..0cb5de9d 100755
--- a/azure/citus-bot.sh
+++ b/azure/citus-bot.sh
@@ -16,11 +16,6 @@ eval `ssh-agent -s`
# add key for azure VM
ssh-add ~/.ssh/vm-key
-# add the the default key in order to forward it with
-# ssh agent forwarding to allow the Azure VM-s to pull the
-# test automation repo
-ssh-add
-
function cleanup {
sh ./delete-resource-group.sh
}