For a full breakdown of the methodology behind this project there is a blog post here: TODO: Add Blog post when published
What you'll need:
fmt-rustruns cargo fmt on the projectfmt-terraformruns tflint on the projectbuild-debugcreates a build of the app with debug symbols (this can be quiet large)build-productioncreates optimised productions builds of the appnpm-installinstalls dependencies for integration and load teststestruns unit and integration teststest-rustruns unit teststest-intruns integration tests (Requires a deployed environment)initinitialises terraformplancreates a plan using terraformdeploydeploys resorces to AWS (requires a previous build)destroydestroys cloud resources via terraform destroybuild-deploybuilds app and deploys to AWS on ARM architecturebuild-deploy-x86same asbuild-deploybut on x86-64 architecturebuild-deploy-testruns unit tests, build app for production, deploys app, and runs integration testsbuild-deploy-test-x86same asbuild-deploy-testbut on x86-64 architecturebuild-deploy-test-destroysame asbuild-deploy-testbut with environment teardown at the endbuild-deploy-test-destroy-x86same asbuild-deploy-test-destroybut on x86-64 architectureload-testruns artillery tests against app