From 62f7a91290189cc8254ec83bf91c7b3737b931c1 Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:20:25 +0700 Subject: [PATCH 1/8] Update Dockerfile paths and remove redundant test step --- .github/workflows/wp.yml | 28 ++++++++++++++-------------- wp/php7.4/Dockerfile | 4 ++-- wp/php8.0/Dockerfile | 4 ++-- wp/php8.1/Dockerfile | 4 ++-- wp/php8.2/Dockerfile | 4 ++-- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/wp.yml b/.github/workflows/wp.yml index f4a91de..38307c1 100644 --- a/.github/workflows/wp.yml +++ b/.github/workflows/wp.yml @@ -57,17 +57,6 @@ jobs: file: ${{ env.IMAGE_FILE }} tags: ${{ env.IMAGE_TAG }} - - name: Test run image - run: | - ver=$(docker run --rm ${{ env.IMAGE_TAG }} php -v | grep -o "^PHP [0-9].[0-9]"); - - if [ "$ver" == "PHP ${{ matrix.version }}" ]; - then - echo $ver; - else - exit 1; - fi - - name: Extract metadata (tags, labels) for Docker id: metadata uses: docker/metadata-action@v5 @@ -75,13 +64,24 @@ jobs: images: ${{ env.IMAGE_TAG }} - name: Build and push - if: github.ref == 'refs/heads/main' uses: docker/build-push-action@v5 with: - context: ${{ env.IMAGE_PATH }} - push: true + context: . + push: ${{ github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }} provenance: false + load: true file: ${{ env.IMAGE_FILE }} tags: ${{ env.IMAGE_TAG }} labels: ${{ steps.metadata.outputs.labels }} platforms: linux/amd64,linux/arm64 + + - name: Test run image + run: | + ver=$(docker run --rm ${{ env.IMAGE_TAG }} php -v | grep -o "^PHP [0-9].[0-9]"); + + if [ "$ver" == "PHP ${{ matrix.version }}" ]; + then + echo $ver; + else + exit 1; + fi diff --git a/wp/php7.4/Dockerfile b/wp/php7.4/Dockerfile index a366f50..8f48fc9 100644 --- a/wp/php7.4/Dockerfile +++ b/wp/php7.4/Dockerfile @@ -22,7 +22,7 @@ RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 ./entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ RUN set -eux; \ @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data ./wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; diff --git a/wp/php8.0/Dockerfile b/wp/php8.0/Dockerfile index 1e21f0b..32d547b 100644 --- a/wp/php8.0/Dockerfile +++ b/wp/php8.0/Dockerfile @@ -22,7 +22,7 @@ RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 ./entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ RUN set -eux; \ @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data ./wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; diff --git a/wp/php8.1/Dockerfile b/wp/php8.1/Dockerfile index 8efa006..92229f6 100644 --- a/wp/php8.1/Dockerfile +++ b/wp/php8.1/Dockerfile @@ -22,7 +22,7 @@ RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 ./entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ RUN set -eux; \ @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data ./wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; diff --git a/wp/php8.2/Dockerfile b/wp/php8.2/Dockerfile index 6f21b8b..5fe757a 100644 --- a/wp/php8.2/Dockerfile +++ b/wp/php8.2/Dockerfile @@ -22,7 +22,7 @@ RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 ./entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ RUN set -eux; \ @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data ./wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; From d7c06531d773af4c057c3a9665ef63068c318ede Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:31:04 +0700 Subject: [PATCH 2/8] Update environment variables in wp.yml --- .github/workflows/wp.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/wp.yml b/.github/workflows/wp.yml index 38307c1..3eb9d73 100644 --- a/.github/workflows/wp.yml +++ b/.github/workflows/wp.yml @@ -27,7 +27,6 @@ jobs: version: ["7.4", "8.0", "8.1", "8.2"] env: - IMAGE_PATH: ./wp/php${{ matrix.version }} IMAGE_FILE: ./wp/php${{ matrix.version }}/Dockerfile IMAGE_REGISTRY: ghcr.io IMAGE_TAG: ghcr.io/${{ github.repository_owner }}/wp:php${{ matrix.version }}-fpm From e0878572ff587d7c1c8f3ed95ec280933e1533c3 Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:31:08 +0700 Subject: [PATCH 3/8] Update wp-cli.yml file permissions in Dockerfiles --- wp/php7.4/Dockerfile | 2 +- wp/php8.0/Dockerfile | 2 +- wp/php8.1/Dockerfile | 2 +- wp/php8.2/Dockerfile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/wp/php7.4/Dockerfile b/wp/php7.4/Dockerfile index 8f48fc9..84141d5 100644 --- a/wp/php7.4/Dockerfile +++ b/wp/php7.4/Dockerfile @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; diff --git a/wp/php8.0/Dockerfile b/wp/php8.0/Dockerfile index 32d547b..60566f4 100644 --- a/wp/php8.0/Dockerfile +++ b/wp/php8.0/Dockerfile @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; diff --git a/wp/php8.1/Dockerfile b/wp/php8.1/Dockerfile index 92229f6..33303d5 100644 --- a/wp/php8.1/Dockerfile +++ b/wp/php8.1/Dockerfile @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; diff --git a/wp/php8.2/Dockerfile b/wp/php8.2/Dockerfile index 5fe757a..af4bc40 100644 --- a/wp/php8.2/Dockerfile +++ b/wp/php8.2/Dockerfile @@ -30,7 +30,7 @@ RUN set -eux; \ mkdir -p /var/www/.wp-cli; \ chown -R www-data:www-data /var/www/.wp-cli; -COPY --chmod=644 --chown=www-data:www-data wp-cli.yml /var/www/.wp-cli/config.yml +COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml RUN wp cli info; From 85d332a7e35a6ec8d5c1ba04665947f41e44c079 Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:36:24 +0700 Subject: [PATCH 4/8] Update Dockerfile and wp-cli configuration --- wp/php7.4/Dockerfile | 14 ++++++-------- wp/php7.4/wp-cli.yml | 1 - wp/php8.0/Dockerfile | 14 ++++++-------- wp/php8.0/wp-cli.yml | 1 - wp/php8.1/Dockerfile | 14 ++++++-------- wp/php8.1/wp-cli.yml | 1 - wp/php8.2/Dockerfile | 14 ++++++-------- wp/php8.2/wp-cli.yml | 1 - 8 files changed, 24 insertions(+), 36 deletions(-) delete mode 100644 wp/php7.4/wp-cli.yml delete mode 100644 wp/php8.0/wp-cli.yml delete mode 100644 wp/php8.1/wp-cli.yml delete mode 100644 wp/php8.2/wp-cli.yml diff --git a/wp/php7.4/Dockerfile b/wp/php7.4/Dockerfile index 84141d5..39cf670 100644 --- a/wp/php7.4/Dockerfile +++ b/wp/php7.4/Dockerfile @@ -18,21 +18,19 @@ RUN docker-php-serversideup-dep-install-debian 'ghostscript default-mysql-client RUN install-php-extensions 'mysqli'; \ php -m; +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ + RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh -COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ - RUN set -eux; \ chmod +x /usr/local/bin/wp; \ mkdir -p /var/www/.wp-cli; \ - chown -R www-data:www-data /var/www/.wp-cli; - -COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml - -RUN wp cli info; + echo "path: /var/www/html" > /var/www/.wp-cli/config.yml; \ + chown -R www-data:www-data /var/www/.wp-cli; \ + wp cli info; RUN set -eux; \ apt-get update; \ diff --git a/wp/php7.4/wp-cli.yml b/wp/php7.4/wp-cli.yml deleted file mode 100644 index f0851a0..0000000 --- a/wp/php7.4/wp-cli.yml +++ /dev/null @@ -1 +0,0 @@ -path: /var/www/html diff --git a/wp/php8.0/Dockerfile b/wp/php8.0/Dockerfile index 60566f4..e41e181 100644 --- a/wp/php8.0/Dockerfile +++ b/wp/php8.0/Dockerfile @@ -18,21 +18,19 @@ RUN docker-php-serversideup-dep-install-debian 'ghostscript default-mysql-client RUN install-php-extensions 'mysqli'; \ php -m; +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ + RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh -COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ - RUN set -eux; \ chmod +x /usr/local/bin/wp; \ mkdir -p /var/www/.wp-cli; \ - chown -R www-data:www-data /var/www/.wp-cli; - -COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml - -RUN wp cli info; + echo "path: /var/www/html" > /var/www/.wp-cli/config.yml; \ + chown -R www-data:www-data /var/www/.wp-cli; \ + wp cli info; RUN set -eux; \ apt-get update; \ diff --git a/wp/php8.0/wp-cli.yml b/wp/php8.0/wp-cli.yml deleted file mode 100644 index f0851a0..0000000 --- a/wp/php8.0/wp-cli.yml +++ /dev/null @@ -1 +0,0 @@ -path: /var/www/html diff --git a/wp/php8.1/Dockerfile b/wp/php8.1/Dockerfile index 33303d5..961033c 100644 --- a/wp/php8.1/Dockerfile +++ b/wp/php8.1/Dockerfile @@ -18,21 +18,19 @@ RUN docker-php-serversideup-dep-install-debian 'ghostscript default-mysql-client RUN install-php-extensions 'mysqli'; \ php -m; +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ + RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh -COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ - RUN set -eux; \ chmod +x /usr/local/bin/wp; \ mkdir -p /var/www/.wp-cli; \ - chown -R www-data:www-data /var/www/.wp-cli; - -COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml - -RUN wp cli info; + echo "path: /var/www/html" > /var/www/.wp-cli/config.yml; \ + chown -R www-data:www-data /var/www/.wp-cli; \ + wp cli info; RUN set -eux; \ apt-get update; \ diff --git a/wp/php8.1/wp-cli.yml b/wp/php8.1/wp-cli.yml deleted file mode 100644 index f0851a0..0000000 --- a/wp/php8.1/wp-cli.yml +++ /dev/null @@ -1 +0,0 @@ -path: /var/www/html diff --git a/wp/php8.2/Dockerfile b/wp/php8.2/Dockerfile index af4bc40..92a89c4 100644 --- a/wp/php8.2/Dockerfile +++ b/wp/php8.2/Dockerfile @@ -18,21 +18,19 @@ RUN docker-php-serversideup-dep-install-debian 'ghostscript default-mysql-client RUN install-php-extensions 'mysqli'; \ php -m; +COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh +COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ + RUN set -eux; \ mkdir -p /var/www/html; \ chown -R www-data:www-data /var/www/html -COPY --chmod=755 entrypoint.sh /etc/entrypoint.d/70-wp-core-download.sh -COPY --from=wp-cli /usr/local/bin/wp /usr/local/bin/ - RUN set -eux; \ chmod +x /usr/local/bin/wp; \ mkdir -p /var/www/.wp-cli; \ - chown -R www-data:www-data /var/www/.wp-cli; - -COPY --chmod=644 wp-cli.yml /var/www/.wp-cli/config.yml - -RUN wp cli info; + echo "path: /var/www/html" > /var/www/.wp-cli/config.yml; \ + chown -R www-data:www-data /var/www/.wp-cli; \ + wp cli info; RUN set -eux; \ apt-get update; \ diff --git a/wp/php8.2/wp-cli.yml b/wp/php8.2/wp-cli.yml deleted file mode 100644 index f0851a0..0000000 --- a/wp/php8.2/wp-cli.yml +++ /dev/null @@ -1 +0,0 @@ -path: /var/www/html From 6b9162b4f859948cfbd6e837570e93849c453850 Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:47:28 +0700 Subject: [PATCH 5/8] Add IMAGE_CONTEXT to workflow --- .github/workflows/wp.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/wp.yml b/.github/workflows/wp.yml index 3eb9d73..784cd32 100644 --- a/.github/workflows/wp.yml +++ b/.github/workflows/wp.yml @@ -27,6 +27,7 @@ jobs: version: ["7.4", "8.0", "8.1", "8.2"] env: + IMAGE_CONTEXT: ./wp/php${{ matrix.version }}/ IMAGE_FILE: ./wp/php${{ matrix.version }}/Dockerfile IMAGE_REGISTRY: ghcr.io IMAGE_TAG: ghcr.io/${{ github.repository_owner }}/wp:php${{ matrix.version }}-fpm @@ -65,10 +66,10 @@ jobs: - name: Build and push uses: docker/build-push-action@v5 with: - context: . - push: ${{ github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }} - provenance: false load: true + provenance: false + push: ${{ github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }} + context: ${{ env.IMAGE_CONTEXT }} file: ${{ env.IMAGE_FILE }} tags: ${{ env.IMAGE_TAG }} labels: ${{ steps.metadata.outputs.labels }} From 6b500a11ce9a600ac1ba01dec5eef6701a1c7374 Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:55:08 +0700 Subject: [PATCH 6/8] Update docker build context in wp.yml --- .github/workflows/wp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wp.yml b/.github/workflows/wp.yml index 784cd32..7795a58 100644 --- a/.github/workflows/wp.yml +++ b/.github/workflows/wp.yml @@ -52,7 +52,7 @@ jobs: - name: Build and export uses: docker/build-push-action@v5 with: - context: . + context: ${{ env.IMAGE_CONTEXT }} load: true file: ${{ env.IMAGE_FILE }} tags: ${{ env.IMAGE_TAG }} From 5549676b887b21fb4485a3245e5e10e68afa326b Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:57:29 +0700 Subject: [PATCH 7/8] Remove unnecessary build and export step in workflow --- .github/workflows/wp.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/wp.yml b/.github/workflows/wp.yml index 7795a58..1a673ba 100644 --- a/.github/workflows/wp.yml +++ b/.github/workflows/wp.yml @@ -49,14 +49,6 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and export - uses: docker/build-push-action@v5 - with: - context: ${{ env.IMAGE_CONTEXT }} - load: true - file: ${{ env.IMAGE_FILE }} - tags: ${{ env.IMAGE_TAG }} - - name: Extract metadata (tags, labels) for Docker id: metadata uses: docker/metadata-action@v5 @@ -66,8 +58,8 @@ jobs: - name: Build and push uses: docker/build-push-action@v5 with: - load: true provenance: false + load: true push: ${{ github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }} context: ${{ env.IMAGE_CONTEXT }} file: ${{ env.IMAGE_FILE }} From fdc8b12181154aeebc94f91f10cfbb6fdf540853 Mon Sep 17 00:00:00 2001 From: Thoriq Firdaus <2067467+tfirdaus@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:01:28 +0700 Subject: [PATCH 8/8] Update IMAGE_CONTEXT in wp.yml --- .github/workflows/wp.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/wp.yml b/.github/workflows/wp.yml index 1a673ba..7be630d 100644 --- a/.github/workflows/wp.yml +++ b/.github/workflows/wp.yml @@ -27,7 +27,7 @@ jobs: version: ["7.4", "8.0", "8.1", "8.2"] env: - IMAGE_CONTEXT: ./wp/php${{ matrix.version }}/ + IMAGE_CONTEXT: ./wp/php${{ matrix.version }} IMAGE_FILE: ./wp/php${{ matrix.version }}/Dockerfile IMAGE_REGISTRY: ghcr.io IMAGE_TAG: ghcr.io/${{ github.repository_owner }}/wp:php${{ matrix.version }}-fpm @@ -59,7 +59,6 @@ jobs: uses: docker/build-push-action@v5 with: provenance: false - load: true push: ${{ github.ref == 'refs/heads/main' && github.event_name != 'pull_request' }} context: ${{ env.IMAGE_CONTEXT }} file: ${{ env.IMAGE_FILE }}