Skip to content
Snippets Groups Projects
contrib.md 1.13 KiB
Newer Older
# Contributing guide

- Work in a Docker container:

```sh
docker run \
  `# run an interactive pseudo-TTY` \
  -it \
  `# remove the container once you leave it` \
  --rm \
  `# share the current directory` \
  -v $(pwd):/workspace \
  `# share your SSH configuration` \
  -v $HOME/.ssh:/home/code/.ssh:ro \
  `# share your SSH agent` \
  -v $SSH_AUTH_SOCK:/ssh-agent:ro \
  `# let container know where is mapped the SSH agent` \
  -e SSH_AUTH_SOCK=/ssh-agent \
  `# container image to use` \
  registry.ubicast.net/sys/envsetup \
  `# executable to run` \
  bash
```

- Install development requirements:

```sh
make requirements-dev
```

- Quickly check that your "code" is compliant:

```sh
make lint
```

- Run Ansible tests:

```sh
make test

# show debug logs
DEBUG=1 make test

# do not destroy tests containers
KEEP=1 make test
```

- If you add/modify a role, please write relevants tests in `molecule/default/tests`.

- Run packer validation:

```sh
# validate `packer/base.yml` file
make image-validate build=packer/base.yml

# validate `packer/custom/my-customer-server.yml` file
make image-validate build=packer/custom/my-customer-server.yml
```