Skip to content

Releases: cloudposse/build-harness

0.2.1

21 Feb 20:11
fb4f77f
Compare
Choose a tag to compare

what

  • Check Docker credentials in docker:login
  • Don't login to Docker if credentials are missing

why

  • For external PRs (not originating from the original repo), for security reasons CI environments like Travis don't provide the ENV vars specified in repo Settings, and Docker login fails
$ make docker:login
DOCKER_HUB_USERNAME not defined in docker:login
make: *** [docker:login] Error 1
The command "make docker:login" failed and exited with 2 during .

Add support of readme generation

08 Dec 18:16
dbd0e31
Compare
Choose a tag to compare

What

  • Support of README generation
  • Support pluggable datasources (check how we deal with make & terraform projects)
  • Generate readme with one command

Why

  • We have standard parts in readme files.
  • Different projects need different way to collect data for templates
  • Unify way to generate readme independent of project type

How to use

  1. Create Makefile in repo root dir ( Example https://github.com/cloudposse/terraform-aws-elastic-beanstalk-environment/blob/feature-support-readme-generation/Makefile )
  2. Run $ make readme:init to fetch basic .README.md
  3. Customize .README.md template as you need
  4. Run $ make readme:build to generate README.md based on .README.md

Avaliable placeholders

  • {{ (datasource "git").name }} - Repository name
  • {{ (datasource "git").url }} - Repository URL
  • {{ (datasource "section").help }} - Cloudposse contact us text
  • {{ (datasource "section").contributing }} - Cloudposse code of conduct rules
  • {{ (datasource "license").apache2 }} - Cloudposse short license text
  • {{ (datasource "section").about }} - Cloudposse about text
  • {{ (datasource "section").warning }} - Warning DO NOT EDIT README.md
  • {{- (datasource "contributor").erik }} - Erik's contributor card
  • {{- (datasource "contributor").igor }} - Igor's contributor card
  • {{- (datasource "contributor").andrew }} - Andrew contributor card
  • {{- (datasource "contributor").konstantin }} - Konstantin's contributor card
  • {{- (datasource "contributor").sergey }} - Sergey's contributor card
  • {{- (datasource "contributor").valeriy }} - Valeriy's contributor card
  • {{- (datasource "contributor").vladimir }} - Vladimir's contributor card
  • {{- (datasource "contributor")._links }} - Links to github profiles and images to contributors (Required if at least one contributor specified in README)
  • {{ (datasource "terraform").input }} - Terraform module input variables table
  • {{ (datasource "terraform").output }} - Terraform module outputs table
  • {{ (datasource "make").help }} - Make targets list with descriptions (based on make help)

Under the hood

  1. Gomplate as cli tool for gotempale
  2. Terraform docs as tool to parse terraform module and get input\output

Example

cloudposse/terraform-aws-elastic-beanstalk-environment#19
#35

Add Support for Terraform Lint Checking

13 Oct 21:06
Compare
Choose a tag to compare

what

  • Validate code has been lint tested
  • Validate plugins are downloadable
  • Validate modules are downloadable
  • Validate code is syntactically correct

why

  • Improve overall code quality/consistency

demo

With broken formatting:
https://travis-ci.org/cloudposse/terraform-null-label/builds/282578671
image

After fixing formatting:
https://travis-ci.org/cloudposse/terraform-null-label/builds/282581055
image