> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# netgaintechnology/build-orb

Orb for build jobs. Full orb source code: https://github.com/netgaintechnology/orb-build-orb


## Commands

### update_alpine_and_checkout

Run Alpine updates to ensure we are running latest versions of software and checkout git repo locally.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `packages` | string | bash git wget curl openssh unzip nano tar gzip build-base binutils cmake make libgcc musl-dev gcc g++ | space separated list of extra packages to install |

## Jobs

### ansible_build

ansible linting


| Parameter | Type | Default | Description |
|---|---|---|---|
| `lint-dir` | string | . | Directory within to lint all ansible files, defaults to the working directory (.)
 |

### chef_build

chef linting


### golang_build

golang building


| Parameter | Type | Default | Description |
|---|---|---|---|
| `main-dir` | string | . | Directory within to lint all golang files, defaults to the working directory (.)
 |

### packer_build

Packer config file validation


| Parameter | Type | Default | Description |
|---|---|---|---|
| `ansible_repo` | string |  | HTTPS/SSH URL of your Ansible repo, which should contain your playbooks, roles, etc.
 |

### powershell_build

powershell linting


| Parameter | Type | Default | Description |
|---|---|---|---|
| `main-dir` | string | . | Directory within to lint all powershell files, defaults to the working directory (.)
 |

### python_build

python linting


| Parameter | Type | Default | Description |
|---|---|---|---|
| `main-dir` | string | . | Directory within to lint all python files, defaults to the working directory (.)
 |

### terraform_build

terraform plan


| Parameter | Type | Default | Description |
|---|---|---|---|
| `main-dir` | string | . | Directory within to lint all terraform files,
defaults to the working directory (.)
 |
| `tf-workspace` | string | prod | Terraform workspace to use
 |
| `var-file` | string |  | Location and name of the var-file you wish to pass into Terraform,
defaults to "", which means Terraform will not run expecting a var-file to be passed in.
 |

## Executors

### ansible

Official Docker image for python on alpine linux


### chef

Docker image for chef-workstation


### default

This is the default executor using Docker and Alpine linux.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `tag` | string | latest | Pick a specific alpine image variant:
https://hub.docker.com/_/alpine?tab=tags
 |

### golang

Official Docker image for golang on alpine linux


### packer

Docker image for Packer on alpine linux.


### powershell

Docker image for microsoft powershell


### python

Official Docker image for python on alpine linux


### terraform

Docker image for terraform on alpine linux


## Examples

### workflow-example

Use the various build jobs in your config.yml workflow section. See the orb's GitHub README for a version of this example with extensive usage and context comments: https://github.com/netgaintechnology/orb-build-orb#examples


```yaml
orbs:
  build-orb: netgaintechnology/build-orb@x.y.z
version: 2.1
workflows:
  builds:
    jobs:
      - build-orb/golang_build
  version: 2
```