@@ -39,6 +39,138 @@ jobs:
3939 echo "$MATRIX" >> $GITHUB_OUTPUT
4040 echo 'EOF' >> $GITHUB_OUTPUT
4141
42+ frankenphp-amd64 :
43+ name : FrankenPHP (amd64)
44+ runs-on : ubuntu-24.04
45+
46+ needs : [generate-matrix]
47+ strategy : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
48+ steps :
49+ - name : Checkout
50+ uses : actions/checkout@v4
51+
52+ - name : Set up Docker Buildx
53+ uses : docker/setup-buildx-action@v3
54+
55+ - name : Login into Docker Hub
56+ if : github.ref == 'refs/heads/main'
57+ run : echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
58+
59+ - name : Login into Github Docker Registery
60+ run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
61+
62+ - name : Build and Push
63+ if : matrix.php != '8.1'
64+ uses : docker/build-push-action@v6
65+ with :
66+ tags : |
67+ ${{ matrix.frankenphp-tags-amd64 }}
68+ context : frankenphp
69+ cache-from : type=gha,scope=frankenphp-${{ matrix.php }}-amd64
70+ cache-to : type=gha,mode=max,scope=frankenphp-${{ matrix.php }}-amd64
71+ platforms : linux/amd64
72+ build-args : |
73+ PHP_VERSION=${{ matrix.php }}
74+ PHP_PATCH_VERSION=${{ matrix.phpPatch }}
75+ PHP_DIGEST=${{ matrix.phpPatchDigest }}
76+ REDIS_PHP_MODULE=${{ matrix.redisPHPModule }}
77+ push : true
78+ provenance : false
79+
80+ frankenphp-arm64 :
81+ name : FrankenPHP (arm64)
82+ runs-on : ubuntu-24.04-arm
83+
84+ needs : [generate-matrix]
85+ strategy : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
86+ steps :
87+ - name : Checkout
88+ uses : actions/checkout@v4
89+
90+ - name : Set up Docker Buildx
91+ uses : docker/setup-buildx-action@v3
92+
93+ - name : Login into Docker Hub
94+ if : github.ref == 'refs/heads/main'
95+ run : echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
96+
97+ - name : Login into Github Docker Registery
98+ run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
99+
100+ - name : Build and Push
101+ if : matrix.php != '8.1'
102+ uses : docker/build-push-action@v6
103+ with :
104+ tags : |
105+ ${{ matrix.frankenphp-tags-arm64 }}
106+ context : frankenphp
107+ cache-from : type=gha,scope=frankenphp-${{ matrix.php }}-arm64
108+ cache-to : type=gha,mode=max,scope=frankenphp-${{ matrix.php }}-arm64
109+ platforms : linux/arm64
110+ build-args : |
111+ PHP_VERSION=${{ matrix.php }}
112+ PHP_PATCH_VERSION=${{ matrix.phpPatch }}
113+ PHP_DIGEST=${{ matrix.phpPatchDigest }}
114+ REDIS_PHP_MODULE=${{ matrix.redisPHPModule }}
115+ push : true
116+ provenance : false
117+
118+ frankenphp :
119+ name : FrankenPHP merge manifest
120+ runs-on : ubuntu-24.04
121+
122+ strategy : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
123+ needs : [generate-matrix, frankenphp-amd64, frankenphp-arm64]
124+ steps :
125+ - name : Login into Docker Hub
126+ if : github.ref == 'refs/heads/main'
127+ run : echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
128+
129+ - name : Login into Github Docker Registery
130+ run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
131+
132+ - name : Merge manifest
133+ if : matrix.php != '8.1'
134+ run : |
135+ ${{ matrix.frankenphp-merge }}
136+
137+ frankenphp-otel :
138+ name : FrankenPHP OTEL
139+ runs-on : ubuntu-24.04
140+ needs : [generate-matrix, frankenphp]
141+ strategy : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
142+ steps :
143+ - name : Checkout
144+ uses : actions/checkout@v4
145+
146+ - name : Set up Docker Buildx
147+ uses : docker/setup-buildx-action@v3
148+
149+ - name : Set up QEMU
150+ uses : docker/setup-qemu-action@v3
151+
152+ - name : Login into Docker Hub
153+ if : github.ref == 'refs/heads/main'
154+ run : echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
155+
156+ - name : Login into Github Docker Registery
157+ run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
158+
159+ - name : Build and Push
160+ if : matrix.php != '8.1'
161+ uses : docker/build-push-action@v6
162+ with :
163+ tags : |
164+ ${{ matrix.frankenphp-tags-otel }}
165+ context : frankenphp-otel
166+ platforms : linux/amd64,linux/arm64
167+ cache-from : type=gha,scope=frankenphp-otel-${{ matrix.php }}
168+ cache-to : type=gha,mode=max,scope=frankenphp-otel-${{ matrix.php }}
169+ build-args : |
170+ FRANKENPHP_IMAGE=${{ matrix.frankenphp-image }}
171+ push : true
172+ provenance : false
173+
42174 fpm-amd64 :
43175 name : PHP FPM ${{ matrix.php }} (amd64)
44176 runs-on : ubuntu-24.04
0 commit comments