-
Notifications
You must be signed in to change notification settings - Fork 3
81 lines (75 loc) · 2.36 KB
/
php.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Copyright New Relic, Inc.
# SPDX-License-Identifier: Apache-2.0
---
name: "PHP Init Container CI"
concurrency:
group: ${{ github.ref_name || github.ref || github.run_id }}-${{ github.workflow }}
cancel-in-progress: true
on:
pull_request:
paths:
- 'src/php/**'
- 'tests/php/**'
- '.github/workflows/php.yml'
- '.github/workflows/publish.yml'
- '.github/workflows/test.yml'
- '.github/actions/**'
push:
paths:
- 'src/php/**'
- 'tests/php/**'
- '.github/workflows/php.yml'
- '.github/workflows/publish.yml'
- '.github/workflows/test.yml'
- '.github/actions/**'
branches:
- main
# Do not run when a tag is created.
tags-ignore:
- "**"
release:
types:
- published
workflow_call:
# Declare default permissions as read only.
permissions: read-all
jobs:
test:
if: github.event_name != 'release' || (github.event_name == 'release' && endsWith(github.ref, '_php')) # Skip everything if this isn't PHP
secrets: inherit
uses: ./.github/workflows/test.yml
strategy:
fail-fast: false
matrix:
php-version: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
libc: [gnu, musl]
arch: [linux/amd64, linux/arm64]
exclude:
- arch: linux/arm64
php-version: '7.2'
- arch: linux/arm64
php-version: '7.3'
- arch: linux/arm64
php-version: '7.4'
with:
INITCONTAINER_LANGUAGE: php
ARCHITECTURE: ${{ matrix.arch }}
INITCONTAINER_BUILD_ARGS: LIBC=${{ matrix.libc }}
TEST_APP_BUILD_ARGS: PHP_IMAGE_TAG=${{ matrix.php-version }}-${{ matrix.libc == 'musl' && 'fpm-alpine' || 'fpm' }}
TEST_APP_HELM_CHART_ARGS: --set=phpVersion=${{ matrix.php-version }}
publish:
if: github.event_name == 'release' && endsWith(github.ref, '_php') # Skip everything if this isn't PHP
needs: test
uses: ./.github/workflows/publish.yml
secrets: inherit
strategy:
fail-fast: false
matrix:
libc: [gnu, musl]
with:
INITCONTAINER_LANGUAGE: php
ARCHITECTURE: linux/amd64,linux/arm64
DOCKER_IMAGE_NAME: newrelic/newrelic-php-init
DOCKER_IMAGE_TAG_SUFFIX: ${{ matrix.libc == 'gnu' && 'glibc' || 'musl' }}
DOCKER_IMAGE_TAG_IS_DEFAULT_SUFFIX: ${{ matrix.libc == 'gnu' }}
BUILD_ARGS: LIBC=${{ matrix.libc }}