-
Notifications
You must be signed in to change notification settings - Fork 115
89 lines (80 loc) · 2.7 KB
/
_nodejs.condo.core.tests.yml
File metadata and controls
89 lines (80 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
on:
workflow_call:
inputs:
shard_index:
required: true
type: number
shard_total:
required: true
type: number
image_name:
required: true
type: string
runs-on:
required: false
type: string
default: ubuntu-latest
jobs:
tests:
runs-on: ${{ inputs.runs-on }}
steps:
- name: install docker-compose plugin
uses: open-condo-software/actions-setup-docker-compose@v1
with:
version: v2.28.1
- name: install deps
run: |
sudo apt update && sudo apt install -y git
- name: Login to registry
uses: docker/login-action@v3
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.SBERCLOUD_CR_USERNAME }}
password: ${{ secrets.SBERCLOUD_CR_PASSWORD }}
- name: checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.SSH_DOCK_SERVER_PRIVATE_KEY }}
ref: ${{ github.event.pull_request.head.sha || github.ref }}
- name: prepare env for dbs
run: |
cp .env.example .env
- name: run dbs
env:
REGISTRY: ${{ secrets.DOCKER_REGISTRY }}/doma/utils/
run: |
docker-compose --profile dbs up -d
docker-compose up -d --wait nats
- name: run tests
run: |
mkdir test_logs
chmod -R a+rw ./test_logs
docker run \
-e PROMETHEUS_RW_SERVER_URL=$PROMETHEUS_RW_SERVER_URL \
-e PROMETHEUS_USER=$PROMETHEUS_USER \
-e PROMETHEUS_PASSWORD=$PROMETHEUS_PASSWORD \
-e GH_REF_NAME=$GH_REF_NAME \
-v ./test_logs:/app/test_logs --network="host" \
${{ secrets.DOCKER_REGISTRY }}/${{ inputs.image_name }} \
bash -c "./bin/run_condo_domain_tests.sh -s ${{ inputs.shard_index }} -t ${{ inputs.shard_total }}"
env:
PROMETHEUS_RW_SERVER_URL: ${{ secrets.K6_PROMETHEUS_RW_SERVER_URL }}
PROMETHEUS_USER: ${{ secrets.K6_PROMETHEUS_USER }}
PROMETHEUS_PASSWORD: ${{ secrets.K6_PROMETHEUS_PASSWORD }}
GH_REF_NAME: ${{ github.head_ref || github.ref_name }}
- name: Collect docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v1
with:
dest: './docker-logs'
- name: Upload log artifact
uses: actions/upload-artifact@v4
if: failure()
with:
name: logs-shard-${{ inputs.shard_index }}-of-${{ inputs.shard_total }}-${{ env.GITHUB_RUN_ID }}-${{ env.GITHUB_RUN_NUMBER }}
path: |
./test_logs/*
*.log
./docker-logs
retention-days: 2