Skip to content

Commit 8ceb734

Browse files
authored
Add PHP 8.4 support (#46)
* Add php 8.4 support * Update PHP version to 8.4 in goss.yaml and readme.md * Update PHP version to 8.4 in .github/workflows/php-8.4-publish.yml * Update PHP version to 8.4 in readme.md
1 parent 3507175 commit 8ceb734

File tree

5 files changed

+156
-0
lines changed

5 files changed

+156
-0
lines changed

.github/workflows/php-8.4-publish.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: php-8.4-publish
2+
on:
3+
release:
4+
types: [published]
5+
6+
jobs:
7+
publish:
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v2
12+
13+
- uses: ./.github/actions/docker-publish
14+
name: Build and Publish (8.4)
15+
with:
16+
version: 8.4
17+
docker-username: ${{ secrets.DOCKER_USERNAME }}
18+
docker-password: ${{ secrets.DOCKER_TOKEN }}
19+
20+
validate:
21+
runs-on: ubuntu-latest
22+
needs: publish
23+
container:
24+
image: kirschbaumdevelopment/laravel-test-runner:8.3
25+
26+
steps:
27+
- uses: actions/checkout@v2
28+
- run: |
29+
curl -fsSL https://goss.rocks/install | GOSS_VER=v${GOSS_VERSION} sh
30+
goss --gossfile 8.3/goss.yaml validate

8.4/Dockerfile

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
FROM ubuntu:22.04
2+
LABEL maintainer="Pushpak Chhajed <pushpak1330#gmail.com>"
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
5+
ENV PHP_VERSION="8.4"
6+
ENV GOSS_VERSION="0.4.4"
7+
ENV NODE_MAJOR="20"
8+
9+
RUN apt-get update && apt-get install -y software-properties-common curl ca-certificates gnupg
10+
RUN add-apt-repository ppa:ondrej/php -y
11+
RUN add-apt-repository ppa:git-core/ppa -y
12+
RUN apt-get update -y
13+
RUN apt-get install -y \
14+
unzip \
15+
php${PHP_VERSION}-cli \
16+
php${PHP_VERSION}-gd \
17+
php${PHP_VERSION}-ldap \
18+
php${PHP_VERSION}-mbstring \
19+
php${PHP_VERSION}-mysql \
20+
php${PHP_VERSION}-pgsql \
21+
php${PHP_VERSION}-sqlite3 \
22+
php${PHP_VERSION}-xml \
23+
php${PHP_VERSION}-xsl \
24+
php${PHP_VERSION}-zip \
25+
php${PHP_VERSION}-curl \
26+
php${PHP_VERSION}-soap \
27+
php${PHP_VERSION}-gmp \
28+
php${PHP_VERSION}-bcmath \
29+
php${PHP_VERSION}-intl \
30+
php${PHP_VERSION}-imap \
31+
php${PHP_VERSION}-phpdbg \
32+
php${PHP_VERSION}-bz2 \
33+
php${PHP_VERSION}-redis
34+
35+
# composer
36+
ENV COMPOSER_HOME=/composer
37+
ENV PATH=./vendor/bin:/composer/vendor/bin:/root/.yarn/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
38+
ENV COMPOSER_ALLOW_SUPERUSER=1
39+
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
40+
41+
# mysql client
42+
RUN apt-get install -y mysql-client
43+
44+
# git
45+
RUN apt-get install -y git
46+
47+
# node
48+
RUN mkdir -p /etc/apt/keyrings
49+
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
50+
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
51+
RUN apt-get update && apt-get install nodejs -y
52+
53+
54+
# yarn
55+
RUN npm install -g yarn

8.4/goss.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
command:
2+
node --version:
3+
exit-status: 0
4+
stdout:
5+
- "v20"
6+
yarn --version:
7+
exit-status: 0
8+
npm --version:
9+
exit-status: 0
10+
stdout:
11+
- "10"
12+
git --version:
13+
exit-status: 0
14+
composer --version:
15+
exit-status: 0
16+
php --version:
17+
exit-status: 0
18+
stdout:
19+
- "8.4"
20+
php -m:
21+
exit-status: 0
22+
stdout:
23+
- bcmath
24+
- calendar
25+
- exif
26+
- gd
27+
- iconv
28+
- imap
29+
- intl
30+
- ldap
31+
- mbstring
32+
- mysqli
33+
- pcntl
34+
- pdo_mysql
35+
- pdo_pgsql
36+
- pgsql
37+
- soap
38+
- xml
39+
- zip

8.4/readme.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Laravel Test Runner - PHP 8.4
2+
3+
Docker Container with PHP 8.4 and extensions to be compatible with most Laravel applications. Also installed on this container we have Composer and NodeJS/NPM/Yarn.
4+
5+
## Building and pushing the image
6+
7+
**Build**:
8+
9+
```
10+
docker build --pull -t kirschbaumdevelopment/laravel-test-runner .
11+
```
12+
13+
**Tag**:
14+
15+
```
16+
docker tag kirschbaumdevelopment/laravel-test-runner:latest kirschbaumdevelopment/laravel-test-runner:8.4
17+
```
18+
19+
**Push**:
20+
21+
```
22+
docker push kirschbaumdevelopment/laravel-test-runner:8.4
23+
```
24+
25+
## Credits
26+
27+
- [Pushpak Chhajed](https://github.com/pushpak1300)
28+
29+
## Sponsorship
30+
31+
Development of this package is sponsored by Kirschbaum Development Group, a developer driven company focused on problem solving, team building, and community. Learn more [about us](https://kirschbaumdevelopment.com) or [join us](https://careers.kirschbaumdevelopment.com)!

readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ This is a [docker container](https://cloud.docker.com/u/kirschbaumdevelopment/re
99

1010
| PHP version | Link | Status | Container Tag |
1111
| ---------- |-----------------------------------------------------------------------------------------------| ------ | ------------- |
12+
| 8.4 | [🔗](https://github.com/kirschbaum-development/laravel-test-runner-container/blob/master/8.4) | [![Actions Status](https://github.com/kirschbaum-development/laravel-test-runner-container/workflows/php-8.4-publish/badge.svg)](https://github.com/kirschbaum-development/laravel-test-runner-container/actions) | kirschbaumdevelopment/laravel-test-runner:8.4 |
1213
| 8.3 | [🔗](https://github.com/kirschbaum-development/laravel-test-runner-container/blob/master/8.3) | [![Actions Status](https://github.com/kirschbaum-development/laravel-test-runner-container/workflows/php-8.3-publish/badge.svg)](https://github.com/kirschbaum-development/laravel-test-runner-container/actions) | kirschbaumdevelopment/laravel-test-runner:8.3 |
1314
| 8.2 | [🔗](https://github.com/kirschbaum-development/laravel-test-runner-container/blob/master/8.2) | [![Actions Status](https://github.com/kirschbaum-development/laravel-test-runner-container/workflows/php-8.2-validate/badge.svg)](https://github.com/kirschbaum-development/laravel-test-runner-container/actions) | kirschbaumdevelopment/laravel-test-runner:8.2 |
1415
| 8.1 | [🔗](https://github.com/kirschbaum-development/laravel-test-runner-container/blob/master/8.1) | [![Actions Status](https://github.com/kirschbaum-development/laravel-test-runner-container/workflows/php-8.1-validate/badge.svg)](https://github.com/kirschbaum-development/laravel-test-runner-container/actions) | kirschbaumdevelopment/laravel-test-runner:8.1 |

0 commit comments

Comments
 (0)