Skip to content

Commit 5eb0cf7

Browse files
committed
Initial 3.5
1 parent 3840cdf commit 5eb0cf7

177 files changed

Lines changed: 18822 additions & 5 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.codeclimate.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
languages:
2+
JavaScript: true
3+
Python: true

.fireq.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"elastic": 7,
3+
"analytics": true
4+
}

.github/dependabot.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "client" # Location of package manifests
10+
schedule:
11+
interval: "daily"
12+
13+
- package-ecosystem: "pip" # See documentation for possible values
14+
directory: "server" # Location of package manifests
15+
schedule:
16+
interval: "daily"
17+
18+
- package-ecosystem: "github-actions"
19+
directory: "/"
20+
schedule:
21+
interval: "weekly"
22+
23+
# keep release/3 up to date
24+
- package-ecosystem: "npm"
25+
directory: "client"
26+
target-branch: "release/3"
27+
schedule:
28+
interval: "daily"
29+
30+
- package-ecosystem: "pip"
31+
directory: "server"
32+
target-branch: "release/3"
33+
schedule:
34+
interval: "daily"

.github/docker-compose.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
version: "3.2"
2+
3+
services:
4+
elastic:
5+
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
6+
ports:
7+
- "9200:9200"
8+
environment:
9+
- discovery.type=single-node
10+
tmpfs:
11+
- /usr/share/elasticsearch/data
12+
13+
redis:
14+
image: redis:alpine
15+
ports:
16+
- "6379:6379"
17+
18+
mongo:
19+
image: mongo:4.4
20+
ports:
21+
- "27017:27017"
22+
tmpfs:
23+
- /data/db
24+

.github/workflows/behave.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: "Behave"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
python-version:
7+
description: "Python version"
8+
required: false
9+
default: "3.10"
10+
type: string
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
behave:
17+
runs-on: ubuntu-latest
18+
19+
defaults:
20+
run:
21+
working-directory: server
22+
23+
services:
24+
redis:
25+
image: redis:alpine
26+
ports:
27+
- "6379:6379"
28+
29+
mongo:
30+
image: mongo:4
31+
ports:
32+
- "27017:27017"
33+
34+
elastic:
35+
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.25
36+
ports:
37+
- "9200:9200"
38+
env:
39+
discovery.type: single-node
40+
41+
steps:
42+
- uses: actions/checkout@v6
43+
44+
- uses: actions/setup-python@v6
45+
with:
46+
python-version: ${{ inputs.python-version }}
47+
cache: pip
48+
49+
- run: |
50+
sudo apt-get update
51+
sudo apt-get -y install libxml2-dev libxmlsec1-dev libxmlsec1-openssl libexempi-dev
52+
53+
- run: |
54+
python -m pip install -U pip wheel setuptools
55+
python -m pip install -Ur dev-requirements.txt
56+
57+
- run: behave
58+

.github/workflows/client.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: "Client"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
node-version:
7+
description: "Node version"
8+
required: false
9+
default: "22"
10+
type: string
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
install:
17+
runs-on: ubuntu-latest
18+
19+
defaults:
20+
run:
21+
working-directory: client
22+
23+
steps:
24+
- uses: actions/checkout@v6
25+
26+
- uses: actions/setup-node@v6
27+
with:
28+
node-version: ${{ inputs.node-version }}
29+
cache: npm
30+
cache-dependency-path: client/package-lock.json
31+
32+
- run: npm ci
33+
- run: npm run build

.github/workflows/docker.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: "Docker"
2+
3+
on:
4+
workflow_call:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
server:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v6
15+
16+
- run: docker build .
17+
working-directory: ./server
18+
timeout-minutes: 10
19+
20+
client:
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- uses: actions/checkout@v6
25+
26+
- run: docker build .
27+
working-directory: ./client
28+
timeout-minutes: 20

.github/workflows/pytest.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: "Pytest"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
python-version:
7+
description: "Python version"
8+
required: false
9+
default: "3.10"
10+
type: string
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
17+
pytest:
18+
runs-on: ubuntu-latest
19+
20+
defaults:
21+
run:
22+
working-directory: server
23+
24+
services:
25+
redis:
26+
image: redis:alpine
27+
ports:
28+
- "6379:6379"
29+
30+
mongo:
31+
image: mongo:4
32+
ports:
33+
- "27017:27017"
34+
35+
elastic:
36+
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.25
37+
ports:
38+
- "9200:9200"
39+
env:
40+
discovery.type: single-node
41+
42+
steps:
43+
- uses: actions/checkout@v6
44+
45+
- uses: actions/setup-python@v6
46+
with:
47+
python-version: ${{ inputs.python-version }}
48+
cache: pip
49+
50+
- run: |
51+
sudo apt-get update
52+
sudo apt-get -y install libxml2-dev libxmlsec1-dev libxmlsec1-openssl libexempi-dev
53+
54+
- run: |
55+
python -m pip install -U pip wheel setuptools
56+
python -m pip install -Ur dev-requirements.txt
57+
58+
- run: pytest
59+

.github/workflows/server.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: "Server"
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
python-version:
7+
description: "Python version"
8+
required: false
9+
default: "3.10"
10+
type: string
11+
12+
permissions:
13+
contents: read
14+
15+
defaults:
16+
run:
17+
working-directory: server
18+
19+
jobs:
20+
install:
21+
runs-on: ubuntu-latest
22+
23+
services:
24+
redis:
25+
image: redis:alpine
26+
ports:
27+
- "6379:6379"
28+
29+
mongo:
30+
image: mongo:4
31+
ports:
32+
- "27017:27017"
33+
34+
elastic:
35+
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.25
36+
ports:
37+
- "9200:9200"
38+
env:
39+
discovery.type: single-node
40+
41+
steps:
42+
- uses: actions/checkout@v6
43+
44+
- uses: actions/setup-python@v6
45+
with:
46+
python-version: ${{ inputs.python-version }}
47+
cache: 'pip'
48+
49+
- run: |
50+
sudo apt-get update
51+
sudo apt-get -y install libxml2-dev libxmlsec1-dev libxmlsec1-openssl libexempi-dev
52+
53+
- run: |
54+
python -m pip install -U pip wheel setuptools
55+
python -m pip install -Ur dev-requirements.txt
56+
57+
- name: init
58+
run: |
59+
honcho run python manage.py app:initialize_data
60+
if: ${{ inputs.python-version != '3.12' }} # There is some issue with the 3.12 version atm
61+
62+
black:
63+
runs-on: ubuntu-latest
64+
steps:
65+
- uses: actions/checkout@v6
66+
- uses: actions/setup-python@v6
67+
with:
68+
python-version: ${{ inputs.python-version }}
69+
cache: 'pip'
70+
- run: pip install -Ur dev-requirements.txt
71+
- run: black --check .
72+
73+
flake8:
74+
runs-on: ubuntu-latest
75+
steps:
76+
- uses: actions/checkout@v6
77+
- uses: actions/setup-python@v6
78+
with:
79+
python-version: ${{ inputs.python-version }}
80+
cache: 'pip'
81+
- run: pip install -Ur dev-requirements.txt
82+
- run: flake8
83+
84+
mypy:
85+
runs-on: ubuntu-latest
86+
steps:
87+
- uses: actions/checkout@v6
88+
- uses: actions/setup-python@v6
89+
with:
90+
python-version: ${{ inputs.python-version }}
91+
cache: 'pip'
92+
- run: pip install -Ur dev-requirements.txt
93+
- run: mypy .

.github/workflows/tests.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: "CI"
2+
3+
on: [push, pull_request]
4+
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
server:
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
python-version: ['3.10', '3.12']
14+
uses: ./.github/workflows/server.yml
15+
with:
16+
python-version: ${{ matrix.python-version }}
17+
18+
pytest:
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
python-version: ['3.10', '3.12']
23+
uses: ./.github/workflows/pytest.yml
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
27+
behave:
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
python-version: ['3.10', '3.12']
32+
uses: ./.github/workflows/behave.yml
33+
with:
34+
python-version: ${{ matrix.python-version }}
35+
36+
client:
37+
strategy:
38+
fail-fast: false
39+
matrix:
40+
node-version: ['22']
41+
uses: ./.github/workflows/client.yml
42+
with:
43+
node-version: ${{ matrix.node-version }}
44+
45+
docker:
46+
uses: ./.github/workflows/docker.yml

0 commit comments

Comments
 (0)