Skip to content

Commit 28a4f2a

Browse files
authored
Merge pull request #256 from devilbox/release-0.146
Release 0.146
2 parents ff61a45 + 204afad commit 28a4f2a

File tree

236 files changed

+1251
-433
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

236 files changed

+1251
-433
lines changed

.github/workflows/action.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,29 @@ name: build
1212
on:
1313
# Push or pull_request will be determined in jobs.configure.enabled
1414
push:
15+
paths:
16+
- '.ansible/**'
17+
- '.github/workflows/action.yml'
18+
- '.github/workflows/params.yml'
19+
- 'Dockerfiles/**'
20+
- 'php_modules/**'
21+
- 'php_tools/**'
22+
- 'tests/**'
23+
- 'Makefile'
24+
- '!**.md'
25+
- '!.ansible/ansible.cfg'
1526
pull_request:
27+
paths:
28+
- '.ansible/**'
29+
- '.github/workflows/action.yml'
30+
- '.github/workflows/params.yml'
31+
- 'Dockerfiles/**'
32+
- 'php_modules/**'
33+
- 'php_tools/**'
34+
- 'tests/**'
35+
- 'Makefile'
36+
- '!**.md'
37+
- '!.ansible/ansible.cfg'
1638
# Dispatch: allows for manual trigger via GH UI
1739
workflow_dispatch:
1840

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
## Unreleased
55

66

7+
## Release 0.146
8+
9+
This release adds lots of documentation about recently added features.
10+
11+
### Added
12+
- Documentation
13+
14+
715
## Release 0.145
816

917
This is a massive restructuring release, which adds another layer on top of Ansible to easily manage/edit/add PHP tools and to configure their respective order of building and installing.

README.md

Lines changed: 137 additions & 67 deletions
Large diffs are not rendered by default.

bin/gen-docs-php-tools.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@
3838
{"name": "**composer**", "dir": "https://getcomposer.org/", "exclude": []},
3939
{"name": "**corepack**", "dir": "https://nodejs.org/api/corepack.html", "exclude": []},
4040
{"name": "**nvm**", "dir": "https://github.com/nvm-sh/nvm", "exclude": []},
41-
{"name": "**npm**", "dir": "https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/", "exclude": []},
41+
{
42+
"name": "**npm**",
43+
"dir": "https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/",
44+
"exclude": [],
45+
},
4246
{"name": "**node**", "dir": "https://nodejs.org/en/", "exclude": []},
4347
{"name": "**yarn**", "dir": "https://yarnpkg.com/cli/install", "exclude": []},
4448
{"name": "**pip**", "dir": "https://pypi.org/", "exclude": []},

bin/gen-php-modules.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ def get_module_options(module_dirname: str) -> Dict[str, Any]:
6464
return load_yaml(os.path.join(PHP_MODULE_PATH, module_dirname, "options.yml"))
6565

6666

67-
def get_module_build(module_dirname: str) -> Dict[str, Any]:
68-
"""Returns yaml dict build configuration of a PHP module given by its absolute file path."""
69-
return load_yaml(os.path.join(PHP_MODULE_PATH, module_dirname, "build.yml"))
67+
def get_module_install(module_dirname: str) -> Dict[str, Any]:
68+
"""Returns yaml dict install configuration of a PHP module given by its absolute file path."""
69+
return load_yaml(os.path.join(PHP_MODULE_PATH, module_dirname, "install.yml"))
7070

7171

7272
def get_module_test(module_dirname: str) -> Dict[str, Any]:
@@ -196,7 +196,7 @@ def write_group_vars(modules: List[str]) -> None:
196196
opts = get_module_options(module)
197197
fp.write(" " + module + ":\n")
198198
fp.write(" disabled: [" + ", ".join(str(x) for x in opts["exclude"]) + "]\n")
199-
fp.write(load_yaml_raw(os.path.join(PHP_MODULE_PATH, module, "build.yml"), 4))
199+
fp.write(load_yaml_raw(os.path.join(PHP_MODULE_PATH, module, "install.yml"), 4))
200200

201201

202202
# --------------------------------------------------------------------------------------------------

bin/gen-php-tools.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ def get_tool_options(tool_dirname: str) -> Dict[str, Any]:
6464
return load_yaml(os.path.join(PHP_TOOL_PATH, tool_dirname, "options.yml"))
6565

6666

67-
def get_tool_build(tool_dirname: str) -> Dict[str, Any]:
68-
"""Returns yaml dict build configuration of a PHP tool given by its absolute file path."""
67+
def get_tool_install(tool_dirname: str) -> Dict[str, Any]:
68+
"""Returns yaml dict install configuration of a PHP tool given by its absolute file path."""
6969
return load_yaml(os.path.join(PHP_TOOL_PATH, tool_dirname, "install.yml"))
7070

7171

doc/available-tools.md

Lines changed: 126 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,131 @@ Tools |
1717
:information_source: For details on how to generate modules see **[Abuser Documentation: Build your own image](../doc/abuser/README.md)**<br/>
1818

1919

20-
### PHP Tools (`slim`)
20+
### PHP Tools ([`prod`](flavours.md#prod))
2121

22-
The following PHP cli tools are available on the `slim` flavour:
22+
The following PHP cli tools are available on the [`prod`](flavours.md#prod) flavour:
23+
24+
> :information_source: Click on any tool name to find out what they are
25+
26+
<table>
27+
<tr>
28+
<th>Tool</th>
29+
<th>PHP 5.2</th>
30+
<th>PHP 5.3</th>
31+
<th>PHP 5.4</th>
32+
<th>PHP 5.5</th>
33+
<th>PHP 5.6</th>
34+
<th>PHP 7.0</th>
35+
<th>PHP 7.1</th>
36+
<th>PHP 7.2</th>
37+
<th>PHP 7.3</th>
38+
<th>PHP 7.4</th>
39+
<th>PHP 8.0</th>
40+
<th>PHP 8.1</th>
41+
<th>PHP 8.2</th>
42+
</tr>
43+
<tr>
44+
<td><a target="_blank" href="https://linux.die.net/man/8/cron">Cron</a></td>
45+
<td class="tool_prod_cron_5.2">✓</td>
46+
<td class="tool_prod_cron_5.3">✓</td>
47+
<td class="tool_prod_cron_5.4">✓</td>
48+
<td class="tool_prod_cron_5.5">✓</td>
49+
<td class="tool_prod_cron_5.6">✓</td>
50+
<td class="tool_prod_cron_7.0">✓</td>
51+
<td class="tool_prod_cron_7.1">✓</td>
52+
<td class="tool_prod_cron_7.2">✓</td>
53+
<td class="tool_prod_cron_7.3">✓</td>
54+
<td class="tool_prod_cron_7.4">✓</td>
55+
<td class="tool_prod_cron_8.0">✓</td>
56+
<td class="tool_prod_cron_8.1">✓</td>
57+
<td class="tool_prod_cron_8.2">✓</td>
58+
</tr>
59+
<tr>
60+
<td><a target="_blank" href="http://www.postfix.org/">Postfix</a></td>
61+
<td class="tool_prod_postfix_5.2">✓</td>
62+
<td class="tool_prod_postfix_5.3">✓</td>
63+
<td class="tool_prod_postfix_5.4">✓</td>
64+
<td class="tool_prod_postfix_5.5">✓</td>
65+
<td class="tool_prod_postfix_5.6">✓</td>
66+
<td class="tool_prod_postfix_7.0">✓</td>
67+
<td class="tool_prod_postfix_7.1">✓</td>
68+
<td class="tool_prod_postfix_7.2">✓</td>
69+
<td class="tool_prod_postfix_7.3">✓</td>
70+
<td class="tool_prod_postfix_7.4">✓</td>
71+
<td class="tool_prod_postfix_8.0">✓</td>
72+
<td class="tool_prod_postfix_8.1">✓</td>
73+
<td class="tool_prod_postfix_8.2">✓</td>
74+
</tr>
75+
<tr>
76+
<td><a target="_blank" href="http://www.postfix.org/pcre_table.5.html">Postfix PCRE</a></td>
77+
<td class="tool_prod_postfix_pcre_5.2">✓</td>
78+
<td class="tool_prod_postfix_pcre_5.3">✓</td>
79+
<td class="tool_prod_postfix_pcre_5.4">✓</td>
80+
<td class="tool_prod_postfix_pcre_5.5">✓</td>
81+
<td class="tool_prod_postfix_pcre_5.6">✓</td>
82+
<td class="tool_prod_postfix_pcre_7.0">✓</td>
83+
<td class="tool_prod_postfix_pcre_7.1">✓</td>
84+
<td class="tool_prod_postfix_pcre_7.2">✓</td>
85+
<td class="tool_prod_postfix_pcre_7.3">✓</td>
86+
<td class="tool_prod_postfix_pcre_7.4">✓</td>
87+
<td class="tool_prod_postfix_pcre_8.0">✓</td>
88+
<td class="tool_prod_postfix_pcre_8.1">✓</td>
89+
<td class="tool_prod_postfix_pcre_8.2">✓</td>
90+
</tr>
91+
<tr>
92+
<td><a target="_blank" href="https://www.rsyslog.com/">Rsyslog</a></td>
93+
<td class="tool_prod_rsyslog_5.2">✓</td>
94+
<td class="tool_prod_rsyslog_5.3">✓</td>
95+
<td class="tool_prod_rsyslog_5.4">✓</td>
96+
<td class="tool_prod_rsyslog_5.5">✓</td>
97+
<td class="tool_prod_rsyslog_5.6">✓</td>
98+
<td class="tool_prod_rsyslog_7.0">✓</td>
99+
<td class="tool_prod_rsyslog_7.1">✓</td>
100+
<td class="tool_prod_rsyslog_7.2">✓</td>
101+
<td class="tool_prod_rsyslog_7.3">✓</td>
102+
<td class="tool_prod_rsyslog_7.4">✓</td>
103+
<td class="tool_prod_rsyslog_8.0">✓</td>
104+
<td class="tool_prod_rsyslog_8.1">✓</td>
105+
<td class="tool_prod_rsyslog_8.2">✓</td>
106+
</tr>
107+
<tr>
108+
<td><a target="_blank" href="http://www.dest-unreach.org/socat/">Socat</a></td>
109+
<td class="tool_prod_socat_5.2">✓</td>
110+
<td class="tool_prod_socat_5.3">✓</td>
111+
<td class="tool_prod_socat_5.4">✓</td>
112+
<td class="tool_prod_socat_5.5">✓</td>
113+
<td class="tool_prod_socat_5.6">✓</td>
114+
<td class="tool_prod_socat_7.0">✓</td>
115+
<td class="tool_prod_socat_7.1">✓</td>
116+
<td class="tool_prod_socat_7.2">✓</td>
117+
<td class="tool_prod_socat_7.3">✓</td>
118+
<td class="tool_prod_socat_7.4">✓</td>
119+
<td class="tool_prod_socat_8.0">✓</td>
120+
<td class="tool_prod_socat_8.1">✓</td>
121+
<td class="tool_prod_socat_8.2">✓</td>
122+
</tr>
123+
<tr>
124+
<td><a target="_blank" href="http://supervisord.org/">Supervisor</a></td>
125+
<td class="tool_prod_supervisor_5.2">✓</td>
126+
<td class="tool_prod_supervisor_5.3">✓</td>
127+
<td class="tool_prod_supervisor_5.4">✓</td>
128+
<td class="tool_prod_supervisor_5.5">✓</td>
129+
<td class="tool_prod_supervisor_5.6">✓</td>
130+
<td class="tool_prod_supervisor_7.0">✓</td>
131+
<td class="tool_prod_supervisor_7.1">✓</td>
132+
<td class="tool_prod_supervisor_7.2">✓</td>
133+
<td class="tool_prod_supervisor_7.3">✓</td>
134+
<td class="tool_prod_supervisor_7.4">✓</td>
135+
<td class="tool_prod_supervisor_8.0">✓</td>
136+
<td class="tool_prod_supervisor_8.1">✓</td>
137+
<td class="tool_prod_supervisor_8.2">✓</td>
138+
</tr>
139+
</table>
140+
141+
142+
### PHP Tools ([`slim`](flavours.md#slim))
143+
144+
Additionally to all of the `prod` tools shown above, the following PHP cli tools are available on the [`slim`](flavours.md#slim) flavour:
23145

24146
> :information_source: Click on any tool name to find out what they are
25147
@@ -237,10 +359,9 @@ The following PHP cli tools are available on the `slim` flavour:
237359
> :exclamation: **\[1\]** Not available on `arm64` Docker image.
238360
239361

362+
### PHP Tools ([`work`](flavours.md#work))
240363

241-
### PHP Tools (`work`)
242-
243-
Additionally to all of the `slim` tools shown above, the following PHP cli tools are available on the `work` flavour:
364+
Additionally to all of the `slim` tools shown above, the following PHP cli tools are available on the [`work`](flavours.md#work) flavour:
244365

245366
> :information_source: Click on any tool name to find out what they are
246367

doc/base-images.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Base Images
1717

1818
### Base Images
1919

20-
Have a look at the following Devilbox base images for which no official versions exist yet, but are required to serve as a foundation for this repository:
20+
Have a look at the following Devilbox base images for which no official versions exist yet (as of the time of writing), but are required to serve as a foundation for this repository:
2121

2222
* [PHP-FPM 5.2](https://github.com/devilbox/docker-php-fpm-5.2)
2323
* [PHP-FPM 5.3](https://github.com/devilbox/docker-php-fpm-5.3)

doc/contributor/PHP-EXT-build.yml.md renamed to doc/contributor/PHP-EXT-install.yml.md

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
[PHP Mods: Overview](../../php_modules/README.md) |
22
[PHP Mods: `options.yml`](PHP-EXT-options.yml.md) |
3-
PHP Mods: `build.yml` |
4-
[PHP Mods: `test.yml`](PHP-EXT-test.yml.md)
3+
PHP Mods: `install.yml`
54

65
---
76

87
<h2><img name="Documentation" title="Documentation" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Contributor Documentation: PHP Modules</h2>
98

109

1110

12-
# Extension definition: `build.yml`
11+
# Extension definition: `install.yml`
1312

1413

1514
## Top level defines
@@ -30,16 +29,21 @@ already_avail: "{{ php_all_versions }}"
3029
**Example:** Overwriting `git_ref` for a specific version
3130
```yaml
3231
already_avail: [5.2]
32+
3333
all:
3434
type: git
3535
git_url: https://github.com/phalcon/cphalcon
3636
git_ref: master
37+
3738
# PHP 8.1 is using a different git_ref
3839
8.1:
40+
type: git
3941
git_ref: v1.0.0
42+
4043
# PHP 8.0 is using a different git_ref dynamically with latest tag found
4144
# See the usage of supported shell code
4245
8.0:
46+
type: git
4347
git_ref: $( git tag | sort -V | tail -1 )
4448
```
4549

@@ -54,7 +58,7 @@ The following keys can be added below: `all`, `8.2`, `8.1`, `8.0`, `7.4`, ...
5458
| `post` | No | Yes | Specify a shell command to be run after module installation. |
5559
| `build_dep` | No | No | Array Debian packages required to build the module (they won't be present in the final image - only used to built the module) If you don't need any, assign it an empty array: `build_dep: []`. |
5660
| `run_dep` | No | No | Array Debian packages required for the module run-time (they won't be present during the build stage - only in the final image). If you don't need any, assign it an empty array: `run_dep: []`. |
57-
| `type` | **Yes** | No | On of the following types to build the module: `builtin`, `pecl`, `git`, `custom`. |
61+
| `type` | **Yes** | No | On of the following types to build the module: `builtin`, `pecl`, `git` or `custom`. |
5862

5963
**Example:**
6064
```yaml
@@ -66,6 +70,7 @@ all:
6670
rm -f /tmp/file.txt \
6771
build_dep: [libmcrypt-dev]
6872
run_dep: [libmcrypt4]
73+
6974
8.1:
7075
type: builtin
7176
build_dep: []
@@ -83,9 +88,11 @@ all:
8388
```yaml
8489
all:
8590
type: builtin
91+
8692
8.1:
8793
type: builtin
8894
configure: --with-jpeg --with-png
95+
8996
8.0:
9097
type: builtin
9198
configure: --with-jpeg
@@ -106,6 +113,7 @@ all:
106113
command: echo "/usr" | pecl install amqp
107114
build_dep: [librabbitmq-dev]
108115
run_dep: [librabbitmq4]
116+
109117
5.5:
110118
type: pecl
111119
version: 1.9.3
@@ -125,16 +133,22 @@ all:
125133
**Example:**
126134
```yaml
127135
already_avail: [5.2]
136+
137+
# Default for all PHP versions if no overwrite exists
128138
all:
129139
type: git
130140
git_url: https://github.com/phalcon/cphalcon
131141
git_ref: master
132-
# PHP 8.1 is using a different git_ref
142+
143+
# PHP 8.1 is overwriting the git_ref
133144
8.1:
145+
type: git
134146
git_ref: v1.0.0
147+
135148
# PHP 8.0 is using a different git_ref dynamically with latest tag found
136149
# See the usage of supported shell code
137150
8.0:
151+
type: git
138152
git_ref: $( git tag | sort -V | tail -1 )
139153
```
140154

@@ -166,12 +180,12 @@ all:
166180

167181
**Note:** All keys that support shell code can be written as a single line yaml definition or as a multi line yaml definition. Multi-line yaml definitions need a trailing `\` at the end of each line, including the last line.<br/>
168182
**Single-line:**
169-
```bash
183+
```yaml
170184
all:
171185
pre: VERSION="$( curl http://url | grep -Eo '[0-9.]+' )"
172186
```
173187
**Multi-line:**
174-
```bash
188+
```yaml
175189
all:
176190
pre: |
177191
VERSION="$( \
@@ -184,7 +198,7 @@ all:
184198

185199
**Note:** All keys that support shell code also support to write multiple shell commands. If you use multiple shell commands, you need to separate them with `&&`.<br/>
186200
**Single-command:**
187-
```bash
201+
```yaml
188202
all:
189203
pre: |
190204
VERSION="$( \
@@ -193,7 +207,7 @@ all:
193207
)" \
194208
```
195209
**Multi-command:**
196-
```bash
210+
```yaml
197211
all:
198212
pre: |
199213
URL="http://url" \

0 commit comments

Comments
 (0)