chore: se adiciona mecanismo para iterar rapidamente en desarrollo

ver CONTRIBUIR.md para detalles
This commit is contained in:
Jovany Leandro G.C bit4bit@riseup.net 2023-07-25 17:04:45 -05:00
parent aeb13eeec3
commit 4fac22984c
3 changed files with 58 additions and 0 deletions

View File

@ -7,6 +7,13 @@
* docker-compose >= 2
* pre-commit >= 2
* git >= 2.30
* rake >= 13
### procedimiento
1. iniciar entorno `rake init`
2. iterar con `rake tdd`
3. detener el entorno `rake down`
### consideraciones

30
Rakefile Normal file
View File

@ -0,0 +1,30 @@
require 'yaml'
WOODPECKER_YML='.woodpecker.yml'
desc 'iniciar entorno'
task :up do
compose('up', '--build', '-d')
end
desc 'poblar entorno'
task :init => [:up] do
pecker = YAML.load_file(WOODPECKER_YML)
pecker.dig('pipeline', 'tests', 'commands').grep(/install/).each do |cmd|
compose('exec', 'app.dev', cmd)
end
end
desc 'iterar'
task :tdd do
compose('exec', 'app.dev', 'python3 -m unittest')
end
desc 'detener entorno'
task :down do
compose('down')
end
def compose(*arg)
sh "docker-compose -f docker-compose.dev.yml #{arg.join(' ')}"
end

21
docker-compose.dev.yml Normal file
View File

@ -0,0 +1,21 @@
version: '3.9'
services:
db.dev:
image: postgres:12
environment:
- POSTGRES_USER=tryton
- POSTGRES_PASSWORD=tryton
- POSTGRES_DB=tryton
app.dev:
image: python:3.9
environment:
- DB_CACHE=/tmp
- DB_NAME=trytontest
- TRYTOND_DATABASE_URI=postgresql://tryton:tryton@db.dev:5432/
depends_on:
- db.dev
command: sleep 10h
volumes:
- .:/app
working_dir: /app