diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 759a082..69a34c7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: inputs: legacy: - description: 'Also build legacy images (7.2, 7.3, 7.4, 8.0)' + description: 'Also build legacy images (7.2, 7.3, 7.4, 8.0, 8.1)' required: false default: false type: boolean @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - php: ["8.1", "8.2", "8.3", "8.4", "8.5"] + php: ["8.2", "8.3", "8.4", "8.5"] variant: ["debian", "alpine"] steps: - uses: actions/checkout@v7 @@ -68,9 +68,17 @@ jobs: strategy: fail-fast: false matrix: - php: ["7.2", "7.3", "7.4", "8.0"] + include: + - { tag: "7.2", phpVersion: "7.2", file: ./src/docker/7.2/Dockerfile, platforms: linux/amd64 } + - { tag: "7.3", phpVersion: "7.3", file: ./src/docker/7.3/Dockerfile, platforms: linux/amd64 } + - { tag: "7.4", phpVersion: "7.4", file: ./src/docker/7.4/Dockerfile, platforms: linux/amd64 } + - { tag: "8.0", phpVersion: "8.0", file: ./src/docker/8.0/Dockerfile, platforms: linux/amd64 } + - { tag: "8.1", phpVersion: "8.1", file: ./src/docker/Dockerfile, platforms: "linux/amd64,linux/arm64" } + - { tag: "8.1-alpine", phpVersion: "8.1", file: ./src/docker/Dockerfile.alpine, platforms: "linux/amd64,linux/arm64" } steps: - uses: actions/checkout@v7 + - name: Set up QEMU + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 - name: Login to DockerHub @@ -78,10 +86,13 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push ${{ matrix.php }} + - name: Build and push ${{ matrix.tag }} uses: docker/build-push-action@v7 with: context: . - file: ./src/docker/${{ matrix.php }}/Dockerfile + file: ${{ matrix.file }} push: true - tags: ${{ vars.BUILDKIT_IMAGE }}:${{ matrix.php }} + platforms: ${{ matrix.platforms }} + build-args: | + phpVersion=${{ matrix.phpVersion }} + tags: ${{ vars.BUILDKIT_IMAGE }}:${{ matrix.tag }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9e84cfb..af33314 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - php: ["8.1", "8.2", "8.3", "8.4", "8.5"] + php: ["8.2", "8.3", "8.4", "8.5"] variant: ["debian", "alpine"] steps: - uses: actions/checkout@v7 diff --git a/Makefile b/Makefile index 35642a6..28de145 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ IMAGE_NAME?=jkaninda/laravel-php-fpm -PHP_VERSIONS?=8.1 8.2 8.3 8.4 8.5 +PHP_VERSIONS?=8.2 8.3 8.4 8.5 LATEST_PHP?=8.5 .PHONY: all @@ -17,7 +17,8 @@ build-latest: build-$(LATEST_PHP) build-$(LATEST_PHP)-alpine docker tag ${IMAGE_NAME}:$(LATEST_PHP) ${IMAGE_NAME}:latest docker tag ${IMAGE_NAME}:$(LATEST_PHP)-alpine ${IMAGE_NAME}:alpine -# Legacy images (7.2, 7.3, 7.4, 8.0) +# Legacy images (7.2, 7.3, 7.4, 8.0). PHP 8.1 is legacy too but uses the +# shared Dockerfiles: make build-8.1 / make build-8.1-alpine .PHONY: build-7.2 build-7.3 build-7.4 build-8.0 build-7.2 build-7.3 build-7.4 build-8.0: build-%: docker build -f src/docker/$*/Dockerfile -t ${IMAGE_NAME}:$* . diff --git a/README.md b/README.md index 4b91234..272e383 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,8 @@ This image is ideal for developers looking for a streamlined, high-performance s | 8.4 | `8.4` | `8.4-alpine` | | 8.3 | `8.3` | `8.3-alpine` | | 8.2 | `8.2` | `8.2-alpine` | -| 8.1 | `8.1` | `8.1-alpine` | -Legacy images (no longer rebuilt automatically, PHP is end-of-life): `8.0`, `7.4`, `7.3`, `7.2`. - -> [!NOTE] -> PHP 8.1 is end-of-life upstream. The image is still built, but please plan an upgrade. +Legacy images (PHP is end-of-life, no longer rebuilt automatically or tested): `8.1`, `8.1-alpine`, `8.0`, `7.4`, `7.3`, `7.2`. ---