Skip to content

publish-otel-php-base-docker-image #255

publish-otel-php-base-docker-image

publish-otel-php-base-docker-image #255

name: publish-otel-php-base-docker-image
on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch:
push:
paths:
- docker/Dockerfile
- .github/workflows/publish-otel-php-base-docker-image.yml
pull_request:
paths:
- docker/Dockerfile
- .github/workflows/publish-otel-php-base-docker-image.yml
jobs:
push_to_registry:
name: OpenTelemetry PHP base docker image creation
strategy:
matrix:
php-version: ['8.0', '8.1', '8.2', '8.3', '8.4']
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
timeout-minutes: 500
steps:
- name: check out the repo
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push ${{ matrix.php-version }} to ghcr.io
uses: docker/build-push-action@v6
if: github.ref != 'refs/heads/main'
with:
push: false
file: docker/Dockerfile
build-args: PHP_VERSION=${{ matrix.php-version }}
platforms: linux/amd64,linux/arm/v8,linux/arm64
tags: ghcr.io/open-telemetry/opentelemetry-php/opentelemetry-php-base:${{ matrix.php-version }}
- name: Build and push ${{ matrix.php-version }} to ghcr.io
uses: docker/build-push-action@v6
if: github.ref == 'refs/heads/main'
with:
push: true
file: docker/Dockerfile
build-args: PHP_VERSION=${{ matrix.php-version }}
platforms: linux/amd64,linux/arm/v8,linux/arm64
tags: ghcr.io/open-telemetry/opentelemetry-php/opentelemetry-php-base:${{ matrix.php-version }}