https://github.com/wayofdev/docker-build-deps
Docker image with build dependencies for WoD projects
https://github.com/wayofdev/docker-build-deps
actionlint build dependencies docker shellcheck wait4x wayofdev
Last synced: 3 months ago
JSON representation
Docker image with build dependencies for WoD projects
- Host: GitHub
- URL: https://github.com/wayofdev/docker-build-deps
- Owner: wayofdev
- License: mit
- Created: 2021-12-30T00:17:57.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-25T23:38:34.000Z (4 months ago)
- Last Synced: 2025-04-12T00:16:02.321Z (3 months ago)
- Topics: actionlint, build, dependencies, docker, shellcheck, wait4x, wayofdev
- Language: Makefile
- Homepage: https://wayof.dev
- Size: 526 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
![]()
![]()
# Docker Image: Build Dependencies
Repository contains docker image with build dependencies for WOD projects.
### → Installed and enabled **apk** packages in this image:
* **net-tools** — Linux networking base tools
* **gettext (envsubst)** — The envsubst searches the input for pattern $VARIABLE or ${VARIABLE}. Then, it replaces the pattern with the value of the corresponding bash variable
* git
* bash
* unzip
* nano
* ca-certificates
* tzdata
* curl
* bash
* make
* tar
* bzip2### → Installed tools:
* [goss](https://goss.rocks/) — Quick and Easy server testing / validation
* [dgoss](https://github.com/aelsabbahy/goss/tree/master/extras/dgoss) — Wrapper around goss to perform tests on docker containers
* [dcgoss](https://github.com/aelsabbahy/goss/blob/master/extras/dcgoss/dcgoss) — Uses docker-compose file instead of passing docker run args
* [wait4x](https://github.com/atkrad/wait4x) — Allows to wait for a port or a service to enter the requested state
* [mkcert](https://github.com/FiloSottile/mkcert) — A simple zero-config tool to make locally trusted development certificates with any names
* [shellcheck](https://www.shellcheck.net) — Finds bugs in your shell scripts
* [actionlint](https://github.com/rhysd/actionlint) — Static checker for GitHub Actions workflow files
If you **like/use** this repository, please consider **starring** it. Thanks!
## 🔧 Configuration
Ansible is used to generate distribution files. To add or remove packages, or configure project, see [group_vars/all.yml](https://github.com/wayofdev/docker-build-deps/blob/master/src/group_vars/all.yml)
**Default package configuration:**
```yaml
docker_version: "20.10.21"system_packages:
- git
- bash
- unzip
- nano
- ca-certificates
- tzdata
- curl
- bash
- gettext
- make
- tar
- gzip
- bzip2
- gnupg
- net-toolssystem_user: wod
system_group: wod
system_user_uid: 1000
system_user_gid: 1000
system_shell: bashwait4x_version: "2"
goss_version: "0.3.20"
mkcert_version: "1.4.4"
actionlint_version: "1.6.22"
shellcheck_version: "0.8.0"
```
To generate dist files use ansible command:
```bash
$ make generate
```
## ⚙️ Development
To install dependencies and start development you can check contents of our `Makefile`
### → Requirments
For testing purposes we use **goss** and **dgoss**, follow installation instructions on [their official README](https://github.com/aelsabbahy/goss/blob/master/extras/dgoss/README.md)
### → Building locally
Generating distributable Dockerfiles from yaml source code:
```bash
$ make generate
```
Building default image:
```bash
$ git clone [email protected]:wayofdev/docker-build-deps.git
$ make build
```To **build** image, **test** it and then **clean** temporary files run:
```bash
$ make
```
## 🧪 Testing
You can check `Makefile` to get full list of commands for local testing. For testing, you can use these commands to test whole role or separate tasks:
Testing default image:
```bash
$ make test
```
### → Code quality tools
Run **yamllint** to validate all yaml files in project:
```bash
$ make lint
```Run hadolint to validate created Dockerfiles:
```bash
$ make hadolint
```
## 🤝 License
[](./LICENSE)
## 🙆🏼♂️ Author Information
This repository was created in **2022** by [lotyp / wayofdev](https://github.com/wayofdev).
## 🫡 Contributors