From 4fac22984c9736e04a73659ab9ab1e237da8bb60 Mon Sep 17 00:00:00 2001 From: "Jovany Leandro G.C bit4bit@riseup.net" Date: Tue, 25 Jul 2023 17:04:45 -0500 Subject: [PATCH] chore: se adiciona mecanismo para iterar rapidamente en desarrollo ver CONTRIBUIR.md para detalles --- CONTRIBUIR.md | 7 +++++++ Rakefile | 30 ++++++++++++++++++++++++++++++ docker-compose.dev.yml | 21 +++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 Rakefile create mode 100644 docker-compose.dev.yml diff --git a/CONTRIBUIR.md b/CONTRIBUIR.md index 55a6680..a647a6b 100644 --- a/CONTRIBUIR.md +++ b/CONTRIBUIR.md @@ -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 diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..e574072 --- /dev/null +++ b/Rakefile @@ -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 diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..dd783c8 --- /dev/null +++ b/docker-compose.dev.yml @@ -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