Added .env variable HTTPD_FLAVOUR to decide between Debian or Alpine for HTTP server

This commit is contained in:
cytopia 2022-03-28 00:11:15 +02:00
parent 8e8991896a
commit 7799740525
No known key found for this signature in database
GPG Key ID: 6D56EDB8695128A2
17 changed files with 133 additions and 11 deletions

59
.github/workflows/params-httpd.yml vendored Normal file
View 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

53
.github/workflows/test-httpd.yml vendored Normal file
View File

@ -0,0 +1,53 @@
---
# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: Httpd
# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
# Runs on Pull Requests
pull_request:
# Runs on master Branch and Tags
push:
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

View File

@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
uses: ./.github/workflows/params-version-memcd.yml
uses: ./.github/workflows/params-memcd.yml
# -----------------------------------------------------------------------------------------------

View File

@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
uses: ./.github/workflows/params-version-mongo.yml
uses: ./.github/workflows/params-mongo.yml
# -----------------------------------------------------------------------------------------------

View File

@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
uses: ./.github/workflows/params-version-mysql.yml
uses: ./.github/workflows/params-mysql.yml
# -----------------------------------------------------------------------------------------------

View File

@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
uses: ./.github/workflows/params-version-pgsql.yml
uses: ./.github/workflows/params-pgsql.yml
# -----------------------------------------------------------------------------------------------

View File

@ -40,6 +40,7 @@ jobs:
custom_config: false
operating_system: ubuntu-latest
# -----------------------------------------------------------------------------------------------
# (3/3) Test with customizedt settings
# -----------------------------------------------------------------------------------------------

View File

@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
uses: ./.github/workflows/params-version-redis.yml
uses: ./.github/workflows/params-redis.yml
# -----------------------------------------------------------------------------------------------

View File

@ -14,12 +14,14 @@ The goal of this release is to reduce the overall size of Docker images and brin
#### 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

View File

@ -27,11 +27,12 @@
[![Build Status](https://github.com/cytopia/devilbox/workflows/Docs/badge.svg)](https://github.com/cytopia/devilbox/actions?workflow=Docs)
[![PHP](https://github.com/cytopia/devilbox/actions/workflows/test-php.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-php.yml)
[![MySQL](https://github.com/cytopia/devilbox/actions/workflows/test-version-mysql.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-version-mysql.yml)
[![Memcd](https://github.com/cytopia/devilbox/actions/workflows/test-version-memcd.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-version-memcd.yml)
[![Mongo](https://github.com/cytopia/devilbox/actions/workflows/test-version-mongo.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-version-mongo.yml)
[![PgSQL](https://github.com/cytopia/devilbox/actions/workflows/test-version-pgsql.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-version-pgsql.yml)
[![Redis](https://github.com/cytopia/devilbox/actions/workflows/test-version-redis.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-version-redis.yml)
[![Httpd](https://github.com/cytopia/devilbox/actions/workflows/test-httpd.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-httpd.yml)
[![MySQL](https://github.com/cytopia/devilbox/actions/workflows/test-mysql.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-mysql.yml)
[![Memcd](https://github.com/cytopia/devilbox/actions/workflows/test-memcd.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-memcd.yml)
[![Mongo](https://github.com/cytopia/devilbox/actions/workflows/test-mongo.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-mongo.yml)
[![PgSQL](https://github.com/cytopia/devilbox/actions/workflows/test-pgsql.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-pgsql.yml)
[![Redis](https://github.com/cytopia/devilbox/actions/workflows/test-redis.yml/badge.svg)](https://github.com/cytopia/devilbox/actions/workflows/test-redis.yml)
<img width="200" style="width:200px;" src="docs/_includes/figures/https/https-ssl-address-bar.png" /><br/>

View File

@ -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:

View File

@ -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