rookeries/Rotefile

62 lines
2.0 KiB
Plaintext

-- Lua docs: https://www.lua.org/manual/5.3/manual.html
-- Rote docs: https://github.com/sagebind/rote/tree/master/docs/src
default "test"
desc("Build the container")
task("build", function()
-- os.execute("docker-compose build rookeries")
exec("docker", "build", "-t", "rookeries/webapp:build", "webapp")
exec("docker", "build", "-t", "rookeries/api:build", "api")
end)
desc("Runs all tests")
task("test", {"test-api", "test-webapp"}, function()
end)
desc("Runs api tests")
task("test-api", {"build"}, function()
exec("docker-compose", "up", "-d", "db")
exec("docker-compose", "run", "api", "inv", "test.style")
exec("docker-compose", "run", "api", "inv", "test.server", "--couchdb-connection=http://admin:password@db:5984/")
end)
desc("Runs webapp tests")
task("test-webapp", {"build"}, function()
exec("docker-compose", "run", "webapp", "npm", "run", "lint")
-- TODO: Enable tests once tests are testing useful functionality and CI issue has been resolved.
-- exec("docker-compose", "run", "webapp", "npm", "run","test")
end)
-- TODO: Make the feature tests reliable.
--task ("feature_tests", function ()
-- exec("docker-compose", "up", "-d", "couchdb")
-- exec("docker-compose", "run", "rookeries_api", "inv", "test.features", "--couchdb-connection=http://admin:password@couchdb:5984/", "--browser=phantomjs")
--end)
desc("Demos Rookeries in a browser")
task ("demo", {"start"}, function ()
exec("python", "-m", "webbrowser", "-n", "http://localhost:5000/")
end)
desc("Starts Rookeries")
task("start", {"build"}, function()
exec("docker-compose", "up", "--remove-orphans")
end)
desc("Starts Rookeries")
task("status", function()
exec("docker-compose", "ps")
end)
desc("Shuts down Rookeries")
task("stop", function()
exec("docker-compose", "down")
end)
desc("Bootstrap DB")
task("bootstrap", function()
exec("docker-compose", "up", "-d", "db")
exec("docker-compose", "run", "api", "inv", "db.bootstrap", "--couchdb-connection=http://admin:password@db:5984/")
end)