From 32b4d20beba50438d5ef32498497cf3aae724363 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Sun, 7 Jun 2020 08:57:40 -0700 Subject: [PATCH 01/17] Use github actions to build and push --- .github/workflows/build-and-push.yml | 23 +++++++++++++++++++++++ .travis.yml | 28 ---------------------------- Dockerfile | 3 ++- modules/make/Makefile | 9 ++++++--- modules/terraform/Makefile | 2 +- 5 files changed, 32 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/build-and-push.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml new file mode 100644 index 00000000..ed9361fa --- /dev/null +++ b/.github/workflows/build-and-push.yml @@ -0,0 +1,23 @@ +name: docker +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened] + +jobs: + update: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v1 + - name: docker/build-and-push + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + repository: ${{ github.repository }} + registry: registry-1.docker.io + tag_with_ref: true + tag_with_sha: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 26b90114..00000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: go -go: - - 1.9.x - -addons: - apt: - packages: - - git - - make - - curl - -services: -- docker - -install: -- make docker/login -- make go/deps-build -- make go/deps-dev -- make readme/deps - -script: -- make bash/lint -- make make/lint -- make terraform/install -- make docker/build - -after_success: -- make travis/docker-tag-and-push diff --git a/Dockerfile b/Dockerfile index eef01964..c9093835 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,7 +39,8 @@ ENV INSTALL_PATH /usr/local/bin WORKDIR /build-harness -RUN make -s template/deps aws/install +RUN make -s bash/lint make/lint +RUN make -s template/deps aws/install terraform/install go/deps-build go/deps-dev readme/deps ENTRYPOINT ["/usr/bin/make"] diff --git a/modules/make/Makefile b/modules/make/Makefile index b598cdbd..b5779aaa 100644 --- a/modules/make/Makefile +++ b/modules/make/Makefile @@ -3,6 +3,9 @@ make/lint: @LINT=true \ find . -type f -name '*Makefile*' \ -type f '!' -name '*.example' \ - -type f '!' -path './vendor/*' -exec \ - /bin/sh -c 'echo "==> {}">/dev/stderr; make --include-dir=modules/ --just-print --dry-run --recon --no-print-directory --quiet --silent -f {}' \; > /dev/null - @$(SELF) bash/lint + -type f '!' -path './modules/packages/*' \ + -type f '!' -path './vendor/*' \ + -type f '!' -path './templates/Makefile.build-harness' \ + -type f '!' -path './Makefile' \ + -exec \ + /bin/sh -c 'echo "==> {}">/dev/stderr; make --file=modules/packages/Makefile --include-dir=modules/ --just-print --dry-run --recon --no-print-directory --quiet --silent -f {}' \; > /dev/null diff --git a/modules/terraform/Makefile b/modules/terraform/Makefile index 83eaa379..c1209465 100644 --- a/modules/terraform/Makefile +++ b/modules/terraform/Makefile @@ -1,6 +1,6 @@ TMP ?= /tmp TERRAFORM ?= $(BUILD_HARNESS_PATH)/vendor/terraform -TERRAFORM_VERSION ?= 0.11.11 +TERRAFORM_VERSION ?= 0.12.26 TERRAFORM_URL ?= https://releases.hashicorp.com/terraform/$(TERRAFORM_VERSION)/terraform_$(TERRAFORM_VERSION)_$(OS)_$(BUILD_HARNESS_ARCH).zip ## Install terraform From 8d708f3c58c76d8594afe631a88fd67f7e95bf36 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Sun, 7 Jun 2020 09:00:35 -0700 Subject: [PATCH 02/17] Update readme --- README.md | 10 +++++----- README.yaml | 4 ++-- docs/targets.md | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index de7a999d..d36625e1 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ [![Cloud Posse][logo]](https://cpco.io/homepage) -# Build Harness [![Build Status](https://travis-ci.org/cloudposse/build-harness.svg?branch=master)](https://travis-ci.org/cloudposse/build-harness) [![Latest Release](https://img.shields.io/github/release/cloudposse/build-harness.svg)](https://github.com/cloudposse/build-harness/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com) [![Discourse Forum](https://img.shields.io/discourse/https/ask.sweetops.com/posts.svg)](https://ask.sweetops.com/) +# Build Harness [![Build Status](https://github.com/cloudposse/build-harness/workflows/docker/badge.svg?branch=master)](https://github.com/cloudposse/build-harness/actions?query=workflow%3Adocker) [![Latest Release](https://img.shields.io/github/release/cloudposse/build-harness.svg)](https://github.com/cloudposse/build-harness/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com) [![Discourse Forum](https://img.shields.io/discourse/https/ask.sweetops.com/posts.svg)](https://ask.sweetops.com/) This `build-harness` is a collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more. @@ -185,13 +185,13 @@ Available targets: geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars - git/submodules-update Update submodules github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API github/push-artifacts Push all release artifacts to GitHub (Required: `GITHUB_TOKEN`) gitleaks/install Install gitleaks gitleaks/scan Scan current repository + git/submodules-update Update submodules go/build Build binary go/build-all Build binary for all platforms go/clean Clean compiled binary @@ -220,6 +220,7 @@ Available targets: helm/delete/failed Delete all failed releases in a `NAMESPACE` subject to `FILTER` helm/delete/namespace Delete all releases in a `NAMEPSACE` as well as the namespace helm/delete/namespace/empty Delete `NAMESPACE` if there are no releases in it + helmfile/install Install helmfile helm/install Install helm helm/repo/add Add $REPO_NAME from $REPO_ENDPOINT helm/repo/add-current Add helm remote dev repos @@ -232,17 +233,16 @@ Available targets: helm/repo/update Update repo info helm/serve/index Build index for serve helm charts helm/toolbox/upsert Install or upgrade helm tiller - helmfile/install Install helmfile help Help screen help/all Display help for all targets help/short This help short screen jenkins/run-job-with-tag Run a Jenkins Job with $(TAG) make/lint Lint all makefiles packages/delete Delete packages - packages/install Install packages packages/install/% Install package (e.g. helm, helmfile, kubectl) - packages/reinstall Reinstall packages + packages/install Install packages packages/reinstall/% Reinstall package (e.g. helm, helmfile, kubectl) + packages/reinstall Reinstall packages packages/uninstall/% Uninstall package (e.g. helm, helmfile, kubectl) readme Alias for readme/build readme/build Create README.md by building it from README.yaml diff --git a/README.yaml b/README.yaml index 90d0b5d8..14200cac 100644 --- a/README.yaml +++ b/README.yaml @@ -25,8 +25,8 @@ github_repo: cloudposse/build-harness # Badges to display badges: - name: "Build Status" - image: "https://travis-ci.org/cloudposse/build-harness.svg?branch=master" - url: "https://travis-ci.org/cloudposse/build-harness" + image: "https://github.com/cloudposse/build-harness/workflows/docker/badge.svg?branch=master" + url: "https://github.com/cloudposse/build-harness/actions?query=workflow%3Adocker" - name: "Latest Release" image: "https://img.shields.io/github/release/cloudposse/build-harness.svg" url: "https://github.com/cloudposse/build-harness/releases/latest" diff --git a/docs/targets.md b/docs/targets.md index c8e32d33..acce5cae 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -44,13 +44,13 @@ Available targets: geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars - git/submodules-update Update submodules github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API github/push-artifacts Push all release artifacts to GitHub (Required: `GITHUB_TOKEN`) gitleaks/install Install gitleaks gitleaks/scan Scan current repository + git/submodules-update Update submodules go/build Build binary go/build-all Build binary for all platforms go/clean Clean compiled binary @@ -79,6 +79,7 @@ Available targets: helm/delete/failed Delete all failed releases in a `NAMESPACE` subject to `FILTER` helm/delete/namespace Delete all releases in a `NAMEPSACE` as well as the namespace helm/delete/namespace/empty Delete `NAMESPACE` if there are no releases in it + helmfile/install Install helmfile helm/install Install helm helm/repo/add Add $REPO_NAME from $REPO_ENDPOINT helm/repo/add-current Add helm remote dev repos @@ -91,17 +92,16 @@ Available targets: helm/repo/update Update repo info helm/serve/index Build index for serve helm charts helm/toolbox/upsert Install or upgrade helm tiller - helmfile/install Install helmfile help Help screen help/all Display help for all targets help/short This help short screen jenkins/run-job-with-tag Run a Jenkins Job with $(TAG) make/lint Lint all makefiles packages/delete Delete packages - packages/install Install packages packages/install/% Install package (e.g. helm, helmfile, kubectl) - packages/reinstall Reinstall packages + packages/install Install packages packages/reinstall/% Reinstall package (e.g. helm, helmfile, kubectl) + packages/reinstall Reinstall packages packages/uninstall/% Uninstall package (e.g. helm, helmfile, kubectl) readme Alias for readme/build readme/build Create README.md by building it from README.yaml From 30ccac760b562fa4ffe898419da73597322c5c88 Mon Sep 17 00:00:00 2001 From: osterman Date: Sun, 7 Jun 2020 16:01:10 +0000 Subject: [PATCH 03/17] Update README.md --- README.md | 8 ++++---- docs/targets.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d36625e1..fb639275 100644 --- a/README.md +++ b/README.md @@ -185,13 +185,13 @@ Available targets: geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars + git/submodules-update Update submodules github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API github/push-artifacts Push all release artifacts to GitHub (Required: `GITHUB_TOKEN`) gitleaks/install Install gitleaks gitleaks/scan Scan current repository - git/submodules-update Update submodules go/build Build binary go/build-all Build binary for all platforms go/clean Clean compiled binary @@ -220,7 +220,6 @@ Available targets: helm/delete/failed Delete all failed releases in a `NAMESPACE` subject to `FILTER` helm/delete/namespace Delete all releases in a `NAMEPSACE` as well as the namespace helm/delete/namespace/empty Delete `NAMESPACE` if there are no releases in it - helmfile/install Install helmfile helm/install Install helm helm/repo/add Add $REPO_NAME from $REPO_ENDPOINT helm/repo/add-current Add helm remote dev repos @@ -233,16 +232,17 @@ Available targets: helm/repo/update Update repo info helm/serve/index Build index for serve helm charts helm/toolbox/upsert Install or upgrade helm tiller + helmfile/install Install helmfile help Help screen help/all Display help for all targets help/short This help short screen jenkins/run-job-with-tag Run a Jenkins Job with $(TAG) make/lint Lint all makefiles packages/delete Delete packages - packages/install/% Install package (e.g. helm, helmfile, kubectl) packages/install Install packages - packages/reinstall/% Reinstall package (e.g. helm, helmfile, kubectl) + packages/install/% Install package (e.g. helm, helmfile, kubectl) packages/reinstall Reinstall packages + packages/reinstall/% Reinstall package (e.g. helm, helmfile, kubectl) packages/uninstall/% Uninstall package (e.g. helm, helmfile, kubectl) readme Alias for readme/build readme/build Create README.md by building it from README.yaml diff --git a/docs/targets.md b/docs/targets.md index acce5cae..c8e32d33 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -44,13 +44,13 @@ Available targets: geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars + git/submodules-update Update submodules github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API github/push-artifacts Push all release artifacts to GitHub (Required: `GITHUB_TOKEN`) gitleaks/install Install gitleaks gitleaks/scan Scan current repository - git/submodules-update Update submodules go/build Build binary go/build-all Build binary for all platforms go/clean Clean compiled binary @@ -79,7 +79,6 @@ Available targets: helm/delete/failed Delete all failed releases in a `NAMESPACE` subject to `FILTER` helm/delete/namespace Delete all releases in a `NAMEPSACE` as well as the namespace helm/delete/namespace/empty Delete `NAMESPACE` if there are no releases in it - helmfile/install Install helmfile helm/install Install helm helm/repo/add Add $REPO_NAME from $REPO_ENDPOINT helm/repo/add-current Add helm remote dev repos @@ -92,16 +91,17 @@ Available targets: helm/repo/update Update repo info helm/serve/index Build index for serve helm charts helm/toolbox/upsert Install or upgrade helm tiller + helmfile/install Install helmfile help Help screen help/all Display help for all targets help/short This help short screen jenkins/run-job-with-tag Run a Jenkins Job with $(TAG) make/lint Lint all makefiles packages/delete Delete packages - packages/install/% Install package (e.g. helm, helmfile, kubectl) packages/install Install packages - packages/reinstall/% Reinstall package (e.g. helm, helmfile, kubectl) + packages/install/% Install package (e.g. helm, helmfile, kubectl) packages/reinstall Reinstall packages + packages/reinstall/% Reinstall package (e.g. helm, helmfile, kubectl) packages/uninstall/% Uninstall package (e.g. helm, helmfile, kubectl) readme Alias for readme/build readme/build Create README.md by building it from README.yaml From 73a0d4da9f507d1820582d63027bad8fc4a3ea0c Mon Sep 17 00:00:00 2001 From: 3h4x <3h4x@users.noreply.github.com> Date: Mon, 13 Jul 2020 15:09:11 +0000 Subject: [PATCH 04/17] Update README.md --- README.md | 66 +++++++++++++++++++------------------------------------ 1 file changed, 23 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index fb639275..12c92aa8 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,20 @@ - -[![README Header][readme_header_img]][readme_header_link] - -[![Cloud Posse][logo]](https://cpco.io/homepage) - -# Build Harness [![Build Status](https://github.com/cloudposse/build-harness/workflows/docker/badge.svg?branch=master)](https://github.com/cloudposse/build-harness/actions?query=workflow%3Adocker) [![Latest Release](https://img.shields.io/github/release/cloudposse/build-harness.svg)](https://github.com/cloudposse/build-harness/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com) [![Discourse Forum](https://img.shields.io/discourse/https/ask.sweetops.com/posts.svg)](https://ask.sweetops.com/) - +--> This `build-harness` is a collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more. It's designed to work with CI/CD systems such as GitHub Actions, Codefresh, Travis CI, CircleCI and Jenkins. @@ -51,7 +31,7 @@ It's designed to work with CI/CD systems such as GitHub Actions, Codefresh, Trav --- -This project is part of our comprehensive ["SweetOps"](https://cpco.io/sweetops) approach towards DevOps. +This project is part of our comprehensive ["SweetOps"](https://cpco.io/sweetops) approach towards DevOps. [][share_email] [][share_googleplus] [][share_facebook] @@ -139,8 +119,8 @@ Here are some real world examples: -## Makefile Targets -``` +# Makefile Targets +```text Available targets: aws/install Install aws cli bundle @@ -264,7 +244,7 @@ Available targets: travis/docker-tag-and-push Tag & Push according Travis environment variables ``` -## Extending `build-harness` with targets from another repo +# Extending `build-harness` with targets from another repo It is possible to extend the `build-harness` with targets and entire modules of your own, without having to fork or modify `build-harness` itself. This might be useful if, for example, you wanted to maintain some tooling that was specific to your environment that didn't have enough general applicability to be part of the main project. @@ -273,9 +253,9 @@ Modules will be combined and available with a unified `make` command. -## Share the Love +## Share the Love -Like this project? Please give it a ★ on [our GitHub](https://github.com/cloudposse/build-harness)! (it helps us **a lot**) +Like this project? Please give it a ★ on [our GitHub](https://github.com/cloudposse/build-harness)! (it helps us **a lot**) Are you using this project or any of our other projects? Consider [leaving a testimonial][testimonial]. =) @@ -292,14 +272,14 @@ Check out these related projects. ## References -For additional context, refer to some of these links. +For additional context, refer to some of these links. - [Wikipedia - Test Harness](https://en.wikipedia.org/wiki/Test_harness) - The `build-harness` is similar in concept to a "Test Harness" ## Help -**Got a question?** We got answers. +**Got a question?** We got answers. File a GitHub [issue](https://github.com/cloudposse/build-harness/issues), send us an [email][email] or join our [Slack Community][slack]. @@ -308,7 +288,7 @@ File a GitHub [issue](https://github.com/cloudposse/build-harness/issues), send ## DevOps Accelerator for Startups -We are a [**DevOps Accelerator**][commercial_support]. We'll help you build your cloud infrastructure from the ground up so you can own it. Then we'll show you how to operate it and stick around for as long as you need us. +We are a [**DevOps Accelerator**][commercial_support]. We'll help you build your cloud infrastructure from the ground up so you can own it. Then we'll show you how to operate it and stick around for as long as you need us. [![Learn More](https://img.shields.io/badge/learn%20more-success.svg?style=for-the-badge)][commercial_support] @@ -337,11 +317,11 @@ Participate in our [Discourse Forums][discourse]. Here you'll find answers to co ## Newsletter -Sign up for [our newsletter][newsletter] that covers everything on our technology radar. Receive updates on what we're up to on GitHub as well as awesome new projects we discover. +Sign up for [our newsletter][newsletter] that covers everything on our technology radar. Receive updates on what we're up to on GitHub as well as awesome new projects we discover. ## Office Hours -[Join us every Wednesday via Zoom][office_hours] for our weekly "Lunch & Learn" sessions. It's **FREE** for everyone! +[Join us every Wednesday via Zoom][office_hours] for our weekly "Lunch & Learn" sessions. It's **FREE** for everyone! [![zoom](https://img.cloudposse.com/fit-in/200x200/https://cloudposse.com/wp-content/uploads/2019/08/Powered-by-Zoom.png")][office_hours] @@ -375,9 +355,9 @@ Copyright © 2016-2020 [Cloud Posse, LLC](https://cloudposse.com) -## License +## License -[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) See [LICENSE](LICENSE) for full details. @@ -418,7 +398,7 @@ This project is maintained and funded by [Cloud Posse, LLC][website]. Like it? P We're a [DevOps Professional Services][hire] company based in Los Angeles, CA. We ❤️ [Open Source Software][we_love_open_source]. -We offer [paid support][commercial_support] on all of our projects. +We offer [paid support][commercial_support] on all of our projects. Check out [our other projects][github], [follow us on twitter][twitter], [apply for a job][jobs], or [hire us][hire] to help with your cloud strategy and implementation. From a28e55372e91228813e9e6af9b6322ba0b39302a Mon Sep 17 00:00:00 2001 From: 3h4x <3h4x@users.noreply.github.com> Date: Mon, 13 Jul 2020 18:44:49 +0000 Subject: [PATCH 05/17] Update README.md --- README.md | 1 + docs/targets.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 12c92aa8..82fc7834 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ Available targets: docker/image/push Push $TARGET_DOCKER_REGISTRY/$IMAGE_NAME:$TARGET_VERSION docker/login Login into docker hub docs/copyright-add Add copyright headers to source code + docs/deps MarkDown files in docs are embedded in README.md and they won't pass linting that's why we ignore them geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars diff --git a/docs/targets.md b/docs/targets.md index c8e32d33..606b4a14 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -41,6 +41,7 @@ Available targets: docker/image/push Push $TARGET_DOCKER_REGISTRY/$IMAGE_NAME:$TARGET_VERSION docker/login Login into docker hub docs/copyright-add Add copyright headers to source code + docs/deps MarkDown files in docs are embedded in README.md and they won't pass linting that's why we ignore them geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars From ba7012bc5311b3fde4d90a44c49e9f49fb1d48c3 Mon Sep 17 00:00:00 2001 From: 3h4x <3h4x@users.noreply.github.com> Date: Mon, 13 Jul 2020 19:11:39 +0000 Subject: [PATCH 06/17] Update README.md --- README.md | 4 ++-- docs/targets.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 82fc7834..6c4690c3 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,8 @@ Here are some real world examples: -# Makefile Targets + +## Makefile Targets ```text Available targets: @@ -162,7 +163,6 @@ Available targets: docker/image/push Push $TARGET_DOCKER_REGISTRY/$IMAGE_NAME:$TARGET_VERSION docker/login Login into docker hub docs/copyright-add Add copyright headers to source code - docs/deps MarkDown files in docs are embedded in README.md and they won't pass linting that's why we ignore them geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars diff --git a/docs/targets.md b/docs/targets.md index 606b4a14..df2f54db 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -1,5 +1,5 @@ ## Makefile Targets -``` +```text Available targets: aws/install Install aws cli bundle From d3635cd4bb553e26f43ba19e0574ca8f7b868fd9 Mon Sep 17 00:00:00 2001 From: 3h4x <3h4x@users.noreply.github.com> Date: Thu, 30 Jul 2020 16:00:30 +0000 Subject: [PATCH 07/17] Update README.md --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 6c4690c3..5cd82030 100644 --- a/README.md +++ b/README.md @@ -362,22 +362,22 @@ Copyright © 2016-2020 [Cloud Posse, LLC](https://cloudposse.com) See [LICENSE](LICENSE) for full details. - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. From 9a464c6e15d554795f307bffb73b11de053ad5c9 Mon Sep 17 00:00:00 2001 From: 3h4x <3h4x@users.noreply.github.com> Date: Thu, 27 Aug 2020 19:15:45 +0000 Subject: [PATCH 08/17] Update README.md --- .github/auto-label.yml | 1 + README.md | 1 + docs/targets.md | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/auto-label.yml b/.github/auto-label.yml index c7b151ca..b7f6236b 100644 --- a/.github/auto-label.yml +++ b/.github/auto-label.yml @@ -8,6 +8,7 @@ modules/docker: modules/docker/** modules/docs: modules/docs/** modules/geodesic: modules/geodesic/** modules/git: modules/git/** +modules/github-automated-workflow: modules/github-automated-workflow/** modules/github: modules/github/** modules/gitleaks: modules/gitleaks/** modules/go: modules/go/** diff --git a/README.md b/README.md index 5cd82030..e8a0de28 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,7 @@ Available targets: git/aliases-update Update git aliases git/export Export git vars git/submodules-update Update submodules + github-automated-workflow/init Create new workflow github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API diff --git a/docs/targets.md b/docs/targets.md index df2f54db..54abc208 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -46,6 +46,7 @@ Available targets: git/aliases-update Update git aliases git/export Export git vars git/submodules-update Update submodules + github-automated-workflow/init Create new workflow github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API From de88cfa79a7be89506c9a606fb598ca1e42c057b Mon Sep 17 00:00:00 2001 From: goruha Date: Mon, 9 Nov 2020 15:52:59 +0000 Subject: [PATCH 09/17] Update README.md --- README.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e8a0de28..52de77b0 100644 --- a/README.md +++ b/README.md @@ -341,12 +341,36 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine - 3. **Commit** changes to your own branch - 4. **Push** your work back up to your fork - 5. Submit a **Pull Request** so that we can review your changes + 3. [**Setup pre-commit**](####) to verify code style + 4. **Commit** changes to your own branch + 5. **Push** your work back up to your fork + 6. Submit a **Pull Request** so that we can review your changes **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! +#### Setup + +Before commit please setup [pre-commit](https://pre-commit.com/) following + +##### MacOs + ``` + brew install pre-commit + pre-commit install --install-hooks + ``` + +##### Linux + ``` + pip install pre-commit + pre-commit install --install-hooks + ``` + +##### Windows + ``` + pip install pre-commit + pre-commit install --install-hooks + ``` + + ## Copyrights From 147504d39799cf63ea297784e5001d1cd28e6d40 Mon Sep 17 00:00:00 2001 From: maximmi Date: Mon, 16 Nov 2020 12:44:25 +0000 Subject: [PATCH 10/17] Update README.md --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 52de77b0..6d586572 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,21 @@ It's 100% Open Source and licensed under the [APACHE2](LICENSE). +## Compliance +| Benchmark | Description | +|--------|---------------| +| [![Infrastructure Security](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/general)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=INFRASTRUCTURE+SECURITY) | Infrastructure Security Compliance | +| [![CIS KUBERNETES](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_kubernetes)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+KUBERNETES+V1.5) | Center for Internet Security, KUBERNETES Compliance | +| [![CIS AWS](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+AWS+V1.2) | Center for Internet Security, AWS Compliance | +| [![CIS AZURE](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_azure)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+AZURE+V1.1) | Center for Internet Security, AZURE Compliance | +| [![PCI-DSS](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/pci)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=PCI-DSS+V3.2) | Payment Card Industry Data Security Standards Compliance | +| [![NIST-800-53](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/nist)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=NIST-800-53) | National Institute of Standards and Technology Compliance | +| [![ISO27001](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/iso)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=ISO27001) | Information Security Management System, ISO/IEC 27001 Compliance | +| [![SOC2](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/soc2)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=SOC2)| Service Organization Control 2 Compliance | +| [![CIS GCP](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_gcp)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+GCP+V1.1) | Center for Internet Security, GCP Compliance | +| [![HIPAA](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/hipaa)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=HIPAA) | Health Insurance Portability and Accountability Compliance | + + ## Usage From 0dd5ede966e16c23b4137e096726bbb4222a8a72 Mon Sep 17 00:00:00 2001 From: maximmi Date: Tue, 17 Nov 2020 12:17:02 +0000 Subject: [PATCH 11/17] Update README.md --- README.md | 1 + docs/targets.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 6d586572..2d57efa2 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,7 @@ Available targets: terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform + terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources terraform/upgrade-modules Upgrade all terraform module sources terraform/validate Basic terraform sanity check travis/docker-login Login into docker hub diff --git a/docs/targets.md b/docs/targets.md index 54abc208..589d9278 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -119,6 +119,7 @@ Available targets: terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform + terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources terraform/upgrade-modules Upgrade all terraform module sources terraform/validate Basic terraform sanity check travis/docker-login Login into docker hub From 5d7ec7ecc6ac0a585f430021ec583040fe412d27 Mon Sep 17 00:00:00 2001 From: maximmi Date: Tue, 17 Nov 2020 18:50:07 +0000 Subject: [PATCH 12/17] Update README.md --- README.md | 69 +++++++++++++++---------------------------------------- 1 file changed, 19 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 2d57efa2..e0747f4b 100644 --- a/README.md +++ b/README.md @@ -62,21 +62,6 @@ It's 100% Open Source and licensed under the [APACHE2](LICENSE). -## Compliance -| Benchmark | Description | -|--------|---------------| -| [![Infrastructure Security](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/general)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=INFRASTRUCTURE+SECURITY) | Infrastructure Security Compliance | -| [![CIS KUBERNETES](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_kubernetes)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+KUBERNETES+V1.5) | Center for Internet Security, KUBERNETES Compliance | -| [![CIS AWS](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+AWS+V1.2) | Center for Internet Security, AWS Compliance | -| [![CIS AZURE](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_azure)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+AZURE+V1.1) | Center for Internet Security, AZURE Compliance | -| [![PCI-DSS](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/pci)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=PCI-DSS+V3.2) | Payment Card Industry Data Security Standards Compliance | -| [![NIST-800-53](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/nist)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=NIST-800-53) | National Institute of Standards and Technology Compliance | -| [![ISO27001](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/iso)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=ISO27001) | Information Security Management System, ISO/IEC 27001 Compliance | -| [![SOC2](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/soc2)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=SOC2)| Service Organization Control 2 Compliance | -| [![CIS GCP](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/cis_gcp)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=CIS+GCP+V1.1) | Center for Internet Security, GCP Compliance | -| [![HIPAA](https://www.bridgecrew.cloud/badges/github/cloudposse/Build Harness/hipaa)](https://www.bridgecrew.cloud/link/badge?vcs=github&fullRepo=cloudposse%!F(string=Build Harness)%!s(MISSING)&benchmark=HIPAA) | Health Insurance Portability and Accountability Compliance | - - ## Usage @@ -99,9 +84,9 @@ Run `make help` for a list of available targets. The `build-harness` is compatible with [GitHub Actions](https://github.com/features/actions). -Here's an example of running `make readme/lint` +Here's an example of running `make readme/lint` -``` +```yaml name: build-harness/readme/lint on: [pull_request] jobs: @@ -134,7 +119,7 @@ Here are some real world examples: - + ## Makefile Targets ```text Available targets: @@ -182,7 +167,6 @@ Available targets: git/aliases-update Update git aliases git/export Export git vars git/submodules-update Update submodules - github-automated-workflow/init Create new workflow github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API @@ -262,12 +246,15 @@ Available targets: travis/docker-tag-and-push Tag & Push according Travis environment variables ``` -# Extending `build-harness` with targets from another repo + + +## Extending `build-harness` with targets from another repo It is possible to extend the `build-harness` with targets and entire modules of your own, without having to fork or modify `build-harness` itself. This might be useful if, for example, you wanted to maintain some tooling that was specific to your environment that didn't have enough general applicability to be part of the main project. This makes it so you don't necessarily need to fork `build-harness` itself - you can place a repo defined by the environment variable `BUILD_HARNESS_EXTENSIONS_PATH` (a filesystem peer of `build-harness` named `build-harness-extensions` by default) and populate it with tools in the same `Makefile` within `module` structure as `build-harness` has. Modules will be combined and available with a unified `make` command. + @@ -357,36 +344,12 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine - 3. [**Setup pre-commit**](####) to verify code style - 4. **Commit** changes to your own branch - 5. **Push** your work back up to your fork - 6. Submit a **Pull Request** so that we can review your changes + 3. **Commit** changes to your own branch + 4. **Push** your work back up to your fork + 5. Submit a **Pull Request** so that we can review your changes **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! -#### Setup - -Before commit please setup [pre-commit](https://pre-commit.com/) following - -##### MacOs - ``` - brew install pre-commit - pre-commit install --install-hooks - ``` - -##### Linux - ``` - pip install pre-commit - pre-commit install --install-hooks - ``` - -##### Windows - ``` - pip install pre-commit - pre-commit install --install-hooks - ``` - - ## Copyrights @@ -403,6 +366,7 @@ Copyright © 2016-2020 [Cloud Posse, LLC](https://cloudposse.com) See [LICENSE](LICENSE) for full details. +```text Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information @@ -411,7 +375,7 @@ to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) + https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an @@ -419,6 +383,7 @@ software distributed under the License is distributed on an KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +``` @@ -448,8 +413,10 @@ Check out [our other projects][github], [follow us on twitter][twitter], [apply ### Contributors -| [![Erik Osterman][osterman_avatar]][osterman_homepage]
[Erik Osterman][osterman_homepage] | [![Igor Rodionov][goruha_avatar]][goruha_homepage]
[Igor Rodionov][goruha_homepage] | [![Andriy Knysh][aknysh_avatar]][aknysh_homepage]
[Andriy Knysh][aknysh_homepage] | [![Sarkis][sarkis_avatar]][sarkis_homepage]
[Sarkis][sarkis_homepage] | [![Alexander Babai][alebabai_avatar]][alebabai_homepage]
[Alexander Babai][alebabai_homepage] | [![Jon Boulle][jonboulle_avatar]][jonboulle_homepage]
[Jon Boulle][jonboulle_homepage] | -|---|---|---|---|---|---| + +| [![Erik Osterman][osterman_avatar]][osterman_homepage]
[Erik Osterman][osterman_homepage] | [![Igor Rodionov][goruha_avatar]][goruha_homepage]
[Igor Rodionov][goruha_homepage] | [![Andriy Knysh][aknysh_avatar]][aknysh_homepage]
[Andriy Knysh][aknysh_homepage] | [![Sarkis][sarkis_avatar]][sarkis_homepage]
[Sarkis][sarkis_homepage] | [![Alexander Babai][alebabai_avatar]][alebabai_homepage]
[Alexander Babai][alebabai_homepage] | [![Jon Boulle][jonboulle_avatar]][jonboulle_homepage]
[Jon Boulle][jonboulle_homepage] | [![Marcin Brański][3h4x_avatar]][3h4x_homepage]
[Marcin Brański][3h4x_homepage] | +|---|---|---|---|---|---|---| + [osterman_homepage]: https://github.com/osterman [osterman_avatar]: https://img.cloudposse.com/150x150/https://github.com/osterman.png @@ -463,6 +430,8 @@ Check out [our other projects][github], [follow us on twitter][twitter], [apply [alebabai_avatar]: https://img.cloudposse.com/150x150/https://github.com/alebabai.png [jonboulle_homepage]: https://github.com/jonboulle [jonboulle_avatar]: https://img.cloudposse.com/150x150/https://github.com/jonboulle.png + [3h4x_homepage]: https://github.com/3h4x + [3h4x_avatar]: https://img.cloudposse.com/150x150/https://github.com/3h4x.png [![README Footer][readme_footer_img]][readme_footer_link] [![Beacon][beacon]][website] From 5e5cc1bd84ca79b30c058fffa27c3d5f097e5113 Mon Sep 17 00:00:00 2001 From: goruha Date: Wed, 18 Nov 2020 10:27:00 +0000 Subject: [PATCH 13/17] Update README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index e0747f4b..2a984faa 100644 --- a/README.md +++ b/README.md @@ -342,16 +342,24 @@ If you are interested in being a contributor and want to get involved in develop In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. + + + 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine 3. **Commit** changes to your own branch 4. **Push** your work back up to your fork 5. Submit a **Pull Request** so that we can review your changes + **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! + + + + ## Copyrights Copyright © 2016-2020 [Cloud Posse, LLC](https://cloudposse.com) From eaedc292584a041b017a4e327bb5a12fb96dede9 Mon Sep 17 00:00:00 2001 From: goruha Date: Thu, 19 Nov 2020 20:55:59 +0000 Subject: [PATCH 14/17] Update README.md --- README.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2a984faa..506076f2 100644 --- a/README.md +++ b/README.md @@ -347,14 +347,37 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine - 3. **Commit** changes to your own branch - 4. **Push** your work back up to your fork - 5. Submit a **Pull Request** so that we can review your changes + 3. [**Setup pre-commit**](#developer-setup) to verify code style (optional, but recommended) + 4. **Commit** changes to your own branch + 5. **Push** your work back up to your fork + 6. Submit a **Pull Request** so that we can review your changes **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! +#### Developer Setup + +Before commiting & pushing your changes, we recommend using [`pre-commit`](https://pre-commit.com/) hooks. + +##### MacOs + ``` + brew install pre-commit + pre-commit install --install-hooks + ``` + +##### Linux + ``` + pip install pre-commit + pre-commit install --install-hooks + ``` + +##### Windows + ``` + pip install pre-commit + pre-commit install --install-hooks + ``` + From 907fe7b160b748bc5af3136bbedb81a56efa4401 Mon Sep 17 00:00:00 2001 From: maximmi Date: Mon, 7 Dec 2020 12:22:47 +0000 Subject: [PATCH 15/17] Update README.md --- README.md | 2 ++ docs/targets.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 506076f2..5607ca88 100644 --- a/README.md +++ b/README.md @@ -235,11 +235,13 @@ Available targets: slack/notify/deploy Send notification to slack using "deploy" template template/build Create $OUT file by building it from $IN template file template/deps Install dependencies + terraform/bump-tf-12-min-version Rewrite versions.tf to bump modules with minimum core version of '0.12.x' to '>= 0.12.26' terraform/get-modules Ensure all modules can be fetched terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources + terraform/rewrite-required-providers Rewrite versions.tf to update existing configuration to add an explicit source attribute for each provider terraform/upgrade-modules Upgrade all terraform module sources terraform/validate Basic terraform sanity check travis/docker-login Login into docker hub diff --git a/docs/targets.md b/docs/targets.md index 589d9278..9594fcef 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -115,11 +115,13 @@ Available targets: slack/notify/deploy Send notification to slack using "deploy" template template/build Create $OUT file by building it from $IN template file template/deps Install dependencies + terraform/bump-tf-12-min-version Rewrite versions.tf to bump modules with minimum core version of '0.12.x' to '>= 0.12.26' terraform/get-modules Ensure all modules can be fetched terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources + terraform/rewrite-required-providers Rewrite versions.tf to update existing configuration to add an explicit source attribute for each provider terraform/upgrade-modules Upgrade all terraform module sources terraform/validate Basic terraform sanity check travis/docker-login Login into docker hub From b8045e3a71c46999b7d75bfe93626d26e154b04c Mon Sep 17 00:00:00 2001 From: Nuru Date: Wed, 9 Dec 2020 05:05:09 +0000 Subject: [PATCH 16/17] Update README.md --- README.md | 40 ++++++---------------------------------- docs/targets.md | 5 +++-- 2 files changed, 9 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 5607ca88..333fb2d6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ + # Build Harness [![Build Status](https://github.com/cloudposse/build-harness/workflows/docker/badge.svg?branch=master)](https://github.com/cloudposse/build-harness/actions?query=workflow%3Adocker) [![Latest Release](https://img.shields.io/github/release/cloudposse/build-harness.svg)](https://github.com/cloudposse/build-harness/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com) [![Discourse Forum](https://img.shields.io/discourse/https/ask.sweetops.com/posts.svg)](https://ask.sweetops.com/) + [![README Header][readme_header_img]][readme_header_link] @@ -240,6 +242,7 @@ Available targets: terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform + terraform/loosen-constraints Rewrite versions.tf to remove upper bound for terraform core version constraint (like this ">= 0.12.0, < 0.14.0") terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources terraform/rewrite-required-providers Rewrite versions.tf to update existing configuration to add an explicit source attribute for each provider terraform/upgrade-modules Upgrade all terraform module sources @@ -344,46 +347,15 @@ If you are interested in being a contributor and want to get involved in develop In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. - - - 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine - 3. [**Setup pre-commit**](#developer-setup) to verify code style (optional, but recommended) - 4. **Commit** changes to your own branch - 5. **Push** your work back up to your fork - 6. Submit a **Pull Request** so that we can review your changes - + 3. **Commit** changes to your own branch + 4. **Push** your work back up to your fork + 5. Submit a **Pull Request** so that we can review your changes **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! -#### Developer Setup - -Before commiting & pushing your changes, we recommend using [`pre-commit`](https://pre-commit.com/) hooks. - -##### MacOs - ``` - brew install pre-commit - pre-commit install --install-hooks - ``` - -##### Linux - ``` - pip install pre-commit - pre-commit install --install-hooks - ``` - -##### Windows - ``` - pip install pre-commit - pre-commit install --install-hooks - ``` - - - - - ## Copyrights diff --git a/docs/targets.md b/docs/targets.md index 9594fcef..9fb83ddc 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -1,3 +1,4 @@ + ## Makefile Targets ```text Available targets: @@ -41,12 +42,10 @@ Available targets: docker/image/push Push $TARGET_DOCKER_REGISTRY/$IMAGE_NAME:$TARGET_VERSION docker/login Login into docker hub docs/copyright-add Add copyright headers to source code - docs/deps MarkDown files in docs are embedded in README.md and they won't pass linting that's why we ignore them geodesic/deploy Run a Jenkins Job to Deploy $(APP) with $(CANONICAL_TAG) git/aliases-update Update git aliases git/export Export git vars git/submodules-update Update submodules - github-automated-workflow/init Create new workflow github/download-private-release Download release from github github/download-public-release Download release from github github/latest-release Fetch the latest release tag from the GitHub API @@ -120,6 +119,7 @@ Available targets: terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform + terraform/loosen-constraints Rewrite versions.tf to remove upper bound for terraform core version constraint (like this ">= 0.12.0, < 0.14.0") terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources terraform/rewrite-required-providers Rewrite versions.tf to update existing configuration to add an explicit source attribute for each provider terraform/upgrade-modules Upgrade all terraform module sources @@ -128,3 +128,4 @@ Available targets: travis/docker-tag-and-push Tag & Push according Travis environment variables ``` + From 3acb2a9fa3b81b9837a7ce85aba232616d502aa0 Mon Sep 17 00:00:00 2001 From: Nuru Date: Thu, 10 Dec 2020 04:33:21 +0000 Subject: [PATCH 17/17] Update README.md --- README.md | 5 ++--- docs/targets.md | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 333fb2d6..1b40e0dd 100644 --- a/README.md +++ b/README.md @@ -242,10 +242,9 @@ Available targets: terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform - terraform/loosen-constraints Rewrite versions.tf to remove upper bound for terraform core version constraint (like this ">= 0.12.0, < 0.14.0") - terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources + terraform/loosen-constraints and convert "~>" constraints to ">=". terraform/rewrite-required-providers Rewrite versions.tf to update existing configuration to add an explicit source attribute for each provider - terraform/upgrade-modules Upgrade all terraform module sources + terraform/upgrade-modules This target has not been upgraded to handle registry format terraform/validate Basic terraform sanity check travis/docker-login Login into docker hub travis/docker-tag-and-push Tag & Push according Travis environment variables diff --git a/docs/targets.md b/docs/targets.md index 9fb83ddc..ffa0b810 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -119,10 +119,9 @@ Available targets: terraform/get-plugins Ensure all plugins can be fetched terraform/install Install terraform terraform/lint Lint check Terraform - terraform/loosen-constraints Rewrite versions.tf to remove upper bound for terraform core version constraint (like this ">= 0.12.0, < 0.14.0") - terraform/rewrite-module-source Rewrite the *.tf files to use registry notation for modules sources + terraform/loosen-constraints and convert "~>" constraints to ">=". terraform/rewrite-required-providers Rewrite versions.tf to update existing configuration to add an explicit source attribute for each provider - terraform/upgrade-modules Upgrade all terraform module sources + terraform/upgrade-modules This target has not been upgraded to handle registry format terraform/validate Basic terraform sanity check travis/docker-login Login into docker hub travis/docker-tag-and-push Tag & Push according Travis environment variables