Skip to content

system tests

system tests #10964

Workflow file for this run

name: system tests
on:
pull_request:
branches:
- master
schedule:
- cron: '43 */4 * * *'
jobs:
system:
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.16
uses: actions/setup-go@v1
with:
go-version: 1.16
- name: check out
uses: actions/checkout@v2
- name: build
run: script/test-build
- name: clone orchestrator-ci-env
run: |
# Only clone if not already running locally at latest commit
remote_commit=$(git ls-remote https://github.com/openark/orchestrator-ci-env.git HEAD | cut -f1)
local_commit="unknown"
[ -d "orchestrator-ci-env" ] && local_commit=$(cd orchestrator-ci-env && git log --format="%H" -n 1)
echo "remote commit is: $remote_commit"
echo "local commit is: $local_commit"
if [ "$remote_commit" != "$local_commit" ] ; then
rm -rf ./orchestrator-ci-env
git clone https://github.com/openark/orchestrator-ci-env.git
fi
- name: apt-get update
run: |
sudo apt-get update
- name: deploy orchestrator-ci-env
run: |
cd orchestrator-ci-env
script/deploy-haproxy
script/run-haproxy
script/deploy-consul
script/run-consul
script/deploy-consul-template
script/run-consul-template
script/deploy-replication
script/deploy-heartbeat
script/run-heartbeat
- name: deploy orchestrator as service
run: |
sudo cp etc/systemd/orchestrator.service /etc/systemd/system/
sudo mkdir -p /usr/local/orchestrator
sudo cp bin/orchestrator /usr/local/orchestrator/
sudo cp resources/bin/orchestrator-client /usr/bin
sudo cp tests/system/orchestrator-ci-system.conf.json /etc/orchestrator.conf.json
- name: reload systemctl
run: |
sudo systemctl daemon-reload
- name: run orchestrator service
run: |
sudo systemctl start orchestrator
- name: test services
run: |
sudo systemctl status orchestrator
- name: orchestrator-client status
run: |
orchestrator-client -c api -path status | jq .
- name: graceful sleep
run: |
echo "Sleeping gracefully to let orchestrator detect the topology"
sleep 20
- name: orchestrator-client cluster
run: |
orchestrator-client -c clusters-alias
orchestrator-client -c all-instances
orchestrator-client -c topology-tabulated -alias ci
orchestrator-client -c replication-analysis
- name: get consul KV values
run: |
consul kv get -recurse mysql/master
- name: system tests
run: script/test-system