Skip to content

Commit

Permalink
ci and docker updates to begin to support alpine 3.16 and mariadb 10.8 (
Browse files Browse the repository at this point in the history
  • Loading branch information
bradymiller committed May 30, 2022
1 parent 594afff commit 6d77968
Show file tree
Hide file tree
Showing 6 changed files with 281 additions and 13 deletions.
184 changes: 184 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,190 @@ jobs:
build_test_common
if: ${{ success() || failure() }}

build_apache_81_106:
name: PHP 8.1 - Apache - MariaDB 10.6
runs-on: ubuntu-20.04
env:
DOCKER_DIR: apache_81_106
OPENEMR_DIR: /var/www/localhost/htdocs/openemr
CHROMIUM_INSTALL: "apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
steps:
- uses: actions/checkout@v2

- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'

- name: Report PHP Version
run: php -v

- name: Install npm package
uses: actions/setup-node@v1
with:
node-version: '16'

- name: Dockers environment start
run: |
source ci/ciLibrary.source
dockers_env_start
- name: Main build
run: |
source ci/ciLibrary.source
composer_github_auth
main_build
- name: CCDA build
run: |
source ci/ciLibrary.source
ccda_build
- name: Install and configure
run: |
source ci/ciLibrary.source
install_configure
- name: Unit testing
run: |
source ci/ciLibrary.source
build_test_unit
if: ${{ success() || failure() }}

- name: E2e testing
run: |
source ci/ciLibrary.source
build_test_e2e
if: ${{ success() || failure() }}

- name: Api testing
run: |
source ci/ciLibrary.source
build_test_api
if: ${{ success() || failure() }}

- name: Fixtures testing
run: |
source ci/ciLibrary.source
build_test_fixtures
if: ${{ success() || failure() }}

- name: Services testing
run: |
source ci/ciLibrary.source
build_test_services
if: ${{ success() || failure() }}

- name: Validators testing
run: |
source ci/ciLibrary.source
build_test_validators
if: ${{ success() || failure() }}

- name: Controllers testing
run: |
source ci/ciLibrary.source
build_test_controllers
if: ${{ success() || failure() }}

- name: Common testing
run: |
source ci/ciLibrary.source
build_test_common
if: ${{ success() || failure() }}

build_apache_80_108:
name: PHP 8.0 - Apache - MariaDB 10.8 (short term release)
runs-on: ubuntu-20.04
env:
DOCKER_DIR: apache_80_108
OPENEMR_DIR: /var/www/localhost/htdocs/openemr
CHROMIUM_INSTALL: "apk update; apk add --no-cache chromium chromium-chromedriver; export PANTHER_CHROME_DRIVER_BINARY=/usr/lib/chromium/chromedriver"
steps:
- uses: actions/checkout@v2

- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'

- name: Report PHP Version
run: php -v

- name: Install npm package
uses: actions/setup-node@v1
with:
node-version: '16'

- name: Dockers environment start
run: |
source ci/ciLibrary.source
dockers_env_start
- name: Main build
run: |
source ci/ciLibrary.source
composer_github_auth
main_build
- name: CCDA build
run: |
source ci/ciLibrary.source
ccda_build
- name: Install and configure
run: |
source ci/ciLibrary.source
install_configure
- name: Unit testing
run: |
source ci/ciLibrary.source
build_test_unit
if: ${{ success() || failure() }}

- name: E2e testing
run: |
source ci/ciLibrary.source
build_test_e2e
if: ${{ success() || failure() }}

- name: Api testing
run: |
source ci/ciLibrary.source
build_test_api
if: ${{ success() || failure() }}

- name: Fixtures testing
run: |
source ci/ciLibrary.source
build_test_fixtures
if: ${{ success() || failure() }}

- name: Services testing
run: |
source ci/ciLibrary.source
build_test_services
if: ${{ success() || failure() }}

- name: Validators testing
run: |
source ci/ciLibrary.source
build_test_validators
if: ${{ success() || failure() }}

- name: Controllers testing
run: |
source ci/ciLibrary.source
build_test_controllers
if: ${{ success() || failure() }}

- name: Common testing
run: |
source ci/ciLibrary.source
build_test_common
if: ${{ success() || failure() }}

build_apache_80_107:
name: PHP 8.0 - Apache - MariaDB 10.7 (short term release)
runs-on: ubuntu-20.04
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ The OpenEMR development docker environment has a very rich advanced feature set.
docker exec -i $(docker ps | grep _openemr | cut -f 1 -d " ") sh -c '/root/devtools register-oauth2-client-demo https://eleven.openemr.io/a/openemr'
```
3. <a name="other_php_versions"></a>Testing other PHP versions.
- The standard `flex` docker used in the easy development environments is PHP 8.0. This can be modified by changing the image (`image: openemr/openemr:flex`) used in the docker-compose.yml script. To use PHP 7.4 , then just need to change it to `image: openemr/openemr:flex-3.15`.
- The standard `flex` docker used in the easy development environments is PHP 8.0. This can be modified by changing the image (`image: openemr/openemr:flex`) used in the docker-compose.yml script. To use PHP 7.4 , then just need to change it to `image: openemr/openemr:flex-3.15`. To use PHP 8.1 , then just need to change it to `image: openemr/openemr:flex-3.16`.
4. <a name="dev_tools_tests"></a>Php syntax checking, psr12 checking, and automated testing.
- To check PHP error logs:
```sh
Expand Down
22 changes: 22 additions & 0 deletions ci/apache_80_108/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# docker-compose.yml for travis ci testing
version: '3.1'
services:
mysql:
restart: always
image: mariadb:10.8
command: ['mysqld','--character-set-server=utf8mb4']
environment:
MYSQL_ROOT_PASSWORD: root
openemr:
restart: always
image: openemr/openemr:flex-3.15-8
ports:
- 80:80
- 443:443
volumes:
- ../../:/var/www/localhost/htdocs/openemr
environment:
FORCE_NO_BUILD_MODE: "yes"
EMPTY: "yes"
depends_on:
- mysql
22 changes: 22 additions & 0 deletions ci/apache_81_106/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# docker-compose.yml for travis ci testing
version: '3.1'
services:
mysql:
restart: always
image: mariadb:10.6
command: ['mysqld','--character-set-server=utf8mb4']
environment:
MYSQL_ROOT_PASSWORD: root
openemr:
restart: always
image: openemr/openemr:flex-3.16
ports:
- 80:80
- 443:443
volumes:
- ../../:/var/www/localhost/htdocs/openemr
environment:
FORCE_NO_BUILD_MODE: "yes"
EMPTY: "yes"
depends_on:
- mysql
13 changes: 9 additions & 4 deletions docker/development-insane/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,13 @@ options to choose from:
- http:https://localhost:8080 (with Alpine 3.12 (Apache and PHP 7.3))
- http:https://localhost:8081 (with Alpine 3.15 (Apache and PHP 7.4))
- http:https://localhost:8082 (with Alpine 3.15 (Apache and PHP 8.0))
- http:https://localhost:8083 (with Alpine Edge (Apache and now PHP 8.0))
- http:https://localhost:8083 (with Alpine 3.16 (Apache and PHP 8.1))
- http:https://localhost:8084 (with Alpine Edge (Apache and now PHP 8.1))
- http:https://localhost:8090 (with Alpine 3.12 (Apache and PHP 7.3) with redis)
- http:https://localhost:8091 (with Alpine 3.15 (Apache and PHP 7.4) with redis)
- http:https://localhost:8092 (with Alpine 3.15 (Apache and PHP 8.0) with redis)
- http:https://localhost:8093 (with Alpine Edge (Apache and now PHP 8.0) with redis)
- http:https://localhost:8093 (with Alpine 3.16 (Apache and PHP 8.1) with redis)
- http:https://localhost:8094 (with Alpine Edge (Apache and now PHP 8.1) with redis)
- http:https://localhost:8100 (with Nginx and PHP-FPM 7.3)
- http:https://localhost:8101 (with Nginx and PHP-FPM 7.4)
- http:https://localhost:8102 (with Nginx and PHP-FPM 8.0)
Expand All @@ -64,11 +66,13 @@ options to choose from:
- https://localhost:9080 with SSL and Alpine 3.12 (with Apache and PHP 7.3)
- https://localhost:9081 with SSL and Alpine 3.15 (with Apache and PHP 7.4)
- https://localhost:9082 with SSL and Alpine 3.15 (with Apache and PHP 8.0)
- https://localhost:9083 with SSL and Alpine Edge (with Apache and now PHP 8.0)
- https://localhost:9083 with SSL and Alpine 3.16 (with Apache and PHP 8.1)
- https://localhost:9084 with SSL and Alpine Edge (with Apache and now PHP 8.1)
- https://localhost:9090 with SSL and Alpine 3.12 (with Apache and PHP 7.3 with redis)
- https://localhost:9091 with SSL and Alpine 3.15 (with Apache and PHP 7.4 with redis)
- https://localhost:9092 with SSL and Alpine 3.15 (with Apache and PHP 8.0 with redis)
- https://localhost:9093 with SSL and Alpine Edge (with Apache and now PHP 8.0 with redis)
- https://localhost:9093 with SSL and Alpine 3.16 (with Apache and PHP 8.1 with redis)
- https://localhost:9094 with SSL and Alpine Edge (with Apache and now PHP 8.1 with redis)
- https://localhost:9100 with SSL (with Nginx and PHP-FPM 7.3)
- https://localhost:9101 with SSL (with Nginx and PHP-FPM 7.4)
- https://localhost:9102 with SSL (with Nginx and PHP-FPM 8.0)
Expand Down Expand Up @@ -107,6 +111,7 @@ docker-compose up -d
To ensure you are using the most recent dockers, recommend running below set of commands intermittently:
```console
docker pull openemr/openemr:flex-edge
docker pull openemr/openemr:flex-3.16
docker pull openemr/openemr:flex-3.15
docker pull openemr/openemr:flex-3.15-8
docker pull openemr/openemr:flex-3.12
Expand Down
51 changes: 43 additions & 8 deletions docker/development-insane/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@
# http:https://localhost:8080 (with Alpine 3.12 (Apache and PHP 7.3))
# http:https://localhost:8081 (with Alpine 3.15 (Apache and PHP 7.4))
# http:https://localhost:8082 (with Alpine 3.15 (Apache and PHP 8.0))
# http:https://localhost:8083 (with Alpine Edge (Apache and now PHP 8.0))
# http:https://localhost:8083 (with Alpine 3.16 (Apache and PHP 8.1))
# http:https://localhost:8084 (with Alpine Edge (Apache and now PHP 8.1))
# http:https://localhost:8090 (with Alpine 3.12 (Apache and PHP 7.3) with redis)
# http:https://localhost:8091 (with Alpine 3.15 (Apache and PHP 7.4) with redis)
# http:https://localhost:8092 (with Alpine 3.15 (Apache and PHP 8.0) with redis)
# http:https://localhost:8093 (with Alpine Edge (Apache and now PHP 8.0) with redis)
# http:https://localhost:8093 (with Alpine 3.16 (Apache and PHP 8.1) with redis)
# http:https://localhost:8094 (with Alpine Edge (Apache and now PHP 8.1) with redis)
# http:https://localhost:8100 (with Nginx and PHP-FPM 7.3)
# http:https://localhost:8101 (with Nginx and PHP-FPM 7.4)
# http:https://localhost:8102 (with Nginx and PHP-FPM 8.0)
Expand All @@ -30,11 +32,13 @@
# https://localhost:9080 with SSL and Alpine 3.12 (with Apache and PHP 7.3)
# https://localhost:9081 with SSL and Alpine 3.15 (with Apache and PHP 7.4)
# https://localhost:9082 with SSL and Alpine 3.15 (with Apache and PHP 8.0)
# https://localhost:9083 with SSL and Alpine Edge (with Apache and now PHP 9.0)
# https://localhost:9083 with SSL and Alpine 3.16 (with Apache and PHP 8.1)
# https://localhost:9084 with SSL and Alpine Edge (with Apache and now PHP 8.1)
# https://localhost:9090 with SSL and Alpine 3.12 (with Apache and PHP 7.3 with redis)
# https://localhost:9091 with SSL and Alpine 3.15 (with Apache and PHP 7.4 with redis)
# https://localhost:9092 with SSL and Alpine 3.15 (with Apache and PHP 8.0 with redis)
# https://localhost:9093 with SSL and Alpine Edge (with Apache and now PHP 8.0 with redis)
# https://localhost:9093 with SSL and Alpine 3.16 (with Apache and PHP 8.1 with redis)
# https://localhost:9094 with SSL and Alpine Edge (with Apache and now PHP 8.1 with redis)
# https://localhost:9100 with SSL (with Nginx and PHP-FPM 7.3)
# https://localhost:9101 with SSL (with Nginx and PHP-FPM 7.4)
# https://localhost:9102 with SSL (with Nginx and PHP-FPM 8.0)
Expand Down Expand Up @@ -129,9 +133,9 @@ services:
OPENEMR_SETTING_couchdb_ssl_allow_selfsigned: 1
OPENEMR_SETTING_gbl_ldap_host: 'ldap:https://openldap:389'
OPENEMR_SETTING_gbl_ldap_dn: 'cn={login},dc=example,dc=org'
openemr-edge:
openemr-8-1:
restart: always
image: openemr/openemr:flex-edge
image: openemr/openemr:flex-3.16
ports:
- 8083:80
- 9083:443
Expand All @@ -144,6 +148,21 @@ services:
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker
FORCE_NO_BUILD_MODE: "yes"
EMPTY: "yes"
openemr-edge:
restart: always
image: openemr/openemr:flex-edge
ports:
- 8084:80
- 9084:443
volumes:
- ../..:/var/www/localhost/htdocs/openemr
environment:
DEBUG_COLORS: "true"
TERM: xterm-256color
COLORTERM: truecolor
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker
FORCE_NO_BUILD_MODE: "yes"
EMPTY: "yes"
openemr-7-3-redis-312:
restart: always
image: openemr/openemr:flex-3.12
Expand Down Expand Up @@ -192,9 +211,9 @@ services:
FORCE_NO_BUILD_MODE: "yes"
REDIS_SERVER: "redis"
EMPTY: "yes"
openemr-edge-redis:
openemr-8-1-redis:
restart: always
image: openemr/openemr:flex-edge
image: openemr/openemr:flex-3.16
ports:
- 8093:80
- 9093:443
Expand All @@ -208,6 +227,22 @@ services:
FORCE_NO_BUILD_MODE: "yes"
REDIS_SERVER: "redis"
EMPTY: "yes"
openemr-edge-redis:
restart: always
image: openemr/openemr:flex-edge
ports:
- 8094:80
- 9094:443
volumes:
- ../..:/var/www/localhost/htdocs/openemr
environment:
DEBUG_COLORS: "true"
TERM: xterm-256color
COLORTERM: truecolor
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker
FORCE_NO_BUILD_MODE: "yes"
REDIS_SERVER: "redis"
EMPTY: "yes"
mariadb:
restart: always
image: mariadb:10.6
Expand Down

0 comments on commit 6d77968

Please sign in to comment.