mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-01 23:20:57 +00:00
Reorganize integration tests
This commit is contained in:
parent
71c73f7fb3
commit
a5e0a54c5f
@ -17,7 +17,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
@ -25,9 +24,7 @@ on:
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
jobs:
|
||||
docs:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@ -46,24 +43,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 }}
|
@ -17,7 +17,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
228
.github/workflows/old/ci-smoke-linux.yml
vendored
228
.github/workflows/old/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/old/ci-smoke-macos.yml.off
vendored
262
.github/workflows/old/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()
|
242
.github/workflows/old/test-config.yml
vendored
242
.github/workflows/old/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()
|
287
.github/workflows/old/test-versions.yml
vendored
287
.github/workflows/old/test-versions.yml
vendored
@ -1,287 +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"
|
||||
- "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"
|
||||
|
||||
- "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=6.2"
|
||||
- "REDIS_SERVER=6.2-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=5.0"
|
||||
- "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()
|
97
.github/workflows/params-config.yml
vendored
Normal file
97
.github/workflows/params-config.yml
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
MATRIX: >-
|
||||
[
|
||||
{"PHP_SERVER": "PHP 5.3", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "apache-2.2"},
|
||||
{"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"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "apache-2.4"},
|
||||
{"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"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "nginx-stable"},
|
||||
{"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"},
|
||||
{"PHP_SERVER": "PHP 5.4", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 5.5", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 5.6", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 7.0", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"PHP_SERVER": "PHP 7.1", "HTTPD_SERVER": "nginx-mainline"},
|
||||
{"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
|
54
.github/workflows/params-version-memcd.yml
vendored
Normal file
54
.github/workflows/params-version-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-version-mongo.yml
vendored
Normal file
56
.github/workflows/params-version-mongo.yml
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Job Name
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
name: params
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Custom Variables
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
env:
|
||||
MATRIX: >-
|
||||
[
|
||||
{"MONGO_SERVER": "Mongo 2.8"},
|
||||
{"MONGO_SERVER": "Mongo 3.0"},
|
||||
{"MONGO_SERVER": "Mongo 3.2"},
|
||||
{"MONGO_SERVER": "Mongo 3.4"},
|
||||
{"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-version-mysql.yml
vendored
Normal file
64
.github/workflows/params-version-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
|
@ -12,25 +12,6 @@ name: params
|
||||
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"},
|
||||
|
||||
{"PGSQL_SERVER": "PgSQL 9.0"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.1"},
|
||||
{"PGSQL_SERVER": "PgSQL 9.2"},
|
||||
@ -54,43 +35,7 @@ env:
|
||||
{"PGSQL_SERVER": "PgSQL 14"},
|
||||
{"PGSQL_SERVER": "PgSQL 14-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL latest"},
|
||||
{"PGSQL_SERVER": "PgSQL alpine"},
|
||||
|
||||
{"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"},
|
||||
|
||||
{"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"},
|
||||
|
||||
{"MONGO_SERVER": "Mongo 2.8"},
|
||||
{"MONGO_SERVER": "Mongo 3.0"},
|
||||
{"MONGO_SERVER": "Mongo 3.2"},
|
||||
{"MONGO_SERVER": "Mongo 3.4"},
|
||||
{"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"}
|
||||
{"PGSQL_SERVER": "PgSQL alpine"}
|
||||
]
|
||||
|
||||
|
61
.github/workflows/params-version-redis.yml
vendored
Normal file
61
.github/workflows/params-version-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
|
52
.github/workflows/test-config.yml
vendored
Normal file
52
.github/workflows/test-config.yml
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# 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]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-config.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
|
@ -23,18 +23,31 @@ on:
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/2) Determine parameter settings
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-versions.yml
|
||||
uses: ./.github/workflows/params-version-memcd.yml
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (2/2) Configure Build and Deploy Matrices
|
||||
# (2/3) Test with default settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
test:
|
||||
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
|
53
.github/workflows/test-version-mongo.yml
vendored
Normal file
53
.github/workflows/test-version-mongo.yml
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# 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]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-version-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
|
53
.github/workflows/test-version-mysql.yml
vendored
Normal file
53
.github/workflows/test-version-mysql.yml
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# 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]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-version-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
|
53
.github/workflows/test-version-pgsql.yml
vendored
Normal file
53
.github/workflows/test-version-pgsql.yml
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# 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]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-version-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
|
53
.github/workflows/test-version-redis.yml
vendored
Normal file
53
.github/workflows/test-version-redis.yml
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# 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]+*'
|
||||
|
||||
|
||||
jobs:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# (1/3) Determine parameter settings
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
params:
|
||||
uses: ./.github/workflows/params-version-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
|
16
.github/workflows/zzz-reuse-tests.yml
vendored
16
.github/workflows/zzz-reuse-tests.yml
vendored
@ -15,13 +15,18 @@ on:
|
||||
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: ubuntu-latest
|
||||
runs-on: ${{ inputs.operating_system }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@ -254,3 +259,12 @@ jobs:
|
||||
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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user