Skip to content

Commit 2edff30

Browse files
committed
basic files setup
1 parent 8bd4068 commit 2edff30

File tree

6 files changed

+134
-0
lines changed

6 files changed

+134
-0
lines changed

.dockerignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.git
2+
.gitignore
3+
.env
4+
*.md
5+
LICENSE
6+
tests/
7+
docs/
8+
examples/
9+
.pytest_cache
10+
.coverage
11+
htmlcov/
12+
*.pem
13+
.idea/
14+
.vscode/

.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
SCHEMA_URL=https://raw.githubusercontent.com/ReproNim/demo-protocol/master/VoicePilot/VoicePilot_schema
2+
FRONTEND_PORT=3000
3+
BACKEND_PORT=8000
4+
DEV_MODE=1

.github/workflows/ci.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Set up Docker Buildx
16+
uses: docker/setup-buildx-action@v3
17+
18+
- name: Build and test
19+
run: |
20+
docker compose -f docker-compose.dev.yml build
21+
docker compose -f docker-compose.dev.yml up -d
22+
docker compose -f docker-compose.dev.yml exec -T backend python -m pytest tests/
23+
docker compose -f docker-compose.dev.yml down
24+
25+
docker:
26+
needs: test
27+
runs-on: ubuntu-latest
28+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
29+
steps:
30+
- uses: actions/checkout@v4
31+
32+
- name: Login to GitHub Container Registry
33+
uses: docker/login-action@v3
34+
with:
35+
registry: ghcr.io
36+
username: ${{ github.actor }}
37+
password: ${{ secrets.GITHUB_TOKEN }}
38+
39+
- name: Build and push Docker images
40+
run: |
41+
docker compose build
42+
docker compose push

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
*.pyc
2+
__pycache__
3+
.env
4+
.venv
5+
*.log
6+
.DS_Store
7+
node_modules
8+
/dist
9+
.pytest_cache
10+
.coverage
11+
htmlcov/
12+
*.pem
13+
.idea/
14+
.vscode/

Makefile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.PHONY: build up down test lint clean help
2+
3+
help:
4+
@echo "Available commands:"
5+
@echo " make build - Build Docker images"
6+
@echo " make up - Start the deployment"
7+
@echo " make down - Stop the deployment"
8+
@echo " make test - Run tests"
9+
@echo " make lint - Run linters"
10+
@echo " make clean - Clean up Docker resources"
11+
12+
build:
13+
docker compose build
14+
15+
up:
16+
docker compose up -d
17+
18+
down:
19+
docker compose down
20+
21+
test:
22+
docker compose -f docker-compose.dev.yml up -d
23+
docker compose -f docker-compose.dev.yml exec backend python -m pytest tests/
24+
docker compose -f docker-compose.dev.yml down
25+
26+
lint:
27+
docker compose -f docker-compose.dev.yml exec backend black .
28+
docker compose -f docker-compose.dev.yml exec backend isort .
29+
30+
clean:
31+
docker compose down -v
32+
docker system prune -f

pyproject.toml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[project]
2+
name = "reproschema-deployment"
3+
version = "0.1.0"
4+
description = "Deployment configuration for ReproSchema projects"
5+
readme = "README.md"
6+
requires-python = ">=3.11"
7+
license = {file = "LICENSE"}
8+
authors = [
9+
{name = "ReproNim Community", email = "info@repronim.org"},
10+
]
11+
12+
[build-system]
13+
requires = ["hatchling"]
14+
build-backend = "hatchling.build"
15+
16+
[tool.pytest.ini_options]
17+
testpaths = ["tests"]
18+
python_files = ["test_*.py"]
19+
addopts = "-ra -q"
20+
21+
[tool.black]
22+
line-length = 88
23+
target-version = ['py311']
24+
include = '\.pyi?$'
25+
26+
[tool.isort]
27+
profile = "black"
28+
multi_line_output = 3

0 commit comments

Comments
 (0)