Skip to content

Workflow file for this run

name: integration-test
on:
push:
branches:
- main
- testing
tags:
- v*
pull_request:
workflow_dispatch:
permissions:
checks: write
pull-requests: write
jobs:
src-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: service up
run: |
docker compose --file docker-compose.yml up -d grafana
- name: verbose services
# ensure all services is up
run: |
sleep 60
docker compose --file docker-compose.yml ps -a
- name: ns logs
run: |
docker compose --file docker-compose.yml logs openmldb-ns1
docker compose --file docker-compose.yml logs openmldb-ns2
docker compose --file docker-compose.yml logs openmldb-zk
- name: ns internal log
run: |
docker compose --file docker-compose.yml cp openmldb-ns1:/opt/openmldb/logs log-ns1-src/
docker compose --file docker-compose.yml cp openmldb-ns2:/opt/openmldb/logs log-ns2-src/
- uses: actions/upload-artifact@v3
with:
name: ns-logs
path: |
log-ns1-src/
log-ns2-src/
- name: verbose exporter log
run: |
docker compose --file docker-compose.yml logs openmldb-exporter
- name: run tests
run: |
docker compose --file docker-compose.yml up --no-recreate --exit-code-from testing testing
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
check_name: Monitoring integration test
comment_title: Monitoring integration test
files: |
./pytest.xml
prod-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: service up
run: |
docker compose --file docker-compose.yml --env-file prod.env up -d grafana
- name: ns internal log
run: |
docker compose --file docker-compose.yml cp openmldb-ns1:/opt/openmldb/logs log-ns1-prod/
docker compose --file docker-compose.yml cp openmldb-ns2:/opt/openmldb/logs log-ns2-prod/
- uses: actions/upload-artifact@v3
with:
name: ns-logs
path: |
log-ns1-prod/
log-ns2-prod/
- name: run tests
run: |
docker compose --file docker-compose.yml --env-file prod.env up --no-recreate --exit-code-from testing testing