mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-24 18:25:17 +00:00
Compare commits
51 Commits
release/v1
...
v2.1.1
Author | SHA1 | Date | |
---|---|---|---|
575782af55 | |||
56d2ab39b4 | |||
c29741d119 | |||
6e2f6ca181 | |||
7e85b8e609 | |||
02f6876a21 | |||
a5396c2213 | |||
eb9cb0254f | |||
f054b22957 | |||
aed9a96dfc | |||
7a13143b4f | |||
887202db65 | |||
4fb67be0bd | |||
14bba0a140 | |||
6c2b42cbc7 | |||
19619394e3 | |||
66fe7e355d | |||
ec1e5861ce | |||
fb48e5e85a | |||
49190e4c36 | |||
c3da7facb4 | |||
d375244920 | |||
1b5522b6fa | |||
68541d76ad | |||
96610c756b | |||
7799740525 | |||
8e8991896a | |||
cbdabb2f97 | |||
d45a336d65 | |||
49b919534a | |||
0159d2a60b | |||
ac07995595 | |||
4f0542b756 | |||
052be908aa | |||
a714821dea | |||
579ae15bcc | |||
f632cc247f | |||
fbef67daac | |||
a5e0a54c5f | |||
71c73f7fb3 | |||
52689f435a | |||
3678a6799c | |||
014d9103db | |||
6acac7d8de | |||
9ac4b7399f | |||
e3dfa7cc09 | |||
6c03253313 | |||
19a65b3da4 | |||
95a0109004 | |||
0c26a6c319 | |||
c3f213b779 |
@ -13,8 +13,8 @@ error_reporting(-1);
|
||||
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
||||
|
||||
|
||||
$DEVILBOX_VERSION = 'v1.11.0';
|
||||
$DEVILBOX_DATE = '2022-03-22';
|
||||
$DEVILBOX_VERSION = 'v2.1.1';
|
||||
$DEVILBOX_DATE = '2022-04-07';
|
||||
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
||||
|
||||
//
|
||||
|
85
.github/ISSUE_TEMPLATE/bug_report.md
vendored
85
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -1,85 +0,0 @@
|
||||
---
|
||||
name: "\U0001F41B Bug report"
|
||||
about: Something is not working? Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!---
|
||||
1. Verify first that your issue/request is not already reported on GitHub.
|
||||
|
||||
2. Verify that your question is not covered in the docs: https://devilbox.readthedocs.io
|
||||
|
||||
3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this bug report.
|
||||
-->
|
||||
|
||||
|
||||
### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Bug Report
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
### Checklist
|
||||
<!-- ENSURE YOU HAVE DONE THE FOLLOWING -->
|
||||
* [ ] `.env` file is attached
|
||||
* [ ] `./check-config.sh` output is added below
|
||||
* [ ] `docker-compose logs` output is added below
|
||||
* [ ] `docker-compose.override.yml` is attached (if exists)
|
||||
* [ ] Custom configs from `cfg/` dir are attached (if exist)
|
||||
* [ ] I've looked through the docs: https://devilbox.readthedocs.io/en/latest/
|
||||
* [ ] I've looked through existing issues: https://github.com/cytopia/devilbox/issues
|
||||
* [ ] I've read troubleshooting: https://devilbox.readthedocs.io/en/latest/support/troubleshooting.html
|
||||
|
||||
|
||||
### OS / ENVIRONMENT
|
||||
<!-- COMPLETE ALL 6 BULLET POINTS BELOW: -->
|
||||
1. Host operating system and version:
|
||||
2. (Windows only) Native Docker or Docker Toolbox:
|
||||
3. Docker version:
|
||||
4. Docker Compose version:
|
||||
5. (Linux) Is SELinux enabled?:
|
||||
6. What git commit hash are you on?:
|
||||
|
||||
|
||||
### SUMMARY
|
||||
<!-- Explain the problem briefly -->
|
||||
|
||||
|
||||
### STEPS TO REPRODUCE
|
||||
<!-- Show exactly how to reproduce the problem -->
|
||||
<!-- Make this as detailed as possible and be sure that others can fully reproduce this issue -->
|
||||
|
||||
|
||||
### EXPECTED BEHAVIOUR
|
||||
<!-- What is the expected behaviour? -->
|
||||
|
||||
|
||||
### ACTUAL BEHAVIOUR
|
||||
<!-- What is the actual behaviour? -->
|
||||
|
||||
|
||||
### OTHER INFORMATION
|
||||
|
||||
#### Start command
|
||||
<!-- Add the command you have used to start the devilbox -->
|
||||
```
|
||||
$ docker-compose up...
|
||||
```
|
||||
|
||||
#### Outputs
|
||||
<!-- 1/2 Add the output from ./check-config.sh -->
|
||||
```bash
|
||||
$ ./check-config.sh
|
||||
|
||||
<<< REPLACE THIS LINE WITH OUTPUT FROM ABOVE COMMAND >>>
|
||||
```
|
||||
|
||||
<!-- 2/2 Add the output from docker-compose logs -->
|
||||
```bash
|
||||
$ docker-compose logs
|
||||
|
||||
<<< REPLACE THIS LINE WITH OUTPUT FROM ABOVE COMMAND >>>
|
||||
```
|
189
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
189
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@ -0,0 +1,189 @@
|
||||
---
|
||||
name: "\U0001F41B Bug report"
|
||||
description: File a bug report
|
||||
title: "[Bug]: "
|
||||
labels: ["bug", "triage"]
|
||||
assignees:
|
||||
- cytopia
|
||||
|
||||
body:
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you already looked into this bug?
|
||||
description: Please invest some time and check if this bug is already mentioned or documented elsewhere (You may select more than one).
|
||||
options:
|
||||
- label: I have checked the [Troubleshooting Guide](https://devilbox.readthedocs.io/en/latest/support/troubleshooting.html)
|
||||
- label: I have checked [Release notes](https://github.com/cytopia/devilbox/releases) for potential migration steps
|
||||
- label: I have checked [existing issues](https://github.com/cytopia/devilbox/issues) for similar bugs
|
||||
- label: I have googled this bug already with no luck
|
||||
- label: I have not done any of the above
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: (Optional) Error message
|
||||
description: If you encountered any error message, copy and paste it here. This will be used for googling the issue.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What went wrong?
|
||||
description: What exactly went wrong of what bug did you encounter?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected-behaviour
|
||||
attributes:
|
||||
label: Expected behaviour
|
||||
description: What did you expect to happen instead?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps-to-reproduce
|
||||
attributes:
|
||||
label: How can we reproduce the bug?
|
||||
description: How do you trigger this bug? Please walk us through it step by step in detail. This is crucial in order to triage the bug and support you in resolving it.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: host-os
|
||||
attributes:
|
||||
label: Host Operating System
|
||||
description: What operating system are you using?
|
||||
multiple: false
|
||||
options:
|
||||
- Linux
|
||||
- macOS
|
||||
- Windows
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: host-platform
|
||||
attributes:
|
||||
label: Host Platform (amd64, arm64, other)
|
||||
description: What host platform are you running on?
|
||||
options:
|
||||
- amd64
|
||||
- arm64
|
||||
- other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: (Linux only) Is SELinux enabled?
|
||||
description: When using Linux as your host operating system, check if SELinux is enabled or not. [More info here](https://devilbox.readthedocs.io/en/latest/getting-started/install-the-devilbox.html?highlight=selinux#linux-selinux)
|
||||
options:
|
||||
- Yes, SELinux is enabled
|
||||
- No, SELinux is disabled
|
||||
- I don't know
|
||||
- I am not on Linux
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: docker-version
|
||||
attributes:
|
||||
label: Docker version
|
||||
description: "What Docker version are you using? Please copy and paste the output of `docker --version` into this text area."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: docker-compose-version
|
||||
attributes:
|
||||
label: Docker Compose version
|
||||
description: "What Docker Compose version are you using? Please copy and paste the output of `docker-compose --version` into this text area."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: devilbox-version
|
||||
attributes:
|
||||
label: Devilbox version
|
||||
description: "What version of Devilbox are you running (latest master, specific tag, git hash, etc)?"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Have you removed stopped containers before starting?
|
||||
description: "Have you done a `docker-compose rm` before starting up the Devilbox? [More info here](https://docs.docker.com/compose/reference/rm/)"
|
||||
multiple: false
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Have you pulled latest Docker images before starting?
|
||||
description: "Have you done a `docker-compose pull` before starting up the Devilbox?"
|
||||
multiple: false
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Devilbox start command
|
||||
description: "What is the [start command](https://devilbox.readthedocs.io/en/latest/getting-started/start-the-devilbox.html) you have used to start the Devilbox?"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: log-env-file
|
||||
attributes:
|
||||
label: "Config: .env file"
|
||||
description: "Please copy and paste your `.env` file into this text area"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Config: docker-compose.override.yml"
|
||||
description: "If you are using `docker-compose.override.yml`, please copy and paste its contents into this text area."
|
||||
render: shell
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: log-check-config
|
||||
attributes:
|
||||
label: "Config: ./check-config.sh"
|
||||
description: "Please copy and paste the output of `./check-config.sh` into this text area"
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: log-docker-compose
|
||||
attributes:
|
||||
label: "Log: docker-compose logs"
|
||||
description: "Please copy and paste the output of `docker-compose logs` into this text area"
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: (Optional) Additional information
|
||||
description: Add any additional information that might help with this bug report. (E.g. customizations from the `autostart/`, `bash/`, `cfg/` or `supervisor/` directory or relevant logfiles from the `log/` directory)
|
||||
validations:
|
||||
required: false
|
12
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
12
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Devilbox Community Support
|
||||
url: https://devilbox.discourse.group/
|
||||
about: Please ask and answer questions here.
|
||||
- name: Devilbox Gitter Chat
|
||||
url: https://gitter.im/devilbox/Lobby
|
||||
about: Please ask and answer questions here.
|
||||
- name: Devilbox documentation
|
||||
url: https://devilbox.readthedocs.io/
|
||||
about: Find the Devilbox documentation here.
|
30
.github/ISSUE_TEMPLATE/documentation.md
vendored
30
.github/ISSUE_TEMPLATE/documentation.md
vendored
@ -1,30 +0,0 @@
|
||||
---
|
||||
name: "\U0001F4DD Documentation"
|
||||
about: Anything related to the Devilbox documentation
|
||||
title: ''
|
||||
labels: documentation
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!---
|
||||
1. Verify first that your question is not already reported on GitHub.
|
||||
|
||||
2. Verify that your question is not covered in the docs: https://devilbox.readthedocs.io
|
||||
|
||||
3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this question.
|
||||
-->
|
||||
|
||||
|
||||
#### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Documentation
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
#### SUMMARY
|
||||
<!-- Add your information here -->
|
||||
|
||||
|
||||
#### Goal
|
||||
<!-- Explain what you actually want to accomplish -->
|
30
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
30
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
name: "\U0001F4DD Documentation"
|
||||
description: Something is missing or wrong in the documentation.
|
||||
title: "[Docs]: "
|
||||
labels: ["documentation"]
|
||||
assignees:
|
||||
- cytopia
|
||||
|
||||
body:
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is wrong in the documentation?
|
||||
description: Tell us, what is wrong in the documentation?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is missing in the documentation?
|
||||
description: Tell us, what is missing in the documentation?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Are you willing to provide a PR to address this?
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
30
.github/ISSUE_TEMPLATE/feature_request.md
vendored
30
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -1,30 +0,0 @@
|
||||
---
|
||||
name: "✨ Feature request"
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!---
|
||||
1. Verify first that your feature request is not already reported on GitHub.
|
||||
|
||||
2. Verify that your feature is not already implemented: https://devilbox.readthedocs.io
|
||||
|
||||
3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this feature request
|
||||
-->
|
||||
|
||||
|
||||
#### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Feature request
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
#### SUMMARY
|
||||
<!-- Explain your feature idea briefly -->
|
||||
|
||||
|
||||
#### Goal
|
||||
<!-- Explain what you actually want to accomplish with that feature -->
|
36
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
36
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
name: "✨ Feature request"
|
||||
description: Suggest an idea or feature for this project
|
||||
title: "[Feature]: "
|
||||
labels: ["feature"]
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is your idea or feature suggestion?
|
||||
description: Tell us, what idea or feature you suggest to be added to the Devilbox.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: Tell us, how this this will be beneficial to the Devilbox.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Where can we find information about this?
|
||||
description: If you are proposing a software or tool, please add relevant links and documentation.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Are you willing to provide a PR to address this?
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
50
.github/ISSUE_TEMPLATE/howto.yml
vendored
Normal file
50
.github/ISSUE_TEMPLATE/howto.yml
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
name: "❔ How to do ...?"
|
||||
description: How do I do X or Y with the Devilbox?
|
||||
title: "[Howto]: "
|
||||
labels: ["question", "Community help wanted"]
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
If this is a generic question, please consider using the [Devilbox forum](https://devilbox.discourse.group/) instead.
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you already checked elsewhere?
|
||||
description: You may select more than one.
|
||||
options:
|
||||
- label: I have read the [Devilbox documentation](https://devilbox.readthedocs.io/en/latest/)
|
||||
- label: I have checked the [Devilbox Troubleshooting Guide](https://devilbox.readthedocs.io/en/latest/)
|
||||
- label: I have checked the [Devilbox FAQ](https://devilbox.readthedocs.io/en/latest/support/faq.html)
|
||||
- label: I have checked the [Devilbox Howto](https://devilbox.readthedocs.io/en/latest/support/howto.html)
|
||||
- label: I have checked the [Devilbox Forum](https://devilbox.discourse.group/)
|
||||
- label: I have checked [existing issues](https://github.com/cytopia/devilbox/issues)
|
||||
- label: I have googled already with no luck
|
||||
- label: I have not done any of the above
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What are you struggling with?
|
||||
description: Tell the community, what you are struggling with. Be as specific as possible to make it easier for other people to answer your question.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What have you tried already?
|
||||
description: Add some details on what you have tried already, so this can be ruled out.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is your goal?
|
||||
description: Tell the community, what you want to accomplish? This might be helpful to know in order to prevent [XY problems](https://en.wikipedia.org/wiki/XY_problem).
|
||||
validations:
|
||||
required: true
|
40
.github/ISSUE_TEMPLATE/question.md
vendored
40
.github/ISSUE_TEMPLATE/question.md
vendored
@ -1,40 +0,0 @@
|
||||
---
|
||||
name: "❔ Question"
|
||||
about: 'Consider using the Devilbox Forum instead: https://devilbox.discourse.group/'
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- ---------- GITHUB QUESTIONS ARE DEPRECATED ---------- -->
|
||||
<!-- ---------- USE THE FORUM ---------- ->
|
||||
|
||||
<!-- ---------- https://devilbox.discourse.group/ ---------- ->
|
||||
|
||||
|
||||
<!---
|
||||
1. A better place for questions is: https://devilbox.discourse.group/
|
||||
|
||||
2. VERIFY first that your question is not already reported on GitHub.
|
||||
|
||||
3. VERIFY that your question is not covered in the docs: https://devilbox.readthedocs.io
|
||||
|
||||
4. VERIFY that your question is not covered in the forum: https://devilbox.discourse.group/
|
||||
|
||||
5. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this question.
|
||||
-->
|
||||
|
||||
|
||||
#### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Question
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
#### SUMMARY
|
||||
<!-- Ask your question here -->
|
||||
|
||||
|
||||
#### Goal
|
||||
<!-- Explain what you actually want to accomplish -->
|
228
.github/workflows/ci-smoke-linux.yml
vendored
228
.github/workflows/ci-smoke-linux.yml
vendored
@ -1,228 +0,0 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Linux
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# What to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
smoke_linux:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php:
|
||||
- "5.3"
|
||||
- "5.4"
|
||||
- "5.5"
|
||||
- "5.6"
|
||||
- "7.0"
|
||||
- "7.1"
|
||||
- "7.2"
|
||||
- "7.3"
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
- "8.1"
|
||||
- "8.2"
|
||||
httpd:
|
||||
- "apache-2.2"
|
||||
- "apache-2.4"
|
||||
- "nginx-stable"
|
||||
- "nginx-mainline"
|
||||
|
||||
name: "[PHP ${{ matrix.php }}] vs [${{ matrix.httpd }}]"
|
||||
steps:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Checkout repository
|
||||
# ------------------------------------------------------------
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Show environment
|
||||
shell: bash
|
||||
run: |
|
||||
env
|
||||
|
||||
- name: Show network
|
||||
shell: bash
|
||||
run: |
|
||||
netstat -an || true
|
||||
ss -tlun || true
|
||||
|
||||
- name: Show Docker version
|
||||
shell: bash
|
||||
run: |
|
||||
docker version
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Setup
|
||||
# ------------------------------------------------------------
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
# Set the two candidates to test against
|
||||
make configure KEY=PHP_SERVER VAL=${PHP}
|
||||
make configure KEY=HTTPD_SERVER VAL=${HTTPD}
|
||||
# 3306 is taken, so chose another one
|
||||
make configure KEY=HOST_PORT_MYSQL VAL=3307
|
||||
env:
|
||||
PHP: ${{ matrix.php }}
|
||||
HTTPD: ${{ matrix.httpd }}
|
||||
|
||||
- name: Pull images
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make pull
|
||||
|
||||
- name: Startup
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make start
|
||||
|
||||
- name: Docker logs
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Run tests
|
||||
# ------------------------------------------------------------
|
||||
- name: Test Modules
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-modules
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Config
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-config
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Intranet
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-intranet
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vendors
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vendors
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vhosts
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vhosts
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Reverse Proxy
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-rproxies
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test SSL
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-ssl
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Bind
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-bind
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Autostart
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-autostart
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: CakePHP"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-cakephp
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Drupal"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-drupal
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Wordpress"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-wordpress
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Container"
|
||||
shell: bash
|
||||
run: |
|
||||
retry() {
|
||||
for n in $(seq 5); do
|
||||
echo "[${n}/5] ${*}";
|
||||
if eval "${*}"; then
|
||||
echo "[SUCC] ${n}/5";
|
||||
return 0;
|
||||
fi;
|
||||
sleep 5;
|
||||
echo "[FAIL] ${n}/5";
|
||||
done;
|
||||
return 1;
|
||||
}
|
||||
cd .tests/
|
||||
retry make test-smoke-container
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Finish
|
||||
# ------------------------------------------------------------
|
||||
|
||||
- name: "Finish: Docker logs"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
if: success() || failure()
|
262
.github/workflows/ci-smoke-macos.yml.off
vendored
262
.github/workflows/ci-smoke-macos.yml.off
vendored
@ -1,262 +0,0 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: MacOS
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# What to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
smoke_macos:
|
||||
|
||||
runs-on: macos-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php:
|
||||
- "7.2"
|
||||
httpd:
|
||||
- "nginx-stable"
|
||||
|
||||
name: "[PHP ${{ matrix.php }}] vs [${{ matrix.httpd }}]"
|
||||
steps:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Checkout repository
|
||||
# ------------------------------------------------------------
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: "[Pre] Install Requirements"
|
||||
shell: bash
|
||||
run: |
|
||||
brew install coreutils
|
||||
brew install bash
|
||||
brew install socat
|
||||
|
||||
- name: "[Pre] Install Docker"
|
||||
shell: bash
|
||||
run: |
|
||||
brew install docker docker-machine-driver-xhyve
|
||||
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
|
||||
sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
|
||||
while ! docker-machine create --driver xhyve default; do
|
||||
docker-machine rm -f default
|
||||
sleep 1;
|
||||
done
|
||||
# Export variable (this target)
|
||||
eval "$(docker-machine env default)"
|
||||
DOCKER_TLS_VERIFY="$( docker-machine env default | grep DOCKER_TLS_VERIFY | sed -e 's/.*="//g' -e 's/"$//g' )"
|
||||
DOCKER_HOST="$( docker-machine env default | grep DOCKER_HOST | sed -e 's/.*="//g' -e 's/"$//g' )"
|
||||
DOCKER_CERT_PATH="$( docker-machine env default | grep DOCKER_CERT_PATH | sed -e 's/.*="//g' -e 's/"$//g' )"
|
||||
DOCKER_MACHINE_NAME="$( docker-machine env default | grep DOCKER_MACHINE_NAME | sed -e 's/.*="//g' -e 's/"$//g' )"
|
||||
# Export variable (this other targets)
|
||||
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env
|
||||
echo ::set-env name=DOCKER_TLS_VERIFY::${DOCKER_TLS_VERIFY}
|
||||
echo ::set-env name=DOCKER_HOST::${DOCKER_HOST}
|
||||
echo ::set-env name=DOCKER_CERT_PATH::${DOCKER_CERT_PATH}
|
||||
echo ::set-env name=DOCKER_MACHINE_NAME::${DOCKER_MACHINE_NAME}
|
||||
# Show info
|
||||
docker-machine ls
|
||||
docker-machine env default
|
||||
docker version
|
||||
|
||||
- name: "[Pre] Install Docker Compose"
|
||||
shell: bash
|
||||
run: |
|
||||
sudo curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
docker-compose version
|
||||
|
||||
- name: "[Pre] Setup Docker machine"
|
||||
shell: bash
|
||||
run: |
|
||||
# Setup DNS records
|
||||
echo "127.0.0.1 localhost" | sudo tee -a /etc/hosts
|
||||
|
||||
# Portforwarding from DOCKER_HOST to local
|
||||
HOST="$( echo "${DOCKER_HOST}" | sed -e 's|^tcp://||g' -e 's|:.*||g' )"
|
||||
echo "${HOST}"
|
||||
sudo socat -s -d -d tcp-listen:80,reuseaddr,fork tcp:${HOST}:80 &
|
||||
sleep 2
|
||||
sudo socat -s -d -d tcp-listen:443,reuseaddr,fork tcp:${HOST}:443 &
|
||||
sleep 2
|
||||
if ! netstat -an | grep -i LISTEN | grep -E '(:80)|(\.80)\s'; then
|
||||
netstat -an | grep -i LISTEN;
|
||||
false;
|
||||
fi
|
||||
if ! netstat -an | grep -i LISTEN | grep -E '(:443)|(\.443)\s'; then
|
||||
netstat -an | grep -i LISTEN;
|
||||
false;
|
||||
fi
|
||||
host localhost
|
||||
curl -sS -I 'http://localhost:80' || true
|
||||
curl -sS -I 'https://localhost:443' || true
|
||||
|
||||
- name: "[Info] Show environment"
|
||||
shell: bash
|
||||
run: |
|
||||
env
|
||||
if: success() || failure()
|
||||
|
||||
- name: "[Info] Show network"
|
||||
shell: bash
|
||||
run: |
|
||||
netstat -an || true
|
||||
ss -tlun || true
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Setup
|
||||
# ------------------------------------------------------------
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
# Set the two candidates to test against
|
||||
make configure KEY=PHP_SERVER VAL=${PHP}
|
||||
make configure KEY=HTTPD_SERVER VAL=${HTTPD}
|
||||
# 3306 is taken, so chose another one
|
||||
make configure KEY=HOST_PORT_MYSQL VAL=3307
|
||||
env:
|
||||
PHP: ${{ matrix.php }}
|
||||
HTTPD: ${{ matrix.httpd }}
|
||||
if: success() || failure()
|
||||
|
||||
- name: Pull images
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make pull
|
||||
if: success() || failure()
|
||||
|
||||
- name: Startup
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make start
|
||||
if: success() || failure()
|
||||
|
||||
- name: Docker logs
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Run tests
|
||||
# ------------------------------------------------------------
|
||||
- name: Test Modules
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-modules
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Config
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-config
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Intranet
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-intranet
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vendors
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vendors
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vhosts
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vhosts
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Reverse Proxy
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-rproxies
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test SSL
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-ssl
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Bind
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-bind
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Autostart
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-autostart
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: CakePHP"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-cakephp
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Drupal"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-drupal
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Wordpress"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-wordpress
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Finish
|
||||
# ------------------------------------------------------------
|
||||
|
||||
- name: "[Post] Docker logs"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
if: success() || failure()
|
37
.github/workflows/documentation.yml
vendored
37
.github/workflows/documentation.yml
vendored
@ -12,12 +12,16 @@ name: Docs
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
@ -25,9 +29,7 @@ on:
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
docs:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@ -46,24 +48,9 @@ jobs:
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Check documentation
|
||||
shell: bash
|
||||
run: |
|
||||
retry() {
|
||||
for n in $(seq ${RETRIES}); do
|
||||
echo "[${n}/${RETRIES}] ${*}";
|
||||
if eval "${*}"; then
|
||||
echo "[SUCC] ${n}/${RETRIES}";
|
||||
return 0;
|
||||
fi;
|
||||
sleep ${PAUSE};
|
||||
echo "[FAIL] ${n}/${RETRIES}";
|
||||
done;
|
||||
return 1;
|
||||
}
|
||||
|
||||
cd docs
|
||||
retry make ${TARGET}
|
||||
env:
|
||||
TARGET: ${{ matrix.target }}
|
||||
RETRIES: 20
|
||||
PAUSE: 10
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 5
|
||||
workdir: "${{ github.workspace }}/docs/"
|
||||
command: |
|
||||
make ${{ matrix.target }}
|
||||
|
1
.github/workflows/lint.yml
vendored
1
.github/workflows/lint.yml
vendored
@ -17,7 +17,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
59
.github/workflows/params-httpd.yml
vendored
Normal file
59
.github/workflows/params-httpd.yml
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
# Note: Older PHP versions use an older version of phpPgMyAdmin, which does not work with later
|
||||
# PgSQL server versions. That's why we need to tell those combinations to use an old PgSQL server
|
||||
MATRIX: >-
|
||||
[
|
||||
{"HTTPD_SERVER": "apache-2.2", "HTTPD_FLAVOUR": "alpine"},
|
||||
{"HTTPD_SERVER": "apache-2.2", "HTTPD_FLAVOUR": "debian"},
|
||||
|
||||
{"HTTPD_SERVER": "apache-2.4", "HTTPD_FLAVOUR": "alpine"},
|
||||
{"HTTPD_SERVER": "apache-2.4", "HTTPD_FLAVOUR": "debian"},
|
||||
|
||||
{"HTTPD_SERVER": "nginx-stable", "HTTPD_FLAVOUR": "alpine"},
|
||||
{"HTTPD_SERVER": "nginx-stable", "HTTPD_FLAVOUR": "debian"},
|
||||
|
||||
{"HTTPD_SERVER": "nginx-mainline", "HTTPD_FLAVOUR": "alpine"},
|
||||
{"HTTPD_SERVER": "nginx-mainline", "HTTPD_FLAVOUR": "debian"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
54
.github/workflows/params-memcd.yml
vendored
Normal file
54
.github/workflows/params-memcd.yml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
MATRIX: >-
|
||||
[
|
||||
{"MEMCD_SERVER": "Memcd 1.4"},
|
||||
{"MEMCD_SERVER": "Memcd 1.4-alpine"},
|
||||
{"MEMCD_SERVER": "Memcd 1.5"},
|
||||
{"MEMCD_SERVER": "Memcd 1.5-alpine"},
|
||||
{"MEMCD_SERVER": "Memcd 1.6"},
|
||||
{"MEMCD_SERVER": "Memcd 1.6-alpine"},
|
||||
{"MEMCD_SERVER": "Memcd latest"},
|
||||
{"MEMCD_SERVER": "Memcd alpine"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
56
.github/workflows/params-mongo.yml
vendored
Normal file
56
.github/workflows/params-mongo.yml
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
# CI for Mongo 2.8 and Mongo 3.0 removed due to local segfault and non-segfault, but error in CI
|
||||
# https://github.com/docker-library/mongo/issues/251
|
||||
#
|
||||
# CI for Mongo 3.2 and 3.4 removed due to non-reproducible error in CI
|
||||
MATRIX: >-
|
||||
[
|
||||
{"MONGO_SERVER": "Mongo 3.6"},
|
||||
{"MONGO_SERVER": "Mongo 4.0"},
|
||||
{"MONGO_SERVER": "Mongo 4.2"},
|
||||
{"MONGO_SERVER": "Mongo 4.4"},
|
||||
{"MONGO_SERVER": "Mongo 5.0"},
|
||||
{"MONGO_SERVER": "Mongo latest"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
64
.github/workflows/params-mysql.yml
vendored
Normal file
64
.github/workflows/params-mysql.yml
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
MATRIX: >-
|
||||
[
|
||||
{"MYSQL_SERVER": "mysql-5.5"},
|
||||
{"MYSQL_SERVER": "mysql-5.6"},
|
||||
{"MYSQL_SERVER": "mysql-5.7"},
|
||||
{"MYSQL_SERVER": "mysql-8.0"},
|
||||
{"MYSQL_SERVER": "percona-5.5"},
|
||||
{"MYSQL_SERVER": "percona-5.6"},
|
||||
{"MYSQL_SERVER": "percona-5.7"},
|
||||
{"MYSQL_SERVER": "percona-8.0"},
|
||||
{"MYSQL_SERVER": "mariadb-5.5"},
|
||||
{"MYSQL_SERVER": "mariadb-10.0"},
|
||||
{"MYSQL_SERVER": "mariadb-10.1"},
|
||||
{"MYSQL_SERVER": "mariadb-10.2"},
|
||||
{"MYSQL_SERVER": "mariadb-10.3"},
|
||||
{"MYSQL_SERVER": "mariadb-10.4"},
|
||||
{"MYSQL_SERVER": "mariadb-10.5"},
|
||||
{"MYSQL_SERVER": "mariadb-10.6"},
|
||||
{"MYSQL_SERVER": "mariadb-10.7"},
|
||||
{"MYSQL_SERVER": "mariadb-10.8"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
70
.github/workflows/params-pgsql.yml
vendored
Normal file
70
.github/workflows/params-pgsql.yml
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
MATRIX: >-
|
||||
[
|
||||
{"PGSQL_SERVER": "PgSQL 9.0"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.1"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.2"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.2-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.3"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.3-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.4"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.4-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.5"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.5-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.6"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.6-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 10"},
|
||||
{"PGSQL_SERVER": "PgSQL 10-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 11"},
|
||||
{"PGSQL_SERVER": "PgSQL 11-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PGSQL_SERVER": "PgSQL 12-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 13"},
|
||||
{"PGSQL_SERVER": "PgSQL 13-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 14"},
|
||||
{"PGSQL_SERVER": "PgSQL 14-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL latest"},
|
||||
{"PGSQL_SERVER": "PgSQL alpine"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
99
.github/workflows/params-php.yml
vendored
Normal file
99
.github/workflows/params-php.yml
vendored
Normal file
@ -0,0 +1,99 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
# Note: Older PHP versions use an older version of phpPgMyAdmin, which does not work with later
|
||||
# PgSQL server versions. That's why we need to tell those combinations to use an old PgSQL server
|
||||
MATRIX: >-
|
||||
[
|
||||
{"PHP_SERVER": "PHP 5.3", "HTTPD_SERVER": "apache-2.2", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "apache-2.2", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "apache-2.2", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "apache-2.2", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "apache-2.2", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "apache-2.2", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.2", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 7.3", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 7.4", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 8.0", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 8.1", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 8.2", "HTTPD_SERVER": "apache-2.2"},
|
||||
|
||||
{"PHP_SERVER": "PHP 5.3", "HTTPD_SERVER": "apache-2.4", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "apache-2.4", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "apache-2.4", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "apache-2.4", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "apache-2.4", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "apache-2.4", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.2", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 7.3", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 7.4", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 8.0", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 8.1", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 8.2", "HTTPD_SERVER": "apache-2.4"},
|
||||
|
||||
{"PHP_SERVER": "PHP 5.3", "HTTPD_SERVER": "nginx-stable", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "nginx-stable", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "nginx-stable", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "nginx-stable", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "nginx-stable", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "nginx-stable", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.2", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 7.3", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 7.4", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 8.0", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 8.1", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 8.2", "HTTPD_SERVER": "nginx-stable"},
|
||||
|
||||
{"PHP_SERVER": "PHP 5.3", "HTTPD_SERVER": "nginx-mainline", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "nginx-mainline", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "nginx-mainline", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "nginx-mainline", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "nginx-mainline", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "nginx-mainline", "PGSQL_SERVER": "PgSQL 12"},
|
||||
{"PHP_SERVER": "PHP 7.2", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 7.3", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 7.4", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 8.0", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 8.1", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 8.2", "HTTPD_SERVER": "nginx-mainline"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
61
.github/workflows/params-redis.yml
vendored
Normal file
61
.github/workflows/params-redis.yml
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
MATRIX: >-
|
||||
[
|
||||
{"REDIS_SERVER": "Redis 2.8"},
|
||||
{"REDIS_SERVER": "Redis 3.0"},
|
||||
{"REDIS_SERVER": "Redis 3.0-alpine"},
|
||||
{"REDIS_SERVER": "Redis 3.2"},
|
||||
{"REDIS_SERVER": "Redis 3.2-alpine"},
|
||||
{"REDIS_SERVER": "Redis 4.0"},
|
||||
{"REDIS_SERVER": "Redis 4.0-alpine"},
|
||||
{"REDIS_SERVER": "Redis 5.0"},
|
||||
{"REDIS_SERVER": "Redis 5.0-alpine"},
|
||||
{"REDIS_SERVER": "Redis 6.0"},
|
||||
{"REDIS_SERVER": "Redis 6.0-alpine"},
|
||||
{"REDIS_SERVER": "Redis 6.2"},
|
||||
{"REDIS_SERVER": "Redis 6.2-alpine"},
|
||||
{"REDIS_SERVER": "Redis latest"},
|
||||
{"REDIS_SERVER": "Redis alpine"}
|
||||
]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
matrix:
|
||||
description: "The determined version matrix"
|
||||
value: ${{ jobs.params.outputs.matrix }}
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
||||
|
||||
steps:
|
||||
- name: "[Set-Output] Matrix"
|
||||
id: set-matrix
|
||||
run: |
|
||||
echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
|
||||
|
||||
- name: "[DEBUG] Show settings'"
|
||||
run: |
|
||||
echo 'Matrix'
|
||||
echo '--------------------'
|
||||
echo '${{ steps.set-matrix.outputs.matrix }}'
|
||||
echo
|
242
.github/workflows/test-config.yml
vendored
242
.github/workflows/test-config.yml
vendored
@ -1,242 +0,0 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Config
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# What to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
test_config:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php:
|
||||
- "5.3"
|
||||
- "5.4"
|
||||
- "5.5"
|
||||
- "5.6"
|
||||
- "7.0"
|
||||
- "7.1"
|
||||
- "7.2"
|
||||
- "7.3"
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
- "8.1"
|
||||
- "8.2"
|
||||
httpd:
|
||||
- "apache-2.2"
|
||||
- "apache-2.4"
|
||||
- "nginx-stable"
|
||||
- "nginx-mainline"
|
||||
|
||||
name: "[PHP ${{ matrix.php }}] vs [${{ matrix.httpd }}]"
|
||||
steps:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Checkout repository
|
||||
# ------------------------------------------------------------
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Show environment
|
||||
shell: bash
|
||||
run: |
|
||||
env
|
||||
|
||||
- name: Show network
|
||||
shell: bash
|
||||
run: |
|
||||
netstat -an || true
|
||||
ss -tlun || true
|
||||
|
||||
- name: Show Docker version
|
||||
shell: bash
|
||||
run: |
|
||||
docker version
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Setup
|
||||
# ------------------------------------------------------------
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
# Set the two candidates to test against
|
||||
make configure KEY=PHP_SERVER VAL=${PHP}
|
||||
make configure KEY=HTTPD_SERVER VAL=${HTTPD}
|
||||
# 3306 is taken, so chose another one
|
||||
make configure KEY=HOST_PORT_MYSQL VAL=3307
|
||||
|
||||
# Test full customization
|
||||
make configure KEY=DEBUG_COMPOSE_ENTRYPOINT VAL="$(( RANDOM % 3 ))"
|
||||
make configure KEY=DOCKER_LOGS VAL="$(( RANDOM % 1 ))"
|
||||
make configure KEY=TLD_SUFFIX VAL=loc2
|
||||
make configure KEY=TIMEZONE VAL='Europe/Berlin'
|
||||
make configure KEY=PHP_MODULES_DISABLE VAL=
|
||||
make configure KEY=HTTPD_TEMPLATE_DIR VAL=.config
|
||||
make configure KEY=HOST_PORT_HTTPD VAL=8080
|
||||
make configure KEY=HOST_PORT_HTTPD_SSL VAL=8443
|
||||
make configure KEY=MYSQL_ROOT_PASSWORD VAL=mysqlpass
|
||||
make configure KEY=PGSQL_ROOT_USER VAL=pgroot
|
||||
make configure KEY=PGSQL_ROOT_PASSWORD VAL=pgsqlpass
|
||||
make configure KEY=DEVILBOX_VENDOR_PHPMYADMIN_AUTOLOGIN VAL=0
|
||||
env:
|
||||
PHP: ${{ matrix.php }}
|
||||
HTTPD: ${{ matrix.httpd }}
|
||||
|
||||
- name: Pull images
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make pull
|
||||
|
||||
- name: Startup
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make start
|
||||
|
||||
- name: Docker logs
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Run tests
|
||||
# ------------------------------------------------------------
|
||||
- name: Test Modules
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-modules
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Config
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-config
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Intranet
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-intranet
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vendors
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vendors
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vhosts
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vhosts
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Reverse Proxy
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-rproxies
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test SSL
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-ssl
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Bind
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-bind
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Autostart
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-autostart
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: CakePHP"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-cakephp
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Drupal"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-drupal
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Wordpress"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-wordpress
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Container"
|
||||
shell: bash
|
||||
run: |
|
||||
retry() {
|
||||
for n in $(seq 5); do
|
||||
echo "[${n}/5] ${*}";
|
||||
if eval "${*}"; then
|
||||
echo "[SUCC] ${n}/t";
|
||||
return 0;
|
||||
fi;
|
||||
sleep 5;
|
||||
echo "[FAIL] ${n}/5";
|
||||
done;
|
||||
return 1;
|
||||
}
|
||||
cd .tests/
|
||||
retry make test-smoke-container
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Finish
|
||||
# ------------------------------------------------------------
|
||||
|
||||
- name: "Finish: Docker logs"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
if: success() || failure()
|
76
.github/workflows/test-httpd.yml
vendored
Normal file
76
.github/workflows/test-httpd.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Httpd
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-httpd.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
76
.github/workflows/test-memcd.yml
vendored
Normal file
76
.github/workflows/test-memcd.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Memcd
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-memcd.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
76
.github/workflows/test-mongo.yml
vendored
Normal file
76
.github/workflows/test-mongo.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Mongo
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-mongo.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
76
.github/workflows/test-mysql.yml
vendored
Normal file
76
.github/workflows/test-mysql.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: MySQL
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-mysql.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
76
.github/workflows/test-pgsql.yml
vendored
Normal file
76
.github/workflows/test-pgsql.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: PgSQL
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-pgsql.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
76
.github/workflows/test-php.yml
vendored
Normal file
76
.github/workflows/test-php.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: PHP
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-php.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
76
.github/workflows/test-redis.yml
vendored
Normal file
76
.github/workflows/test-redis.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Redis
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-redis.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
default:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: false
|
||||
operating_system: ubuntu-latest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (3/3) Test with customizedt settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
custom:
|
||||
needs: [params]
|
||||
uses: ./.github/workflows/zzz-reuse-tests.yml
|
||||
with:
|
||||
matrix: ${{ needs.params.outputs.matrix }}
|
||||
custom_config: true
|
||||
operating_system: ubuntu-latest
|
318
.github/workflows/test-versions.yml
vendored
318
.github/workflows/test-versions.yml
vendored
@ -1,318 +0,0 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: Versions
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# When to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+*'
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# What to run
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
smoke_version:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version:
|
||||
- "MYSQL_SERVER=mysql-5.5"
|
||||
- "MYSQL_SERVER=mysql-5.6"
|
||||
- "MYSQL_SERVER=mysql-5.7"
|
||||
- "MYSQL_SERVER=mysql-8.0"
|
||||
- "MYSQL_SERVER=mariadb-5.5"
|
||||
- "MYSQL_SERVER=mariadb-10.0"
|
||||
- "MYSQL_SERVER=mariadb-10.1"
|
||||
- "MYSQL_SERVER=mariadb-10.2"
|
||||
- "MYSQL_SERVER=mariadb-10.3"
|
||||
- "MYSQL_SERVER=mariadb-10.4"
|
||||
- "MYSQL_SERVER=mariadb-10.5"
|
||||
- "MYSQL_SERVER=mariadb-10.6"
|
||||
- "MYSQL_SERVER=mariadb-10.7"
|
||||
- "MYSQL_SERVER=mariadb-10.8"
|
||||
- "MYSQL_SERVER=percona-5.5"
|
||||
- "MYSQL_SERVER=percona-5.6"
|
||||
- "MYSQL_SERVER=percona-5.7"
|
||||
- "MYSQL_SERVER=percona-8.0"
|
||||
|
||||
- "PGSQL_SERVER=9.0"
|
||||
- "PGSQL_SERVER=9.1"
|
||||
- "PGSQL_SERVER=9.2"
|
||||
- "PGSQL_SERVER=9.2-alpine"
|
||||
- "PGSQL_SERVER=9.3"
|
||||
- "PGSQL_SERVER=9.3-alpine"
|
||||
- "PGSQL_SERVER=9.4"
|
||||
- "PGSQL_SERVER=9.4-alpine"
|
||||
- "PGSQL_SERVER=9.5"
|
||||
- "PGSQL_SERVER=9.5-alpine"
|
||||
- "PGSQL_SERVER=9.6"
|
||||
- "PGSQL_SERVER=9.6-alpine"
|
||||
- "PGSQL_SERVER=10.0"
|
||||
- "PGSQL_SERVER=10.0-alpine"
|
||||
- "PGSQL_SERVER=10.1"
|
||||
- "PGSQL_SERVER=10.1-alpine"
|
||||
- "PGSQL_SERVER=10.2"
|
||||
- "PGSQL_SERVER=10.2-alpine"
|
||||
- "PGSQL_SERVER=10.3"
|
||||
- "PGSQL_SERVER=10.3-alpine"
|
||||
- "PGSQL_SERVER=10.4"
|
||||
- "PGSQL_SERVER=10.4-alpine"
|
||||
- "PGSQL_SERVER=10.5"
|
||||
- "PGSQL_SERVER=10.5-alpine"
|
||||
- "PGSQL_SERVER=10.6"
|
||||
- "PGSQL_SERVER=10.6-alpine"
|
||||
- "PGSQL_SERVER=11.0"
|
||||
- "PGSQL_SERVER=11.0-alpine"
|
||||
- "PGSQL_SERVER=11.1"
|
||||
- "PGSQL_SERVER=11.1-alpine"
|
||||
- "PGSQL_SERVER=11.2"
|
||||
- "PGSQL_SERVER=11.2-alpine"
|
||||
- "PGSQL_SERVER=11.3"
|
||||
- "PGSQL_SERVER=11.3-alpine"
|
||||
- "PGSQL_SERVER=11.4"
|
||||
- "PGSQL_SERVER=11.4-alpine"
|
||||
- "PGSQL_SERVER=11.5"
|
||||
- "PGSQL_SERVER=11.5-alpine"
|
||||
- "PGSQL_SERVER=11.6"
|
||||
- "PGSQL_SERVER=11.6-alpine"
|
||||
- "PGSQL_SERVER=11.7"
|
||||
- "PGSQL_SERVER=11.7-alpine"
|
||||
- "PGSQL_SERVER=11.8"
|
||||
- "PGSQL_SERVER=11.8-alpine"
|
||||
- "PGSQL_SERVER=11.9"
|
||||
- "PGSQL_SERVER=11.9-alpine"
|
||||
- "PGSQL_SERVER=12.0"
|
||||
- "PGSQL_SERVER=12.0-alpine"
|
||||
- "PGSQL_SERVER=12.1"
|
||||
- "PGSQL_SERVER=12.1-alpine"
|
||||
- "PGSQL_SERVER=12.2"
|
||||
- "PGSQL_SERVER=12.2-alpine"
|
||||
- "PGSQL_SERVER=12.3"
|
||||
- "PGSQL_SERVER=12.3-alpine"
|
||||
- "PGSQL_SERVER=13.0"
|
||||
- "PGSQL_SERVER=13.0-alpine"
|
||||
- "PGSQL_SERVER=latest"
|
||||
- "PGSQL_SERVER=alpine"
|
||||
|
||||
- "REDIS_SERVER=2.8"
|
||||
- "REDIS_SERVER=3.0"
|
||||
- "REDIS_SERVER=3.0-alpine"
|
||||
- "REDIS_SERVER=3.2"
|
||||
- "REDIS_SERVER=3.2-alpine"
|
||||
- "REDIS_SERVER=4.0"
|
||||
- "REDIS_SERVER=4.0-alpine"
|
||||
- "REDIS_SERVER=5.0"
|
||||
- "REDIS_SERVER=5.0-alpine"
|
||||
- "REDIS_SERVER=6.0"
|
||||
- "REDIS_SERVER=6.0-alpine"
|
||||
- "REDIS_SERVER=latest"
|
||||
- "REDIS_SERVER=alpine"
|
||||
|
||||
- "MEMCD_SERVER=1.4"
|
||||
- "MEMCD_SERVER=1.4-alpine"
|
||||
- "MEMCD_SERVER=1.5"
|
||||
- "MEMCD_SERVER=1.5-alpine"
|
||||
- "MEMCD_SERVER=1.6"
|
||||
- "MEMCD_SERVER=1.6-alpine"
|
||||
- "MEMCD_SERVER=latest"
|
||||
- "MEMCD_SERVER=alpine"
|
||||
|
||||
- "MONGO_SERVER=2.8"
|
||||
- "MONGO_SERVER=3.0"
|
||||
- "MONGO_SERVER=3.2"
|
||||
- "MONGO_SERVER=3.4"
|
||||
- "MONGO_SERVER=3.6"
|
||||
- "MONGO_SERVER=4.0"
|
||||
- "MONGO_SERVER=4.2"
|
||||
- "MONGO_SERVER=4.4"
|
||||
- "MONGO_SERVER=latest"
|
||||
name: "[${{ matrix.version }}]"
|
||||
steps:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Checkout repository
|
||||
# ------------------------------------------------------------
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Show environment
|
||||
shell: bash
|
||||
run: |
|
||||
env
|
||||
|
||||
- name: Show network
|
||||
shell: bash
|
||||
run: |
|
||||
netstat -an || true
|
||||
ss -tlun || true
|
||||
|
||||
- name: Show Docker version
|
||||
shell: bash
|
||||
run: |
|
||||
docker version
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Setup
|
||||
# ------------------------------------------------------------
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
# Set the matrix version
|
||||
make configure KEY="${VERSION//=*/}" VAL="${VERSION//*=}"
|
||||
# 3306 is taken, so chose another one
|
||||
make configure KEY=HOST_PORT_MYSQL VAL=3307
|
||||
env:
|
||||
VERSION: ${{ matrix.version }}
|
||||
|
||||
- name: Pull images
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make pull
|
||||
|
||||
- name: Startup
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make start
|
||||
|
||||
- name: Docker logs
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Run tests
|
||||
# ------------------------------------------------------------
|
||||
- name: Test Modules
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-modules
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Config
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-config
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Intranet
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-intranet
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vendors
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vendors
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vhosts
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-vhosts
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Reverse Proxy
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-rproxies
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test SSL
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-ssl
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Bind
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-bind
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Autostart
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-autostart
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: CakePHP"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-cakephp
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Drupal"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-drupal
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Wordpress"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make test-smoke-framework-wordpress
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Container"
|
||||
shell: bash
|
||||
run: |
|
||||
retry() {
|
||||
for n in $(seq 5); do
|
||||
echo "[${n}/5] ${*}";
|
||||
if eval "${*}"; then
|
||||
echo "[SUCC] ${n}/t";
|
||||
return 0;
|
||||
fi;
|
||||
sleep 5;
|
||||
echo "[FAIL] ${n}/5";
|
||||
done;
|
||||
return 1;
|
||||
}
|
||||
cd .tests/
|
||||
retry make test-smoke-container
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Finish
|
||||
# ------------------------------------------------------------
|
||||
|
||||
- name: "Finish: Docker logs"
|
||||
shell: bash
|
||||
run: |
|
||||
cd .tests/
|
||||
make logs
|
||||
if: success() || failure()
|
284
.github/workflows/zzz-reuse-tests.yml
vendored
Normal file
284
.github/workflows/zzz-reuse-tests.yml
vendored
Normal file
@ -0,0 +1,284 @@
|
||||
---
|
||||
name: Reusable worfklow for tests
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
###
|
||||
### Variables
|
||||
###
|
||||
inputs:
|
||||
matrix:
|
||||
description: 'The test matrix'
|
||||
required: true
|
||||
type: string
|
||||
custom_config:
|
||||
description: 'Apply customized .env configuration?'
|
||||
required: true
|
||||
type: boolean
|
||||
operating_system:
|
||||
description: 'The operating system to run on'
|
||||
required: true
|
||||
type: string
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# JOB: BUILD
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
test:
|
||||
runs-on: ${{ inputs.operating_system }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include: ${{ fromJson(inputs.matrix) }}
|
||||
steps:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Setup repository
|
||||
# ------------------------------------------------------------
|
||||
- name: "[SETUP] Checkout repository (current)"
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: "[DEBUG] Show Matrix configuration"
|
||||
shell: bash
|
||||
run: |
|
||||
echo '${{ toJson(matrix) }}' | jq -r
|
||||
|
||||
- name: "[DEBUG] Show env variables"
|
||||
shell: bash
|
||||
run: |
|
||||
env
|
||||
|
||||
- name: "[DEBUG] Show open network ports"
|
||||
shell: bash
|
||||
run: |
|
||||
netstat -an || true
|
||||
ss -tlun || true
|
||||
|
||||
- name: "[DEBUG] Show Docker version"
|
||||
shell: bash
|
||||
run: |
|
||||
docker version
|
||||
|
||||
- name: "[DEBUG] Show Docker Compose version"
|
||||
shell: bash
|
||||
run: |
|
||||
docker-compose version
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Configure
|
||||
# ------------------------------------------------------------
|
||||
- name: "[Configure] Configure customized configuration"
|
||||
shell: bash
|
||||
run: |
|
||||
cd "${GITHUB_WORKSPACE}/.tests/"
|
||||
|
||||
# Test full customization
|
||||
make configure KEY=DEBUG_COMPOSE_ENTRYPOINT VAL="$(( RANDOM % 3 ))"
|
||||
make configure KEY=DOCKER_LOGS VAL="$(( RANDOM % 1 ))"
|
||||
make configure KEY=TLD_SUFFIX VAL=loc2
|
||||
make configure KEY=TIMEZONE VAL='Europe/Berlin'
|
||||
make configure KEY=PHP_MODULES_DISABLE VAL=
|
||||
make configure KEY=HTTPD_TEMPLATE_DIR VAL=.config
|
||||
make configure KEY=HOST_PORT_HTTPD VAL=8080
|
||||
make configure KEY=HOST_PORT_HTTPD_SSL VAL=8443
|
||||
make configure KEY=MYSQL_ROOT_PASSWORD VAL=mysqlpass
|
||||
make configure KEY=PGSQL_ROOT_USER VAL=pgroot
|
||||
make configure KEY=PGSQL_ROOT_PASSWORD VAL=pgsqlpass
|
||||
make configure KEY=DEVILBOX_VENDOR_PHPMYADMIN_AUTOLOGIN VAL=0
|
||||
if: inputs.custom_config
|
||||
|
||||
- name: "[Configure] Configure versions"
|
||||
shell: bash
|
||||
run: |
|
||||
# (1/3) Change to .tests/ directory
|
||||
cd "${GITHUB_WORKSPACE}/.tests/"
|
||||
|
||||
# (2/3) Change MySQL port 3306 to 3307 (3306 is already taken)
|
||||
make configure KEY=HOST_PORT_MYSQL VAL=3307
|
||||
|
||||
# (3/3) Loop over configured values
|
||||
while IFS= read -r line; do
|
||||
KEY="${line}"
|
||||
VAL="$( echo '${{ toJson(matrix) }}' | jq -r ".${KEY}" | awk '{print $NF}' )"
|
||||
echo "KEY: ${KEY}"
|
||||
echo "VAL: ${VAL}"
|
||||
|
||||
# Set the matrix version
|
||||
make configure KEY="${KEY}" VAL="${VAL}"
|
||||
done <<< "$( echo '${{ toJson(matrix) }}' | jq -r 'keys[]' )"
|
||||
|
||||
- name: "[Configure] Show .env file"
|
||||
shell: bash
|
||||
run: |
|
||||
cat .env
|
||||
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Startup
|
||||
# ------------------------------------------------------------
|
||||
- name: "[Startup] Pull images"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make pull
|
||||
|
||||
- name: "[Startup] Start Devilbox"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make start
|
||||
|
||||
- name: "[Startup] Show Docker logs"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make logs
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Run tests
|
||||
# ------------------------------------------------------------
|
||||
- name: Test Modules
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-modules
|
||||
|
||||
- name: Test Config
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-config
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Intranet
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-intranet
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vendors
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-vendors
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Vhosts
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-vhosts
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Reverse Proxy
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-rproxies
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test SSL
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-ssl
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Bind
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-bind
|
||||
if: success() || failure()
|
||||
|
||||
- name: Test Autostart
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-autostart
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: CakePHP"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-framework-cakephp
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Drupal"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-framework-drupal
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Framework: Wordpress"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-framework-wordpress
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Test Container"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make test-smoke-container
|
||||
if: success() || failure()
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Finish
|
||||
# ------------------------------------------------------------
|
||||
- name: "Finish: Docker logs"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make logs
|
||||
if: success() || failure()
|
||||
|
||||
- name: "Finish: Shutdown"
|
||||
uses: cytopia/shell-command-retry-action@v0.1.3
|
||||
with:
|
||||
retries: 3
|
||||
workdir: "${{ github.workspace }}/.tests/"
|
||||
command: |
|
||||
make stop
|
||||
if: success() || failure()
|
@ -160,6 +160,7 @@ test-smoke-autostart:
|
||||
###
|
||||
test-smoke-framework-cakephp:
|
||||
$(PWD)/tests/framework-cakephp.sh
|
||||
$(PWD)/tests/framework-cakephp-php8.sh
|
||||
|
||||
test-smoke-framework-drupal:
|
||||
$(PWD)/tests/framework-drupal.sh
|
||||
|
@ -47,8 +47,7 @@ get_php_version() {
|
||||
# Check php -v
|
||||
>&2 printf "Fetching PHP version from php -v: "
|
||||
if ! cli_version="$( run "docker-compose exec -T php php -v \
|
||||
| head -1 \
|
||||
| grep -Eo 'PHP[[:space:]]+[0-9]+\\.[0-9]+' \
|
||||
| grep -Eo '^PHP[[:space:]]+[0-9]+\\.[0-9]+' \
|
||||
| grep -Eo '[0-9]+\\.[0-9]+'" \
|
||||
"${retries}" "${root_path}" "0" )"; then
|
||||
>&2 printf "FAILED\\n"
|
||||
@ -118,6 +117,52 @@ replace() {
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
### Print colorized OK message
|
||||
###
|
||||
print_succ() {
|
||||
local leading_nl="${1}"
|
||||
local trailing_nl="${2}"
|
||||
local message="${3}"
|
||||
|
||||
local green="\\033[0;32m"
|
||||
local reset="\\033[0m"
|
||||
|
||||
if [ "${leading_nl}" = "1" ] && [ "${trailing_nl}" = "1" ]; then
|
||||
printf "\\r${green}[OK]${reset} %s\\n" "${message}"
|
||||
elif [ "${leading_nl}" = "1" ]; then
|
||||
printf "\\r${green}[OK]${reset} %s" "${message}"
|
||||
elif [ "${trailing_nl}" = "1" ]; then
|
||||
printf "${green}[OK]${reset} %s\\n" "${message}"
|
||||
else
|
||||
printf "${green}[OK]${reset} %s" "${message}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
### Print colorized FAIL message
|
||||
###
|
||||
print_fail() {
|
||||
local leading_nl="${1}"
|
||||
local trailing_nl="${2}"
|
||||
local message="${3}"
|
||||
|
||||
local red="\\033[0;31m"
|
||||
local reset="\\033[0m"
|
||||
|
||||
if [ "${leading_nl}" = "1" ] && [ "${trailing_nl}" = "1" ]; then
|
||||
printf "\\r${red}[FAIL]${reset} %s\\n" "${message}"
|
||||
elif [ "${leading_nl}" = "1" ]; then
|
||||
printf "\\r${red}[FAIL]${reset} %s" "${message}"
|
||||
elif [ "${trailing_nl}" = "1" ]; then
|
||||
printf "${red}[FAIL]${reset} %s\\n" "${message}"
|
||||
else
|
||||
printf "${red}[FAIL]${reset} %s" "${message}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
### Run command
|
||||
###
|
||||
|
@ -53,7 +53,7 @@ until curl -sS -I --fail -o /dev/null -w "%{http_code}" "http://localhost:${HOST
|
||||
printf "."
|
||||
|
||||
i=$(( i + 1 ))
|
||||
if [ "${i}" -eq "60" ]; then
|
||||
if [ "${i}" -eq "120" ]; then
|
||||
printf "[FAIL]\\n\\n"
|
||||
echo "---- curl From host ----"
|
||||
curl -sS -v "http://localhost:${HOST_PORT_HTTPD}" || true
|
||||
@ -84,7 +84,7 @@ until curl -sS --fail "http://localhost:${HOST_PORT_HTTPD}" 2>/dev/null | grep '
|
||||
printf "."
|
||||
|
||||
i=$(( i + 1 ))
|
||||
if [ "${i}" -eq "60" ]; then
|
||||
if [ "${i}" -eq "120" ]; then
|
||||
printf "[FAIL]\\n"
|
||||
curl -sS -v "http://localhost:${HOST_PORT_HTTPD}"
|
||||
curl -sS -I "http://localhost:${HOST_PORT_HTTPD}"
|
||||
@ -120,7 +120,7 @@ until cd "${DVLBOX_PATH}" && docker-compose exec -T php mongofiles --host=mongo
|
||||
printf "."
|
||||
|
||||
i=$(( i + 1 ))
|
||||
if [ "${i}" -eq "60" ]; then
|
||||
if [ "${i}" -eq "120" ]; then
|
||||
printf "[FAIL]\\n"
|
||||
run "cd ${DVLBOX_PATH} && docker-compose exec -T php mongofiles --host=mongo list" || true
|
||||
run "cd ${DVLBOX_PATH} && docker-compose logs" || true
|
||||
@ -143,7 +143,7 @@ until cd "${DVLBOX_PATH}" && docker-compose exec -T php mysql --user=root --pass
|
||||
printf "."
|
||||
|
||||
i=$(( i + 1 ))
|
||||
if [ "${i}" -eq "60" ]; then
|
||||
if [ "${i}" -eq "120" ]; then
|
||||
printf "[FAIL]\\n"
|
||||
run "cd ${DVLBOX_PATH} && docker-compose exec -T php mysql --user=root --password=\"${MYSQL_ROOT_PASSWORD}\" --host=mysql -e 'show databases;'" || true
|
||||
run "cd ${DVLBOX_PATH} && docker-compose logs" || true
|
||||
@ -166,7 +166,7 @@ until cd "${DVLBOX_PATH}" && docker-compose exec -T php pg_isready --host=pgsql
|
||||
printf "."
|
||||
|
||||
i=$(( i + 1 ))
|
||||
if [ "${i}" -eq "60" ]; then
|
||||
if [ "${i}" -eq "120" ]; then
|
||||
printf "[FAIL]\\n"
|
||||
run "cd ${DVLBOX_PATH} && docker-compose exec -T php pg_isready --host=pgsql" || true
|
||||
run "cd ${DVLBOX_PATH} && docker-compose logs" || true
|
||||
|
95
.tests/tests/framework-cakephp-php8.sh
Executable file
95
.tests/tests/framework-cakephp-php8.sh
Executable file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# NOTE: Parsing curl to tac to circumnvent "failed writing body"
|
||||
# https://stackoverflow.com/questions/16703647/why-curl-return-and-error-23-failed-writing-body
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
SCRIPT_PATH="$( cd "$(dirname "$0")" && pwd -P )"
|
||||
DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )"
|
||||
# shellcheck disable=SC1090
|
||||
. "${SCRIPT_PATH}/../scripts/.lib.sh"
|
||||
|
||||
RETRIES=10
|
||||
# see framework-cakephp.sh for PHP <8 tests
|
||||
DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.2")
|
||||
|
||||
PHP_VERSION="$( get_php_version "${DVLBOX_PATH}" )"
|
||||
|
||||
###
|
||||
### What CakePHP Version?
|
||||
###
|
||||
CAKE_PHP_VERSION=4.3
|
||||
|
||||
|
||||
echo
|
||||
echo "# --------------------------------------------------------------------------------------------------"
|
||||
echo "# [Framework] CakePHP ${CAKE_PHP_VERSION}"
|
||||
echo "# --------------------------------------------------------------------------------------------------"
|
||||
echo
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Pre-check
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
if [[ ${DISABLED_VERSIONS[*]} =~ ${PHP_VERSION} ]]; then
|
||||
printf "[SKIP] Skipping all checks for PHP %s\\n" "${PHP_VERSION}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# ENTRYPOINT
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
###
|
||||
### Get required env values
|
||||
###
|
||||
MYSQL_ROOT_PASSWORD="$( "${SCRIPT_PATH}/../scripts/env-getvar.sh" "MYSQL_ROOT_PASSWORD" )"
|
||||
TLD_SUFFIX="$( "${SCRIPT_PATH}/../scripts/env-getvar.sh" "TLD_SUFFIX" )"
|
||||
VHOST="my-cakephp"
|
||||
|
||||
# Create vhost dir
|
||||
create_vhost_dir "${VHOST}"
|
||||
|
||||
|
||||
# Setup CakePHP project
|
||||
run "docker-compose exec --user devilbox -T php bash -c 'cd /shared/httpd/${VHOST}; composer create-project --no-interaction --prefer-dist cakephp/app:~${CAKE_PHP_VERSION} cakephp'" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
run "docker-compose exec --user devilbox -T php bash -c 'cd /shared/httpd/${VHOST}; ln -sf cakephp/webroot htdocs'" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
run "docker-compose exec --user devilbox -T php mysql -u root -h mysql --password=\"${MYSQL_ROOT_PASSWORD}\" -e \"DROP DATABASE IF EXISTS my_cake; CREATE DATABASE my_cake;\"" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
|
||||
# Configure CakePHP database settings
|
||||
run "docker-compose exec --user devilbox -T php sed -i\"\" \"s/'host' =>.*/'host' => 'mysql',/g\" /shared/httpd/${VHOST}/cakephp/config/app_local.php" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
run "docker-compose exec --user devilbox -T php sed -i\"\" \"s/'username' =>.*/'username' => 'root',/g\" /shared/httpd/${VHOST}/cakephp/config/app_local.php" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
run "docker-compose exec --user devilbox -T php sed -i\"\" \"s/'password' =>.*/'password' => '${MYSQL_ROOT_PASSWORD}',/g\" /shared/httpd/${VHOST}/cakephp/config/app_local.php" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
run "docker-compose exec --user devilbox -T php sed -i\"\" \"s/'database' =>.*/'database' => 'my_cake',/g\" /shared/httpd/${VHOST}/cakephp/config/app_local.php" "${RETRIES}" "${DVLBOX_PATH}"
|
||||
|
||||
# Test CakePHP
|
||||
ERROR=0
|
||||
if ! run "docker-compose exec --user devilbox -T php curl -sS --fail 'http://${VHOST}.${TLD_SUFFIX}' | tac | tac | grep '\"bullet success\"' | grep 'mbstring'" "${RETRIES}" "${DVLBOX_PATH}"; then
|
||||
ERROR=1
|
||||
fi
|
||||
if ! run "docker-compose exec --user devilbox -T php curl -sS --fail 'http://${VHOST}.${TLD_SUFFIX}' | tac | tac | grep '\"bullet success\"' | grep 'openssl'" "${RETRIES}" "${DVLBOX_PATH}"; then
|
||||
ERROR=1
|
||||
fi
|
||||
if ! run "docker-compose exec --user devilbox -T php curl -sS --fail 'http://${VHOST}.${TLD_SUFFIX}' | tac | tac | grep '\"bullet success\"' | grep 'intl'" "${RETRIES}" "${DVLBOX_PATH}"; then
|
||||
ERROR=1
|
||||
fi
|
||||
if ! run "docker-compose exec --user devilbox -T php curl -sS --fail 'http://${VHOST}.${TLD_SUFFIX}' | tac | tac | grep '\"bullet success\"' | grep 'tmp directory'" "${RETRIES}" "${DVLBOX_PATH}"; then
|
||||
ERROR=1
|
||||
fi
|
||||
if ! run "docker-compose exec --user devilbox -T php curl -sS --fail 'http://${VHOST}.${TLD_SUFFIX}' | tac | tac | grep '\"bullet success\"' | grep 'logs directory'" "${RETRIES}" "${DVLBOX_PATH}"; then
|
||||
ERROR=1
|
||||
fi
|
||||
if ! run "docker-compose exec --user devilbox -T php curl -sS --fail 'http://${VHOST}.${TLD_SUFFIX}' | tac | tac | grep '\"bullet success\"' | grep 'connect to the database'" "${RETRIES}" "${DVLBOX_PATH}"; then
|
||||
ERROR=1
|
||||
fi
|
||||
|
||||
if [ "${ERROR}" = "1" ]; then
|
||||
run "docker-compose exec --user devilbox -T php curl 'http://${VHOST}.${TLD_SUFFIX}' || true" "1" "${DVLBOX_PATH}"
|
||||
exit 1
|
||||
fi
|
@ -13,6 +13,7 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )"
|
||||
. "${SCRIPT_PATH}/../scripts/.lib.sh"
|
||||
|
||||
RETRIES=10
|
||||
# see framework-cakephp-php8.sh for PHP 8+ tests
|
||||
DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "8.0" "8.1" "8.2")
|
||||
|
||||
PHP_VERSION="$( get_php_version "${DVLBOX_PATH}" )"
|
||||
|
@ -60,11 +60,11 @@ if ! URL="$( run "\
|
||||
| tac \
|
||||
| grep -Eo '/vendor/phppgadmin-[.0-9]+/'" \
|
||||
"${RETRIES}" "" "0" )"; then
|
||||
printf "\\r[FAILED] Retrieve phpPgAdmin URL\\n"
|
||||
print_fail "1" "1" "Retrieve phpPgAdmin URL"
|
||||
run "curl -sS 'http://localhost:${HOST_PORT_HTTPD}/index.php' || true"
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] Retrieve phpPgAdmin URL: %s\\n" "${URL}"
|
||||
print_succ "1" "1" "Retrieve phpPgAdmin URL: ${URL}"
|
||||
fi
|
||||
|
||||
|
||||
@ -80,18 +80,18 @@ if ! curl -sS --fail "http://localhost:${HOST_PORT_HTTPD}${URL}intro.php" | tac
|
||||
# 3rd Try
|
||||
sleep 1
|
||||
if ! curl -sS --fail "http://localhost:${HOST_PORT_HTTPD}${URL}intro.php" | tac | tac | grep -Eiq "welcome to phpPgAdmin"; then
|
||||
printf "\\r[FAIL] Fetch %sintro.php\\n" "${URL}"
|
||||
print_fail "1" "1" "Fetch ${URL}intro.php"
|
||||
curl -sS "http://localhost:${HOST_PORT_HTTPD}${URL}intro.php" || true
|
||||
curl -sS -I "http://localhost:${HOST_PORT_HTTPD}${URL}intro.php" || true
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] Fetch %sintro.php (3 rounds)\\n" "${URL}"
|
||||
print_succ "1" "1" "Fetch ${URL}intro.php (3 rounds)"
|
||||
fi
|
||||
else
|
||||
printf "\\r[OK] Fetch %sintro.php (2 rounds)\\n" "${URL}"
|
||||
print_succ "1" "1" "Fetch ${URL}intro.php (2 rounds)"
|
||||
fi
|
||||
else
|
||||
printf "\\r[OK] Fetch %sintro.php (1 round)\\n" "${URL}"
|
||||
print_succ "1" "1" "Fetch ${URL}intro.php (1 round)"
|
||||
fi
|
||||
|
||||
|
||||
@ -106,46 +106,46 @@ LIBPATH="${DVLBOXPATH}/.devilbox/www/htdocs${URL%index\.php}libraries/lib.inc.ph
|
||||
|
||||
printf "[TEST] config.inc.php exists"
|
||||
if [ ! -f "${CONFIGPATH}" ]; then
|
||||
printf "\\r[FAIL] config.inc.php exists: no\\n"
|
||||
print_fail "1" "1" "config.inc.php exists: no"
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] config.inc.php exists: yes\\n"
|
||||
print_succ "1" "1" "config.inc.php exists: yes"
|
||||
fi
|
||||
|
||||
# $conf['servers'][0]['host'] = 'pgsql';
|
||||
printf "[TEST] config.inc.php check: \$conf['servers'][0]['host'] = 'pgsql';"
|
||||
if ! grep -E "^[[:space:]]*\\\$conf\\['servers'\\]\\[0\\]\\['host'\\][[:space:]]*=[[:space:]]*'pgsql';" "${CONFIGPATH}" >/dev/null; then
|
||||
printf "\\r[FAIL] config.inc.php check: \$conf['servers'][0]['host'] = 'pgsql';\\n"
|
||||
print_fail "1" "1" "config.inc.php check: \$conf['servers'][0]['host'] = 'pgsql';"
|
||||
if ! grep 'servers' "${CONFIGPATH}"; then
|
||||
cat "${CONFIGPATH}"
|
||||
fi
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] config.inc.php check: \$conf['servers'][0]['host'] = 'pgsql';\\n"
|
||||
print_succ "1" "1" "config.inc.php check: \$conf['servers'][0]['host'] = 'pgsql';"
|
||||
fi
|
||||
|
||||
# $conf['extra_login_security'] = false;
|
||||
printf "[TEST] config.inc.php check: \$conf['extra_login_security'] = false;"
|
||||
if ! grep -E "^[[:space:]]*\\\$conf\\['extra_login_security'\\][[:space:]]*=[[:space:]]*false;" "${CONFIGPATH}" >/dev/null; then
|
||||
printf "\\r[FAIL] config.inc.php check: \$conf['extra_login_security'] = false;\\n"
|
||||
print_fail "1" "1" "config.inc.php check: \$conf['extra_login_security'] = false;"
|
||||
if ! grep 'extra_login_security' "${CONFIGPATH}"; then
|
||||
cat "${CONFIGPATH}"
|
||||
fi
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] config.inc.php check: \$conf['extra_login_security'] = false;\\n"
|
||||
print_succ "1" "1" "config.inc.php check: \$conf['extra_login_security'] = false;"
|
||||
fi
|
||||
|
||||
# error_reporting(E_ERROR | E_WARNING | E_PARSE);
|
||||
printf "[TEST] lib.inc.php check: error_reporting(E_ERROR | E_WARNING | E_PARSE);"
|
||||
if ! grep -E "^[[:space:]]*error_reporting\\(E_ERROR[[:space:]]*\\|[[:space:]]*E_WARNING[[:space:]]*\\|[[:space:]]*E_PARSE\\);" "${LIBPATH}" >/dev/null; then
|
||||
printf "\\r[FAIL] lib.inc.php check: error_reporting(E_ERROR | E_WARNING | E_PARSE);\\n"
|
||||
print_fail "1" "1" "lib.inc.php check: error_reporting(E_ERROR | E_WARNING | E_PARSE);"
|
||||
if ! grep 'error_reporting' "${LIBPATH}"; then
|
||||
cat "${LIBPATH}"
|
||||
fi
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] lib.inc.php check: error_reporting(E_ERROR | E_WARNING | E_PARSE);\\n"
|
||||
print_succ "1" "1" "lib.inc.php check: error_reporting(E_ERROR | E_WARNING | E_PARSE);"
|
||||
fi
|
||||
|
||||
|
||||
@ -163,7 +163,7 @@ if [ "${DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN}" != "1" ]; then
|
||||
###
|
||||
printf "[TEST] Retrieve phpPgAdmin token page"
|
||||
if ! TOKEN_URL="$( run "curl -sS --fail -c cookie.txt 'http://localhost:${HOST_PORT_HTTPD}${URL}servers.php' | tac | tac | grep -Eo '\"redirect\\.php\\?subject=server.+\"' " "${RETRIES}" "" "0" )"; then
|
||||
printf "\\r[FAIL] Retrieve phpPgAdmin login page\\n"
|
||||
print_fail "1" "1" "Retrieve phpPgAdmin login page"
|
||||
run "curl -sS 'http://localhost:${HOST_PORT_HTTPD}${URL}servers.php' || true"
|
||||
run "curl -sSI 'http://localhost:${HOST_PORT_HTTPD}${URL}servers.php' || true"
|
||||
rm -f cookie.txt
|
||||
@ -171,7 +171,7 @@ if [ "${DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN}" != "1" ]; then
|
||||
else
|
||||
TOKEN_URL="${TOKEN_URL//\"/}"
|
||||
TOKEN_URL="${TOKEN_URL//&/&}"
|
||||
printf "\\r[OK] Retrieve phpPgAdmin token page:%s\\n" "${TOKEN_URL}"
|
||||
print_succ "1" "1" "Retrieve phpPgAdmin token page: ${TOKEN_URL}"
|
||||
fi
|
||||
|
||||
###
|
||||
@ -180,14 +180,14 @@ if [ "${DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN}" != "1" ]; then
|
||||
printf "[TEST] Retrieve phpPgAdmin login token"
|
||||
# 1st Try
|
||||
if ! TOKEN="$( run "curl -sS --fail -c cookie.txt -b cookie.txt 'http://localhost:${HOST_PORT_HTTPD}${URL}${TOKEN_URL}' | tac | tac | grep -Eo 'loginPassword_[a-zA-Z0-9]+'" "${RETRIES}" "" "0" )"; then
|
||||
printf "\\r[FAIL] Retrieve phpPgAdmin login token\\n"
|
||||
print_fail "1" "1" "Retrieve phpPgAdmin login token"
|
||||
run "curl -sS 'http://localhost:${TOKEN_URL_URL}' || true"
|
||||
run "curl -sSI 'http://localhost:${TOKEN_URL_URL}' || true"
|
||||
rm -f cookie.txt
|
||||
exit 1
|
||||
else
|
||||
TOKEN="$( echo "${TOKEN}" | head -1 )"
|
||||
printf "\\r[OK] Retrieve phpPgAdmin login token: %s\\n" "${TOKEN}"
|
||||
print_succ "1" "1" "Retrieve phpPgAdmin login token: ${TOKEN}"
|
||||
fi
|
||||
|
||||
###
|
||||
@ -204,7 +204,7 @@ if [ "${DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN}" != "1" ]; then
|
||||
--data 'loginSubmit=Login' \
|
||||
'http://localhost:${HOST_PORT_HTTPD}${URL}redirect.php' 2>/dev/null \
|
||||
| grep -q 'Create database'" "${RETRIES}" "" "0"; then
|
||||
printf "\\r[FAIL] Submit phpPgAdmin POST login\\n"
|
||||
print_fail "1" "1" "Submit phpPgAdmin POST login"
|
||||
run "curl -sS -c cookie.txt -b cookie.txt \
|
||||
--data 'subject=server' \
|
||||
--data 'server=pgsql%3A5432%3Aallow' \
|
||||
@ -224,7 +224,7 @@ if [ "${DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN}" != "1" ]; then
|
||||
rm -f cookie.txt || true
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] Submit phpPgAdmin POST login\\n"
|
||||
print_succ "1" "1" "Submit phpPgAdmin POST login"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -240,12 +240,12 @@ if [ "$( run "curl -sS --fail \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -Ec 'data\">(Database|Owner|Collation|Tablespace)'" "${RETRIES}" "" "0" )" != "4" ]; then
|
||||
printf "\\r[FAIL] Evaluate successful phpPgAdmin login\\n"
|
||||
print_fail "1" "1" "Evaluate successful phpPgAdmin login"
|
||||
run "curl -sS 'http://localhost:${HOST_PORT_HTTPD}${URL}redirect.php?subject=server&server=pgsql%3A5432%3Aallow&' || true"
|
||||
run "curl -sS -I 'http://localhost:${HOST_PORT_HTTPD}${URL}redirect.php?subject=server&server=pgsql%3A5432%3Aallow&' || true"
|
||||
rm -f cookie.txt || true
|
||||
exit 1
|
||||
else
|
||||
printf "\\r[OK] Evaluate successful phpPgAdmin login\\n"
|
||||
print_succ "1" "1" "Evaluate successful phpPgAdmin login"
|
||||
fi
|
||||
rm -f cookie.txt || true
|
||||
|
47
CHANGELOG.md
47
CHANGELOG.md
@ -6,6 +6,53 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl
|
||||
## Unreleased
|
||||
|
||||
|
||||
## Release v2.1.1 (2022-04-07)
|
||||
|
||||
#### Changed
|
||||
- Used tagged PHP images (auto-updating)instead early release branch one.
|
||||
|
||||
|
||||
## Release v2.1.0 (2022-04-05)
|
||||
|
||||
This is now a 100% `arm64` compatible release.
|
||||
|
||||
#### Fixed
|
||||
- Fixed imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
- Fixed missing `arm64` support: [#855](https://github.com/cytopia/devilbox/issues/855)
|
||||
|
||||
#### Added
|
||||
- Added PHP images with `arm64` support for PHP: https://github.com/devilbox/docker-php-fpm/releases/tag/0.138
|
||||
- Added `vips` to PHP 8.0
|
||||
- Added `vips` to PHP 8.1
|
||||
- Added `swoole` to PHP 8.1
|
||||
|
||||
#### Removed
|
||||
- Removed homebrew due to arm64 issues
|
||||
- Removed Ansible due to arm64 issues
|
||||
|
||||
|
||||
## Release v2.0.0 (2022-03-28)
|
||||
|
||||
The goal of this release is to reduce the overall size of Docker images and bring in latest versions.
|
||||
|
||||
**Important:** This release introduces backwards incompatible changes due to only keeping major versions of PostreSQL and therefore removing old volumes. Additionally the PostgreSQL volume names have changed. In order to guarantee a smooth transition, backup your PostgreSQL databases in the previous version before switching and then re-importing them in this version.
|
||||
|
||||
#### Added
|
||||
- Added CakePHP integration tests for PHP 8+
|
||||
- Added `.env` variable `HTTPD_FLAVOUR` to decide between `Debian` or `Alpine` for HTTP server
|
||||
|
||||
#### Changed
|
||||
- Changed default PostgreSQL server from `12.4` to `14-alpine` (breaking change)
|
||||
- Changed default Redis server from `6.0` to `6.2-alpine`
|
||||
- Changed default Memcached server from `1.6` to `1.6-alpine`
|
||||
- Changed default MongoDB server from `4.4` to `5.0`
|
||||
- Changed default HTTPD server flavour from `Debian` to `Alpine`
|
||||
- Use tiny Alpine version of Bind container
|
||||
|
||||
#### Removed
|
||||
- Removed CI for MongoDB `2.8` and MongoDB `3.0` due to segfault: https://github.com/docker-library/mongo/issues/251
|
||||
|
||||
|
||||
## Release v1.11.0 (2022-03-22)
|
||||
|
||||
#### Fixed
|
||||
|
37
README.md
37
README.md
@ -25,9 +25,16 @@
|
||||
[](https://devilbox.readthedocs.io)
|
||||
[](https://github.com/cytopia/devilbox/actions?workflow=Lint)
|
||||
[](https://github.com/cytopia/devilbox/actions?workflow=Docs)
|
||||
[](https://github.com/cytopia/devilbox/actions?workflow=Linux)
|
||||
[](https://github.com/cytopia/devilbox/actions?workflow=Config)
|
||||
[](https://github.com/cytopia/devilbox/actions?workflow=Versions)
|
||||
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-php.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-httpd.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-mysql.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-memcd.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-mongo.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-pgsql.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-redis.yml)
|
||||
|
||||
**Available Architectures:** `amd64`, `arm64`
|
||||
|
||||
<img width="200" style="width:200px;" src="docs/_includes/figures/https/https-ssl-address-bar.png" /><br/>
|
||||
<small><sub>Support for <a href="https://devilbox.readthedocs.io/en/latest/intermediate/setup-valid-https.html">valid https</a> out of the box.</sub></small>
|
||||
@ -304,7 +311,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td><a target="_blank" title="MariaDB 10.5" href="https://github.com/devilbox/docker-mysql">10.5</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 9.6" href="https://github.com/docker-library/postgres">9.6</a></td>
|
||||
<td><a target="_blank" title="Redis latest" href="https://github.com/docker-library/redis">latest</a></td>
|
||||
<td><a target="_blank" title="Redis 6.2" href="https://github.com/docker-library/redis">6.2</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MongoDB 4.2" href="https://github.com/docker-library/mongo">4.2</a></td>
|
||||
</tr>
|
||||
@ -315,8 +322,8 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.6" href="https://github.com/devilbox/docker-mysql">10.6</a></td>
|
||||
<td></td>
|
||||
<td>...</td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 10" href="https://github.com/docker-library/postgres">10</a></td>
|
||||
<td><a target="_blank" title="Redis latest" href="https://github.com/docker-library/redis">latest</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MongoDB 4.4" href="https://github.com/docker-library/mongo">4.4</a></td>
|
||||
</tr>
|
||||
@ -327,10 +334,10 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.7" href="https://github.com/devilbox/docker-mysql">10.7</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 12.3" href="https://github.com/docker-library/postgres">12.3</a></td>
|
||||
<td><a target="_blank" title="PgSQL 11" href="https://github.com/docker-library/postgres">11</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MongoDB latest" href="https://github.com/docker-library/mongo">latest</a></td>
|
||||
<td><a target="_blank" title="MongoDB 5.0" href="https://github.com/docker-library/mongo">5.0</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
@ -339,10 +346,10 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 12.4" href="https://github.com/docker-library/postgres">12.4</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 12" href="https://github.com/docker-library/postgres">12</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MongoDB latest" href="https://github.com/docker-library/mongo">latest</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
@ -351,7 +358,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 13.0" href="https://github.com/docker-library/postgres">13.0</a></td>
|
||||
<td><a target="_blank" title="PgSQL 13" href="https://github.com/docker-library/postgres">13</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -363,7 +370,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL latest" href="https://github.com/docker-library/postgres">latest</a></td>
|
||||
<td><a target="_blank" title="PgSQL 14" href="https://github.com/docker-library/postgres">14</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -375,7 +382,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL latest" href="https://github.com/docker-library/postgres">latest</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -815,7 +822,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>sqlsrv</sup> | | | | | | d | d | d | d | d | d | d | d |
|
||||
| <sup>ssh2</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
|
||||
| <sup>standard</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>swoole</sup> | | d | d | d | d | d | d | d | d | d | d | | |
|
||||
| <sup>swoole</sup> | | d | d | d | d | d | d | d | d | d | d | d | |
|
||||
| <sup>sysvmsg</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>sysvsem</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>sysvshm</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
@ -823,7 +830,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>tokenizer</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>uploadprogress</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>uuid</sup> | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>vips</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
|
||||
| <sup>vips</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | |
|
||||
| <sup>wddx</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | |
|
||||
| <sup>xdebug</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>xlswriter</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
|
@ -34,7 +34,7 @@ services:
|
||||
# Bind (DNS Server)
|
||||
# ------------------------------------------------------------
|
||||
bind:
|
||||
image: cytopia/bind:0.28
|
||||
image: cytopia/bind:alpine-0.28
|
||||
hostname: bind
|
||||
restart: always
|
||||
ports:
|
||||
@ -94,7 +94,7 @@ services:
|
||||
# PHP
|
||||
# ------------------------------------------------------------
|
||||
php:
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.136
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.139
|
||||
hostname: php
|
||||
|
||||
##
|
||||
@ -220,7 +220,7 @@ services:
|
||||
# Web Server
|
||||
# ------------------------------------------------------------
|
||||
httpd:
|
||||
image: devilbox/${HTTPD_SERVER}:0.43
|
||||
image: devilbox/${HTTPD_SERVER}:${HTTPD_FLAVOUR:-alpine}-0.47
|
||||
hostname: httpd
|
||||
|
||||
environment:
|
||||
@ -528,52 +528,16 @@ volumes:
|
||||
devilbox-pgsql-9.5-alpine:
|
||||
devilbox-pgsql-9.6:
|
||||
devilbox-pgsql-9.6-alpine:
|
||||
devilbox-pgsql-10.0:
|
||||
devilbox-pgsql-10.0-alpine:
|
||||
devilbox-pgsql-10.1:
|
||||
devilbox-pgsql-10.1-alpine:
|
||||
devilbox-pgsql-10.2:
|
||||
devilbox-pgsql-10.2-alpine:
|
||||
devilbox-pgsql-10.3:
|
||||
devilbox-pgsql-10.3-alpine:
|
||||
devilbox-pgsql-10.4:
|
||||
devilbox-pgsql-10.4-alpine:
|
||||
devilbox-pgsql-10.5:
|
||||
devilbox-pgsql-10.5-alpine:
|
||||
devilbox-pgsql-10.6:
|
||||
devilbox-pgsql-10.6-alpine:
|
||||
devilbox-pgsql-11.0:
|
||||
devilbox-pgsql-11.0-alpine:
|
||||
devilbox-pgsql-11.1:
|
||||
devilbox-pgsql-11.1-alpine:
|
||||
devilbox-pgsql-11.2:
|
||||
devilbox-pgsql-11.2-alpine:
|
||||
devilbox-pgsql-11.3:
|
||||
devilbox-pgsql-11.3-alpine:
|
||||
devilbox-pgsql-11.4:
|
||||
devilbox-pgsql-11.4-alpine:
|
||||
devilbox-pgsql-11.5:
|
||||
devilbox-pgsql-11.5-alpine:
|
||||
devilbox-pgsql-11.6:
|
||||
devilbox-pgsql-11.6-alpine:
|
||||
devilbox-pgsql-11.7:
|
||||
devilbox-pgsql-11.7-alpine:
|
||||
devilbox-pgsql-11.8:
|
||||
devilbox-pgsql-11.8-alpine:
|
||||
devilbox-pgsql-11.9:
|
||||
devilbox-pgsql-11.9-alpine:
|
||||
devilbox-pgsql-12.0:
|
||||
devilbox-pgsql-12.0-alpine:
|
||||
devilbox-pgsql-12.1:
|
||||
devilbox-pgsql-12.1-alpine:
|
||||
devilbox-pgsql-12.2:
|
||||
devilbox-pgsql-12.2-alpine:
|
||||
devilbox-pgsql-12.3:
|
||||
devilbox-pgsql-12.3-alpine:
|
||||
devilbox-pgsql-12.4:
|
||||
devilbox-pgsql-12.4-alpine:
|
||||
devilbox-pgsql-13.0:
|
||||
devilbox-pgsql-13.0-alpine:
|
||||
devilbox-pgsql-10:
|
||||
devilbox-pgsql-10-alpine:
|
||||
devilbox-pgsql-11:
|
||||
devilbox-pgsql-11-alpine:
|
||||
devilbox-pgsql-12:
|
||||
devilbox-pgsql-12-alpine:
|
||||
devilbox-pgsql-13:
|
||||
devilbox-pgsql-13-alpine:
|
||||
devilbox-pgsql-14:
|
||||
devilbox-pgsql-14-alpine:
|
||||
devilbox-pgsql-latest:
|
||||
devilbox-pgsql-alpine:
|
||||
|
||||
@ -588,4 +552,5 @@ volumes:
|
||||
devilbox-mongo-4.0:
|
||||
devilbox-mongo-4.2:
|
||||
devilbox-mongo-4.4:
|
||||
devilbox-mongo-5.0:
|
||||
devilbox-mongo-latest:
|
||||
|
@ -557,11 +557,11 @@ PHP_SERVER
|
||||
|
||||
This variable choses your desired PHP-FPM version to be started.
|
||||
|
||||
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+========================================================================================================================================================================================================================================================+=================+
|
||||
| ``PHP_SERVER`` | ``php-fpm-5.2`` |br| ``php-fpm-5.3`` |br| ``php-fpm-5.4`` |br| ``php-fpm-5.5`` |br| ``php-fpm-5.6`` |br| ``php-fpm-7.0`` |br| ``php-fpm-7.1`` |br| ``php-fpm-7.2`` |br| ``php-fpm-7.3`` |br| ``php-fpm-7.4`` |br| ``php-fpm-8.0`` |br| ``php-fpm-8.1`` | ``php-fpm-7.4`` |
|
||||
+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+=============================================================================================================================================================================================================================================================================+=================+
|
||||
| ``PHP_SERVER`` | ``php-fpm-5.2`` |br| ``php-fpm-5.3`` |br| ``php-fpm-5.4`` |br| ``php-fpm-5.5`` |br| ``php-fpm-5.6`` |br| ``php-fpm-7.0`` |br| ``php-fpm-7.1`` |br| ``php-fpm-7.2`` |br| ``php-fpm-7.3`` |br| ``php-fpm-7.4`` |br| ``php-fpm-8.0`` |br| ``php-fpm-8.1`` |br| ``php-fpm-8.2`` | ``php-fpm-8.1`` |
|
||||
+-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+
|
||||
|
||||
.. important::
|
||||
**PHP 5.2** is available to use, but it is not officially supported. The Devilbox intranet does
|
||||
@ -574,7 +574,7 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 9
|
||||
:emphasize-lines: 14
|
||||
|
||||
host> grep PHP_SERVER .env
|
||||
|
||||
@ -587,9 +587,10 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#PHP_SERVER=php-fpm-7.1
|
||||
#PHP_SERVER=php-fpm-7.2
|
||||
#PHP_SERVER=php-fpm-7.3
|
||||
PHP_SERVER=php-fpm-7.4
|
||||
#PHP_SERVER=php-fpm-7.4
|
||||
#PHP_SERVER=php-fpm-8.0
|
||||
#PHP_SERVER=php-fpm-8.1
|
||||
PHP_SERVER=php-fpm-8.1
|
||||
#PHP_SERVER=php-fpm-8.2
|
||||
|
||||
|
||||
.. _env_httpd_server:
|
||||
@ -629,14 +630,14 @@ This variable choses your desired MySQL server version to be started.
|
||||
+-------------------------+------------------------------------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+================================================================================================+==================+
|
||||
| ``MYSQL_SERVER`` | ``mysql-5.5`` |br| ``mysql-5.6`` |br| ``mariadb-10.2`` |br| ``percona-5.7`` |br| and many more | ``mariadb-10.5`` |
|
||||
| ``MYSQL_SERVER`` | ``mysql-5.5`` |br| ``mysql-5.6`` |br| ``mariadb-10.2`` |br| ``percona-5.7`` |br| and many more | ``mariadb-10.6`` |
|
||||
+-------------------------+------------------------------------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 9
|
||||
:emphasize-lines: 18
|
||||
|
||||
host> grep MYSQL_SERVER .env
|
||||
|
||||
@ -644,17 +645,20 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#MYSQL_SERVER=mysql-5.6
|
||||
#MYSQL_SERVER=mysql-5.7
|
||||
#MYSQL_SERVER=mysql-8.0
|
||||
#MYSQL_SERVER=percona-5.5
|
||||
#MYSQL_SERVER=percona-5.6
|
||||
#MYSQL_SERVER=percona-5.7
|
||||
#MYSQL_SERVER=percona-8.0
|
||||
#MYSQL_SERVER=mariadb-5.5
|
||||
#MYSQL_SERVER=mariadb-10.0
|
||||
#MYSQL_SERVER=mariadb-10.1
|
||||
#MYSQL_SERVER=mariadb-10.2
|
||||
#MYSQL_SERVER=mariadb-10.3
|
||||
#MYSQL_SERVER=mariadb-10.4
|
||||
MYSQL_SERVER=mariadb-10.5
|
||||
#MYSQL_SERVER=percona-5.5
|
||||
#MYSQL_SERVER=percona-5.6
|
||||
#MYSQL_SERVER=percona-5.7
|
||||
#MYSQL_SERVER=percona-8.0
|
||||
#MYSQL_SERVER=mariadb-10.5
|
||||
MYSQL_SERVER=mariadb-10.6
|
||||
#MYSQL_SERVER=mariadb-10.7
|
||||
#MYSQL_SERVER=mariadb-10.8
|
||||
|
||||
|
||||
.. _env_pgsql_server:
|
||||
@ -667,14 +671,14 @@ This variable choses your desired PostgreSQL server version to be started.
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================================================================+==================+
|
||||
| ``PGSQL_SERVER`` | ``9.1`` |br| ``9.2`` |br| ``9.3`` |br| ``9.4`` |br| and many more | ``12.4`` |
|
||||
| ``PGSQL_SERVER`` | ``9.1`` |br| ``9.2`` |br| ``9.3`` |br| ``9.4`` |br| and many more | ``14-alpine`` |
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 8
|
||||
:emphasize-lines: 24
|
||||
|
||||
host> grep PGSQL_SERVER .env
|
||||
|
||||
@ -690,52 +694,16 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#PGSQL_SERVER=9.5-alpine
|
||||
#PGSQL_SERVER=9.6
|
||||
#PGSQL_SERVER=9.6-alpine
|
||||
#PGSQL_SERVER=10.0
|
||||
#PGSQL_SERVER=10.0-alpine
|
||||
#PGSQL_SERVER=10.1
|
||||
#PGSQL_SERVER=10.1-alpine
|
||||
#PGSQL_SERVER=10.2
|
||||
#PGSQL_SERVER=10.2-alpine
|
||||
#PGSQL_SERVER=10.3
|
||||
#PGSQL_SERVER=10.3-alpine
|
||||
#PGSQL_SERVER=10.4
|
||||
#PGSQL_SERVER=10.4-alpine
|
||||
#PGSQL_SERVER=10.5
|
||||
#PGSQL_SERVER=10.5-alpine
|
||||
#PGSQL_SERVER=10.6
|
||||
#PGSQL_SERVER=10.6-alpine
|
||||
#PGSQL_SERVER=11.0
|
||||
#PGSQL_SERVER=11.0-alpine
|
||||
#PGSQL_SERVER=11.1
|
||||
#PGSQL_SERVER=11.1-alpine
|
||||
#PGSQL_SERVER=11.2
|
||||
#PGSQL_SERVER=11.2-alpine
|
||||
#PGSQL_SERVER=11.3
|
||||
#PGSQL_SERVER=11.3-alpine
|
||||
#PGSQL_SERVER=11.4
|
||||
#PGSQL_SERVER=11.4-alpine
|
||||
#PGSQL_SERVER=11.5
|
||||
#PGSQL_SERVER=11.5-alpine
|
||||
#PGSQL_SERVER=11.6
|
||||
#PGSQL_SERVER=11.6-alpine
|
||||
#PGSQL_SERVER=11.7
|
||||
#PGSQL_SERVER=11.7-alpine
|
||||
#PGSQL_SERVER=11.8
|
||||
#PGSQL_SERVER=11.8-alpine
|
||||
#PGSQL_SERVER=11.9
|
||||
#PGSQL_SERVER=11.9-alpine
|
||||
#PGSQL_SERVER=12.0
|
||||
#PGSQL_SERVER=12.0-alpine
|
||||
#PGSQL_SERVER=12.1
|
||||
#PGSQL_SERVER=12.1-alpine
|
||||
#PGSQL_SERVER=12.2
|
||||
#PGSQL_SERVER=12.2-alpine
|
||||
#PGSQL_SERVER=12.3
|
||||
#PGSQL_SERVER=12.3-alpine
|
||||
PGSQL_SERVER=12.4
|
||||
#PGSQL_SERVER=12.4-alpine
|
||||
#PGSQL_SERVER=13.0
|
||||
#PGSQL_SERVER=13.0-alpine
|
||||
#PGSQL_SERVER=10
|
||||
#PGSQL_SERVER=10-alpine
|
||||
#PGSQL_SERVER=11
|
||||
#PGSQL_SERVER=11-alpine
|
||||
#PGSQL_SERVER=12
|
||||
#PGSQL_SERVER=12-alpine
|
||||
#PGSQL_SERVER=13
|
||||
#PGSQL_SERVER=13-alpine
|
||||
#PGSQL_SERVER=14
|
||||
PGSQL_SERVER=14-alpine
|
||||
#PGSQL_SERVER=latest
|
||||
#PGSQL_SERVER=alpine
|
||||
|
||||
@ -755,14 +723,14 @@ This variable choses your desired Redis server version to be started.
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================================================================+==================+
|
||||
| ``REDIS_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``4.0`` |br| and many more | ``6.0`` |
|
||||
| ``REDIS_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``4.0`` |br| and many more | ``6.2-alpine`` |
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 6
|
||||
:emphasize-lines: 15
|
||||
|
||||
host> grep REDIS_SERVER .env
|
||||
|
||||
@ -775,8 +743,10 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#REDIS_SERVER=4.0-alpine
|
||||
#REDIS_SERVER=5.0
|
||||
#REDIS_SERVER=5.0-alpine
|
||||
REDIS_SERVER=6.0
|
||||
#REDIS_SERVER=6.0
|
||||
#REDIS_SERVER=6.0-alpine
|
||||
#REDIS_SERVER=6.2
|
||||
REDIS_SERVER=6.2-alpine
|
||||
#REDIS_SERVER=latest
|
||||
#REDIS_SERVER=alpine
|
||||
|
||||
@ -796,14 +766,14 @@ This variable choses your desired Memcached server version to be started.
|
||||
+-------------------------+---------------------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+=================================================================================+==================+
|
||||
| ``MEMCD_SERVER`` | ``1.4`` |br| ``1.4-alpine`` |br| ``1.5`` |br| ``1.5-alpine`` |br| and many more | ``1.6`` |
|
||||
| ``MEMCD_SERVER`` | ``1.4`` |br| ``1.4-alpine`` |br| ``1.5`` |br| ``1.5-alpine`` |br| and many more | ``1.6-alpine`` |
|
||||
+-------------------------+---------------------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 5
|
||||
:emphasize-lines: 8
|
||||
|
||||
host> grep MEMCD_SERVER .env
|
||||
|
||||
@ -811,8 +781,8 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#MEMCD_SERVER=1.4-alpine
|
||||
#MEMCD_SERVER=1.5
|
||||
#MEMCD_SERVER=1.5-alpine
|
||||
MEMCD_SERVER=1.6
|
||||
#MEMCD_SERVER=1.6-alpine
|
||||
#MEMCD_SERVER=1.6
|
||||
MEMCD_SERVER=1.6-alpine
|
||||
#MEMCD_SERVER=latest
|
||||
#MEMCD_SERVER=alpine
|
||||
|
||||
@ -832,14 +802,14 @@ This variable choses your desired MongoDB server version to be started.
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================================================================+==================+
|
||||
| ``MONGO_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``3.4`` |br| and many more | ``4.4`` |
|
||||
| ``MONGO_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``3.4`` |br| and many more | ``5.0`` |
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 6
|
||||
:emphasize-lines: 11
|
||||
|
||||
host> grep MONGO_SERVER .env
|
||||
|
||||
@ -850,7 +820,8 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#MONGO_SERVER=3.6
|
||||
#MONGO_SERVER=4.0
|
||||
#MONGO_SERVER=4.2
|
||||
MONGO_SERVER=4.4
|
||||
#MONGO_SERVER=4.4
|
||||
MONGO_SERVER=5.0
|
||||
#MONGO_SERVER=latest
|
||||
|
||||
.. note::
|
||||
|
@ -72,25 +72,32 @@ You will need to configure the path mapping in ``launch.json`` (VSCode configura
|
||||
:emphasize-lines: 5,9,10
|
||||
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Xdebug for Project mytest",
|
||||
"type": "php",
|
||||
"request": "launch",
|
||||
"port": 9000,
|
||||
"pathMappings": {
|
||||
"/shared/httpd/mytest/htdocs": "${workspaceFolder}/htdocs"
|
||||
}
|
||||
}, {
|
||||
"name": "Launch currently open script",
|
||||
"type": "php",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"cwd": "${fileDirname}",
|
||||
"port": 9000
|
||||
}
|
||||
]
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Xdebug for Project mytest",
|
||||
"type": "php",
|
||||
"request": "launch",
|
||||
"port": 9000,
|
||||
"pathMappings": {
|
||||
"/shared/httpd/mytest/htdocs": "${workspaceFolder}/htdocs"
|
||||
},
|
||||
"log": true,
|
||||
"xdebugSettings": {
|
||||
"max_children": 128,
|
||||
"max_data": 512,
|
||||
"max_depth": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Launch currently open script",
|
||||
"type": "php",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"cwd": "${fileDirname}",
|
||||
"port": 9000
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
.. important::
|
||||
@ -106,7 +113,7 @@ You will need to configure the path mapping in ``launch.json`` (VSCode configura
|
||||
Configure php.ini
|
||||
-----------------
|
||||
|
||||
.. note:: The following example show how to configure PHP Xdebug for PHP 5.6:
|
||||
.. note:: The following example show how to configure PHP Xdebug for PHP 7.4:
|
||||
|
||||
Create an ``xdebug.ini`` file (must end by ``.ini``):
|
||||
|
||||
@ -115,8 +122,8 @@ Create an ``xdebug.ini`` file (must end by ``.ini``):
|
||||
# Navigate to the Devilbox git directory
|
||||
host> cd path/to/devilbox
|
||||
|
||||
# Navigate to PHP 5.6 ini configuration directory
|
||||
host> cd cfg/php-ini-5.6/
|
||||
# Navigate to PHP 7.4 ini configuration directory
|
||||
host> cd cfg/php-ini-7.4/
|
||||
|
||||
# Create and open debug.ini file
|
||||
host> vi xdebug.ini
|
||||
@ -128,19 +135,19 @@ Copy/paste all of the following lines into the above created ``xdebug.ini`` file
|
||||
:emphasize-lines: 7,10
|
||||
|
||||
; Defaults
|
||||
xdebug.default_enable=1
|
||||
xdebug.remote_enable=1
|
||||
xdebug.remote_port=9000
|
||||
zend_extension=xdebug.so
|
||||
xdebug.mode=debug
|
||||
xdebug.client_port=9000
|
||||
xdebug.client_host=docker.for.lin.host.internal
|
||||
xdebug.remote_handler=dbgp
|
||||
xdebug.start_with_request=yes
|
||||
|
||||
; The Linux way
|
||||
xdebug.remote_connect_back=1
|
||||
; Controls the protection mechanism for infinite recursion protection
|
||||
xdebug.max_nesting_level=250
|
||||
|
||||
; idekey value is specific to Visual Studio Code
|
||||
xdebug.idekey=VSCODE
|
||||
|
||||
; Optional: Set to true to always auto-start xdebug
|
||||
xdebug.remote_autostart=true
|
||||
|
||||
.. note:: Host os and editor specific settings are highlighted in yellow and are worth googling to get a better understanding of the tools you use and to be more efficient at troubleshooting.
|
||||
|
||||
|
||||
|
@ -379,6 +379,13 @@ to read-only by applying the following ``chmod`` command.
|
||||
* :ref:`my_cnf`
|
||||
* https://github.com/cytopia/devilbox/issues/212
|
||||
|
||||
[MariaDB] Assertion failure when executing prepared statement with ? in IN list
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Some MariaDB versions are affected by MDEV-27937 bug, use a fixed version or set in_predicate_conversion_threshold variable to a higher value.
|
||||
|
||||
.. seealso:: https://jira.mariadb.org/browse/MDEV-27937
|
||||
|
||||
|
||||
Docker Toolbox
|
||||
==============
|
||||
|
121
env-example
121
env-example
@ -273,6 +273,12 @@ PHP_SERVER=8.1
|
||||
###
|
||||
### 1.2 Choose HTTPD Server Image
|
||||
###
|
||||
### Choose between 'debian' or 'alpine' flavour and then select the version
|
||||
###
|
||||
### Note: apache-2.2 has no arm64 support on 'alpine' flavour
|
||||
###
|
||||
HTTPD_FLAVOUR=alpine
|
||||
|
||||
#HTTPD_SERVER=apache-2.2
|
||||
#HTTPD_SERVER=apache-2.4
|
||||
HTTPD_SERVER=nginx-stable
|
||||
@ -286,6 +292,10 @@ HTTPD_SERVER=nginx-stable
|
||||
#MYSQL_SERVER=mysql-5.6
|
||||
#MYSQL_SERVER=mysql-5.7
|
||||
#MYSQL_SERVER=mysql-8.0
|
||||
#MYSQL_SERVER=percona-5.5
|
||||
#MYSQL_SERVER=percona-5.6
|
||||
#MYSQL_SERVER=percona-5.7
|
||||
#MYSQL_SERVER=percona-8.0
|
||||
#MYSQL_SERVER=mariadb-5.5
|
||||
#MYSQL_SERVER=mariadb-10.0
|
||||
#MYSQL_SERVER=mariadb-10.1
|
||||
@ -296,22 +306,26 @@ HTTPD_SERVER=nginx-stable
|
||||
MYSQL_SERVER=mariadb-10.6
|
||||
#MYSQL_SERVER=mariadb-10.7
|
||||
#MYSQL_SERVER=mariadb-10.8
|
||||
#MYSQL_SERVER=percona-5.5
|
||||
#MYSQL_SERVER=percona-5.6
|
||||
#MYSQL_SERVER=percona-5.7
|
||||
#MYSQL_SERVER=percona-8.0
|
||||
|
||||
|
||||
###
|
||||
### 1.4 Choose PostgreSQL Server Image
|
||||
###
|
||||
### https://www.postgresql.org/support/versioning/
|
||||
###
|
||||
### IMPORTANT: Alpine based images might cause issues on Docker Toolbox or OSX
|
||||
### https://github.com/docker/toolbox/issues/510
|
||||
###
|
||||
#
|
||||
# PostgreSQL without arm64 support
|
||||
#
|
||||
#PGSQL_SERVER=9.0
|
||||
#PGSQL_SERVER=9.1
|
||||
#PGSQL_SERVER=9.2
|
||||
#PGSQL_SERVER=9.2-alpine
|
||||
#
|
||||
# PostgreSQL with arm64 support
|
||||
#
|
||||
#PGSQL_SERVER=9.2
|
||||
#PGSQL_SERVER=9.3
|
||||
#PGSQL_SERVER=9.3-alpine
|
||||
#PGSQL_SERVER=9.4
|
||||
@ -320,62 +334,16 @@ MYSQL_SERVER=mariadb-10.6
|
||||
#PGSQL_SERVER=9.5-alpine
|
||||
#PGSQL_SERVER=9.6
|
||||
#PGSQL_SERVER=9.6-alpine
|
||||
#PGSQL_SERVER=10.0
|
||||
#PGSQL_SERVER=10.0-alpine
|
||||
#PGSQL_SERVER=10.1
|
||||
#PGSQL_SERVER=10.1-alpine
|
||||
#PGSQL_SERVER=10.2
|
||||
#PGSQL_SERVER=10.2-alpine
|
||||
#PGSQL_SERVER=10.3
|
||||
#PGSQL_SERVER=10.3-alpine
|
||||
#PGSQL_SERVER=10.4
|
||||
#PGSQL_SERVER=10.4-alpine
|
||||
#PGSQL_SERVER=10.5
|
||||
#PGSQL_SERVER=10.5-alpine
|
||||
#PGSQL_SERVER=10.6
|
||||
#PGSQL_SERVER=10.6-alpine
|
||||
#PGSQL_SERVER=10.7
|
||||
#PGSQL_SERVER=10.7-alpine
|
||||
#PGSQL_SERVER=10.8
|
||||
#PGSQL_SERVER=10.8-alpine
|
||||
#PGSQL_SERVER=10.9
|
||||
#PGSQL_SERVER=10.9-alpine
|
||||
#PGSQL_SERVER=10.10
|
||||
#PGSQL_SERVER=10.10-alpine
|
||||
#PGSQL_SERVER=10.11
|
||||
#PGSQL_SERVER=10.11-alpine
|
||||
#PGSQL_SERVER=11.0
|
||||
#PGSQL_SERVER=11.0-alpine
|
||||
#PGSQL_SERVER=11.1
|
||||
#PGSQL_SERVER=11.1-alpine
|
||||
#PGSQL_SERVER=11.2
|
||||
#PGSQL_SERVER=11.2-alpine
|
||||
#PGSQL_SERVER=11.3
|
||||
#PGSQL_SERVER=11.3-alpine
|
||||
#PGSQL_SERVER=11.4
|
||||
#PGSQL_SERVER=11.4-alpine
|
||||
#PGSQL_SERVER=11.5
|
||||
#PGSQL_SERVER=11.5-alpine
|
||||
#PGSQL_SERVER=11.6
|
||||
#PGSQL_SERVER=11.6-alpine
|
||||
#PGSQL_SERVER=11.7
|
||||
#PGSQL_SERVER=11.7-alpine
|
||||
#PGSQL_SERVER=11.8
|
||||
#PGSQL_SERVER=11.8-alpine
|
||||
#PGSQL_SERVER=11.9
|
||||
#PGSQL_SERVER=11.9-alpine
|
||||
#PGSQL_SERVER=12.0
|
||||
#PGSQL_SERVER=12.0-alpine
|
||||
#PGSQL_SERVER=12.1
|
||||
#PGSQL_SERVER=12.1-alpine
|
||||
#PGSQL_SERVER=12.2
|
||||
#PGSQL_SERVER=12.2-alpine
|
||||
#PGSQL_SERVER=12.3
|
||||
#PGSQL_SERVER=12.3-alpine
|
||||
PGSQL_SERVER=12.4
|
||||
#PGSQL_SERVER=12.4-alpine
|
||||
#PGSQL_SERVER=13.0
|
||||
#PGSQL_SERVER=13.0-alpine
|
||||
#PGSQL_SERVER=10
|
||||
#PGSQL_SERVER=10-alpine
|
||||
#PGSQL_SERVER=11
|
||||
#PGSQL_SERVER=11-alpine
|
||||
#PGSQL_SERVER=12
|
||||
#PGSQL_SERVER=12-alpine
|
||||
#PGSQL_SERVER=13
|
||||
#PGSQL_SERVER=13-alpine
|
||||
#PGSQL_SERVER=14
|
||||
PGSQL_SERVER=14-alpine
|
||||
#PGSQL_SERVER=latest
|
||||
#PGSQL_SERVER=alpine
|
||||
|
||||
@ -386,17 +354,25 @@ PGSQL_SERVER=12.4
|
||||
### IMPORTANT: Alpine based images might cause issues on Docker Toolbox or OSX
|
||||
### https://github.com/docker/toolbox/issues/510
|
||||
###
|
||||
#
|
||||
# Redis without arm64 support
|
||||
#
|
||||
#REDIS_SERVER=2.8
|
||||
#REDIS_SERVER=3.0
|
||||
#REDIS_SERVER=3.0-alpine
|
||||
#
|
||||
# Redis with arm64 support
|
||||
#
|
||||
#REDIS_SERVER=3.2
|
||||
#REDIS_SERVER=3.2-alpine
|
||||
#REDIS_SERVER=4.0
|
||||
#REDIS_SERVER=4.0-alpine
|
||||
#REDIS_SERVER=5.0
|
||||
#REDIS_SERVER=5.0-alpine
|
||||
REDIS_SERVER=6.0
|
||||
#REDIS_SERVER=6.0
|
||||
#REDIS_SERVER=6.0-alpine
|
||||
#REDIS_SERVER=6.2
|
||||
REDIS_SERVER=6.2-alpine
|
||||
#REDIS_SERVER=latest
|
||||
#REDIS_SERVER=alpine
|
||||
|
||||
@ -407,12 +383,18 @@ REDIS_SERVER=6.0
|
||||
### IMPORTANT: Alpine based images might cause issues on Docker Toolbox or OSX
|
||||
### https://github.com/docker/toolbox/issues/510
|
||||
###
|
||||
#
|
||||
# Memcached without arm64 support
|
||||
#
|
||||
#MEMCD_SERVER=1.4
|
||||
#MEMCD_SERVER=1.4-alpine
|
||||
#
|
||||
# Memcached with arm64 support
|
||||
#
|
||||
#MEMCD_SERVER=1.5
|
||||
#MEMCD_SERVER=1.5-alpine
|
||||
MEMCD_SERVER=1.6
|
||||
#MEMCD_SERVER=1.6-alpine
|
||||
#MEMCD_SERVER=1.6
|
||||
MEMCD_SERVER=1.6-alpine
|
||||
#MEMCD_SERVER=latest
|
||||
#MEMCD_SERVER=alpine
|
||||
|
||||
@ -420,14 +402,23 @@ MEMCD_SERVER=1.6
|
||||
###
|
||||
### 1.7 Choose Mongo Server Image
|
||||
###
|
||||
### https://www.mongodb.com/evolved
|
||||
###
|
||||
#
|
||||
# MongoDB without arm64 support
|
||||
#
|
||||
#MONGO_SERVER=2.8
|
||||
#MONGO_SERVER=3.0
|
||||
#MONGO_SERVER=3.2
|
||||
#
|
||||
# MongoDB with arm64 support
|
||||
#
|
||||
#MONGO_SERVER=3.4
|
||||
#MONGO_SERVER=3.6
|
||||
#MONGO_SERVER=4.0
|
||||
#MONGO_SERVER=4.2
|
||||
MONGO_SERVER=4.4
|
||||
#MONGO_SERVER=4.4
|
||||
MONGO_SERVER=5.0
|
||||
#MONGO_SERVER=latest
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user