diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..a4b8b37 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,44 @@ +name: Docker Image CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + base-image: [fpm-alpine, cli-alpine] + php: [7.4, '8.0', 8.1] + include: + - base-image: fpm-alpine + prefix: fpm + - base-image: cli-alpine + prefix: cli + + name: PHP:${{ matrix.php }} - IMAGE:${{ matrix.base-image }} - PREFIX:${{ matrix.prefix }} + + steps: + - uses: actions/checkout@v2 + - name: docker login + env: + DOCKER_USER: ${{secrets.DOCKER_USER}} + DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} + run: | + docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + - name: Build the Docker image + env: + REPO_NAME: norby/php-alpine + BASE_IMAGE: ${{ matrix.base-image }} + VERSION: ${{ matrix.php }} + EXTRA_TAGS: "${{ matrix.php }}-${{ matrix.prefix }}" + run: ./hooks/build.sh + + - name: Docker Push + if: github.ref == 'refs/heads/master' + run: ./hooks/push.sh \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 3fba8c0..47dc7c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,8 +11,12 @@ env: - BASE_IMAGE=cli-alpine VERSION=7.2 EXTRA_TAGS="7.2-cli" - BASE_IMAGE=fpm-alpine VERSION=7.3 EXTRA_TAGS="7.3-fpm" - BASE_IMAGE=cli-alpine VERSION=7.3 EXTRA_TAGS="7.3-cli" - - BASE_IMAGE=fpm-alpine VERSION=7.4 EXTRA_TAGS="latest-fpm;7.4-fpm" - - BASE_IMAGE=cli-alpine VERSION=7.4 EXTRA_TAGS="latest-cli;7.4-cli" + - BASE_IMAGE=fpm-alpine VERSION=7.4 EXTRA_TAGS="7.4-fpm" + - BASE_IMAGE=cli-alpine VERSION=7.4 EXTRA_TAGS="7.4-cli" + - BASE_IMAGE=fpm-alpine VERSION=8.0 EXTRA_TAGS="8.0-fpm" + - BASE_IMAGE=cli-alpine VERSION=8.0 EXTRA_TAGS="8.0-cli" + - BASE_IMAGE=fpm-alpine VERSION=8.1 EXTRA_TAGS="latest-fpm;8.1-fpm" + - BASE_IMAGE=cli-alpine VERSION=8.1 EXTRA_TAGS="latest-cli;8.1-cli" install: - git clone https://github.com/docker-library/official-images.git ~/official-images diff --git a/hooks/push b/hooks/push deleted file mode 100644 index 5f0ceaa..0000000 --- a/hooks/push +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -ex - -# Don't push images if branch is not master -echo "Current Branch: $SOURCE_BRANCH" -if [ "${SOURCE_BRANCH}" != "master" ]; then - exit 0 -fi - -for tag in $(docker images norby/php-alpine --format "{{.Tag}}"); -do - docker push "norby/php-alpine:${tag}" -done \ No newline at end of file diff --git a/hooks/push.sh b/hooks/push.sh new file mode 100755 index 0000000..b6ff4ee --- /dev/null +++ b/hooks/push.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -ex + +for tag in $(docker images norby/php-alpine --format "{{.Tag}}"); +do + docker push "norby/php-alpine:${tag}" +done \ No newline at end of file diff --git a/hooks/vars.sh b/hooks/vars.sh index f9e80d5..95f4f3c 100755 --- a/hooks/vars.sh +++ b/hooks/vars.sh @@ -7,6 +7,10 @@ REPO_NAME=norby/php-alpine BASE_IMAGE=fpm-alpine VERSION=7.2 EXTRA_TAGS="7.2-fpm REPO_NAME=norby/php-alpine BASE_IMAGE=cli-alpine VERSION=7.2 EXTRA_TAGS="7.2-cli" REPO_NAME=norby/php-alpine BASE_IMAGE=fpm-alpine VERSION=7.3 EXTRA_TAGS="7.3-fpm" REPO_NAME=norby/php-alpine BASE_IMAGE=cli-alpine VERSION=7.3 EXTRA_TAGS="7.3-cli" -REPO_NAME=norby/php-alpine BASE_IMAGE=fpm-alpine VERSION=7.4 EXTRA_TAGS="latest-fpm;7.4-fpm" -REPO_NAME=norby/php-alpine BASE_IMAGE=cli-alpine VERSION=7.4 EXTRA_TAGS="latest-cli;7.4-cli" +REPO_NAME=norby/php-alpine BASE_IMAGE=fpm-alpine VERSION=7.4 EXTRA_TAGS="7.4-fpm" +REPO_NAME=norby/php-alpine BASE_IMAGE=cli-alpine VERSION=7.4 EXTRA_TAGS="7.4-cli" +REPO_NAME=norby/php-alpine BASE_IMAGE=fpm-alpine VERSION=8.0 EXTRA_TAGS="8.0-fpm" +REPO_NAME=norby/php-alpine BASE_IMAGE=cli-alpine VERSION=8.0 EXTRA_TAGS="8.0-cli" +REPO_NAME=norby/php-alpine BASE_IMAGE=fpm-alpine VERSION=8.1 EXTRA_TAGS="latest-fpm;8.1-fpm" +REPO_NAME=norby/php-alpine BASE_IMAGE=cli-alpine VERSION=8.1 EXTRA_TAGS="latest-cli;8.1-cli" ' \ No newline at end of file diff --git a/tags/8.0/extentions.sh b/tags/8.0/extentions.sh new file mode 100644 index 0000000..851d48a --- /dev/null +++ b/tags/8.0/extentions.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -eux \ + && apk update \ + && apk upgrade \ + && apk add --no-cache --virtual .build_deps \ + $PHPIZE_DEPS \ + curl-dev \ + freetype-dev \ + imagemagick-dev \ + libtool \ + libxml2-dev \ + libpng-dev \ + libwebp-dev \ + libjpeg-turbo-dev \ + make \ + oniguruma-dev \ + gcc > /dev/null \ + && apk add --no-cache \ + zlib-dev \ + libzip-dev \ + libgomp \ + curl \ + imagemagick \ + mysql-client \ + libintl \ + libpng \ + libjpeg-turbo \ + icu-dev \ + icu \ + freetype \ + vim \ + unzip \ + composer \ + nodejs \ + bash > /dev/null \ + && docker-php-ext-configure \ + gd --with-freetype=/usr/include/freetype2/ --with-jpeg=/usr/include/ --with-webp=/usr/include/webp > /dev/null \ + && docker-php-ext-install \ + mbstring \ + pdo \ + pdo_mysql \ + mysqli \ + pcntl \ + tokenizer \ + xml \ + zip \ + intl \ + ctype \ + bcmath \ + -j$(nproc) gd > /dev/null \ + && pecl install \ + -o -f imagick > /dev/null \ + && docker-php-ext-enable \ + gd \ + imagick \ + mysqli > /dev/null \ + && apk del --no-cache -f .build_deps \ + && rm -f /var/cache/apk/* \ No newline at end of file diff --git a/tags/8.1/extentions.sh b/tags/8.1/extentions.sh new file mode 100644 index 0000000..daab271 --- /dev/null +++ b/tags/8.1/extentions.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +set -eux \ + && apk update \ + && apk upgrade \ + && apk add --no-cache --virtual .build_deps \ + $PHPIZE_DEPS \ + curl-dev \ + freetype-dev \ + imagemagick-dev \ + libtool \ + libxml2-dev \ + libpng-dev \ + libwebp-dev \ + libjpeg-turbo-dev \ + make \ + oniguruma-dev \ + gcc > /dev/null \ + && apk add --no-cache \ + zlib-dev \ + libzip-dev \ + libgomp \ + curl \ + imagemagick \ + mysql-client \ + libintl \ + libpng \ + libjpeg-turbo \ + icu-dev \ + icu \ + freetype \ + vim \ + unzip \ + composer \ + nodejs \ + bash > /dev/null \ + && docker-php-ext-configure \ + gd --with-freetype=/usr/include/freetype2/ --with-jpeg=/usr/include/ --with-webp=/usr/include/webp > /dev/null \ + && docker-php-ext-install \ + mbstring \ + pdo \ + pdo_mysql \ + mysqli \ + pcntl \ + xml \ + zip \ + intl \ + ctype \ + bcmath \ + -j$(nproc) gd > /dev/null \ + && pecl install \ + -o -f imagick > /dev/null \ + && docker-php-ext-enable \ + gd \ + imagick \ + mysqli > /dev/null \ + && apk del --no-cache -f .build_deps \ + && rm -f /var/cache/apk/* \ No newline at end of file