Skip to content

fbecart/zinoma-node-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Žinoma Node example

This is an example of a build flow automated with Žinoma.

It automates the build flow of sazzer/docker-test.

Setup

Prerequisites:

Project checkout:

git clone [email protected]:fbecart/docker-node-example.git
cd docker-node-example

Experimenting with the incremental build

zinoma e2e_docker_run will run the full suite of e2e tests in Docker.

It should take about a minute to run the following tasks in parallel:

  • build a Docker image of the backend
  • build the webapp, then build a Docker image of the webapp
  • build a docker image of the e2e tests
  • run the e2e tests

This command is incremental. Try to run this command twice, and you'll see:

$ zinoma e2e_docker_run
INFO - backend_docker_build - Build skipped (Not Modified)
INFO - e2e_docker_build - Build skipped (Not Modified)
INFO - webapp_install_node_dependencies - Build skipped (Not Modified)
INFO - webapp_build - Build skipped (Not Modified)
INFO - webapp_docker_build - Build skipped (Not Modified)
INFO - e2e_docker_run - Build skipped (Not Modified)

This time, the command completed in about one second. As the sources files haven't been modified, Žinoma was able to understand that the test suite did not need to run again.

Let's introduce a modification to our backend and see what happens:

echo "" >> backend/index.js
zinoma e2e_docker_run

This command should have taken about 30s, which is 50% faster than a full build.

Based on the changes in the file system, Žinoma is able to discriminate which tasks to run, and which tasks to skip.

This time, it was able to skip the build of the webapp and the e2e tests, but it still had to rebuild the backend and to execute the full test suite.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.5%
  • Shell 19.3%
  • HTML 7.8%
  • Dockerfile 2.8%
  • CSS 0.6%