-
-
Notifications
You must be signed in to change notification settings - Fork 1
131 lines (107 loc) · 3.43 KB
/
testing.yml
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: testing
on:
push:
branches: master
pull_request:
jobs:
black:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: psf/black@stable
eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run eslint
run: |
npm install --include=dev
./node_modules/.bin/eslint . -c package.json
postgres:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
kiwitcms-url: [tcms.kiwitcms.org, public.tenant.kiwitcms.org]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Create database
run: |
docker compose pull db
docker compose run -d -p 5432:5432 --name postgresql_database db
- name: Configure ~/.tcms.conf for ${{ matrix.kiwitcms-url }}
run: |
echo "[tcms]" > ~/.tcms.conf
echo "url = https://${{ matrix.kiwitcms-url }}/xml-rpc/" >> ~/.tcms.conf
echo "username = kiwitcms-bot" >> ~/.tcms.conf
echo "password = ${{ secrets.TCMS_PASSWORD }}" >> ~/.tcms.conf
- name: Execute tests
env:
QUAY_IO_TOKEN: ${{ secrets.QUAY_IO_TOKEN }}
run: |
pip install -U pip wheel setuptools
pip install -r devel.txt
# report to Kiwi TCMS only if we have access to secrets
if [ -n "${{ secrets.TCMS_PASSWORD }}" ]; then
export DJANGO_TEST_RUNNER="tcms_django_plugin.TestRunner"
export TCMS_PRODUCT=$GITHUB_REPOSITORY
export TCMS_PRODUCT_VERSION=$(echo $GITHUB_REF | sed "s|refs/heads/||" | sed "s|refs/||" | sed "s|/merge||")
export TCMS_BUILD=$(echo $GITHUB_SHA | cut -c1-7)
fi
make check
- name: Local coverage report
run: |
coverage report -m
coverage xml
- name: Send coverage to CodeCov
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: false
files: coverage.xml
test-via-docker:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install system dependencies
run: |
sudo apt-get install -y ca-certificates
- name: Install Python dependencies
run: |
pip install -U pip wheel setuptools
pip install -r devel.txt
- name: Login to Quay.io
run: |
echo "${{ secrets.QUAY_PULL_TOKEN }}" | docker login -u="${{ secrets.QUAY_PULL_USERNAME }}" --password-stdin quay.io
- name: Execute tests
run: |
make test-via-docker
- name: Logout of Quay.io
if: always()
run: |
docker logout quay.io
- name: Upload testing artifacts
uses: actions/upload-artifact@v4
with:
name: testing-artifacts
path: |
./*.html
./*.log
./*docker.log
./test*.txt