Skip to content

Commit

Permalink
Update run_tests.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-zaitsev authored Aug 12, 2024
1 parent f3a6241 commit 2dd9eca
Showing 1 changed file with 69 additions and 25 deletions.
94 changes: 69 additions & 25 deletions .github/workflows/run_tests.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,28 @@
name: run_tests
on: workflow_dispatch
on:
pull_request:
branches:
- '*'
workflow_dispatch:
inputs:
test_mode:
description: 'Test mode'
type: choice
options:
- Run all
- Fail fast
test_mask:
description: 'Wildcard mask to run only some tests. Empty means all.'
type: string
required: false
jobs:
run_tests:
name: Run Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Cache python
uses: actions/cache@v3
uses: actions/cache@v4
id: cache-python
with:
path: ~/venv/qa
Expand All @@ -32,36 +47,58 @@ jobs:
with:
driver: docker
container-runtime: containerd
kubernetes-version: v1.25.3
kubernetes-version: v1.30.0
cpus: max
memory: max

- name: Build clickhouse-operator locally without push to registry
run: |
minikube status
export CHO_RELEASE=$(cat release)
echo "current release=$CHO_RELEASE"
docker build -f dockerfile/operator/Dockerfile -t altinity/clickhouse-operator:${CHO_RELEASE} --pull .
docker build -f dockerfile/metrics-exporter/Dockerfile -t altinity/metrics-exporter:${CHO_RELEASE} --pull .
docker image save altinity/clickhouse-operator:${CHO_RELEASE} -o operator.tar
docker image save altinity/metrics-exporter:${CHO_RELEASE} -o metrics-exporter.tar
minikube image load operator.tar
minikube image load metrics-exporter.tar
- name: Run Tests
id: run-tests
continue-on-error: true
run: |
source ~/venv/qa/bin/activate
set -x
set +e # disable the "exit on failure"
# bash -xe ./deploy/prometheus/create-prometheus.sh
# bash -xe ./deploy/minio/install-minio-operator.sh
# bash -xe ./deploy/minio/install-minio-tenant.sh
sudo ln -snvf ~/venv/qa/bin/tfs /bin/tfs
# bash -xe /deploy/grafana/grafana-with-grafana-operator/install-grafana-operator.sh
# bash -xe /deploy/grafana/grafana-with-grafana-operator/install-grafana-with-operator.sh
# docker compose -f ./tests/docker-compose/docker-compose.yml pull runner
# ~/venv/qa/bin/python3 ./tests/regression.py --only "/regression/e2e.test_operator/*" --trim-results on --debug --log ./tests/raw.log
if [[ "${{ github.event.inputs.test_mask }}" != '' ]]
then
ONLY="${{ github.event.inputs.test_mask }}"
else
ONLY="*"
fi
# bash ./tests/e2e/run_tests_parallel.sh
sudo ln -snvf ~/venv/qa/bin/tfs /bin/tfs
ONLY='*'
# ONLY='*test_036*'
~/venv/qa/bin/python3 ./tests/regression.py --only "/regression/e2e.test_operator/${ONLY}" --trim-results on --debug --native --log ./tests/raw.log
~/venv/qa/bin/tfs --debug --no-colors transform compact ./tests/raw.log ./tests/compact.log
~/venv/qa/bin/tfs --debug --no-colors transform nice ./tests/raw.log ./tests/nice.log.txt
~/venv/qa/bin/tfs --debug --no-colors transform short ./tests/raw.log ./tests/short.log.txt
~/venv/qa/bin/tfs --debug --no-colors report results -a "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/" ./tests/raw.log - --confidential --copyright "Altinity LTD" --logo ./tests/altinity.png | ~/venv/qa/bin/tfs --debug --no-colors document convert > ./tests/report.html
- uses: actions/upload-artifact@v3
if [[ "${{ github.event.inputs.test_mode }}" == 'Run all' ]]
then
test_mode="--test-to-end"
fi
~/venv/qa/bin/python3 ./tests/regression.py --only=/regression/e2e.test_operator/${ONLY} $test_mode --trim-results on -o short --native --log ./tests/raw.log
test_result=$?
~/venv/qa/bin/tfs --no-colors transform compact ./tests/raw.log ./tests/compact.log
~/venv/qa/bin/tfs --no-colors transform nice ./tests/raw.log ./tests/nice.log.txt
~/venv/qa/bin/tfs --no-colors transform short ./tests/raw.log ./tests/short.log.txt
~/venv/qa/bin/tfs --no-colors report results -a "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/" ./tests/raw.log - --confidential --copyright "Altinity Inc." --logo ./tests/altinity.png | ~/venv/qa/bin/tfs --debug --no-colors document convert > ./tests/report.html
echo "test_result=$test_result" >> $GITHUB_OUTPUT
exit "$test_result"
- uses: actions/upload-artifact@v4
with:
name: testflows-logs
path: |
Expand All @@ -70,10 +107,17 @@ jobs:
if-no-files-found: error
retention-days: 7

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: testflows-report
path: |
tests/report.html
if-no-files-found: error
retention-days: 7
retention-days: 90

- name: Test Failed
if: ${{ steps.vars.outputs.test_result != '0' }}
uses: actions/github-script@v3
with:
script: |
core.setFailed('Test suite has failures! Check test run status and logs.')

0 comments on commit 2dd9eca

Please sign in to comment.