Skip to content

use xdebug release id in workflows #63

use xdebug release id in workflows

use xdebug release id in workflows #63

name: Docker images inspect
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
prepare_env:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
- name: Composer install
uses: ramsey/composer-install@v3
with:
dependency-versions: highest
composer-options: "--prefer-dist"
- id: set_date
run: echo "build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_OUTPUT
- id: set_vcs
run: echo "vcs_ref=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- id: set_matrix
run: echo "matrix=$(bin/phpdev export-build `curl -s https://github.com/xdebug/xdebug/releases.atom | grep "<id>.*/[0-9]*\.[0-9]*\.[0-9]*</id>" | sed -E "s/\s*<id>.*\/([0-9]*\.[0-9]*\.[0-9]*)<\/id>/<release>\1<\/release>/" | awk -F '[<>]' '{ print $3; exit }'`)" >> $GITHUB_OUTPUT
outputs:
build_date: ${{ steps.set_date.outputs.build_date }}
vcs_ref: ${{ steps.set_vcs.outputs.vcs_ref }}
builds: ${{ steps.set_matrix.outputs.matrix }}
build:
needs: prepare_env
strategy:
fail-fast: false
matrix:
builds: ${{ fromJson(needs.prepare_env.outputs.builds) }}
name: Build image ${{ matrix.builds.variant }} ${{ matrix.builds.version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
- name: Composer install
uses: ramsey/composer-install@v3
with:
dependency-versions: highest
composer-options: "--prefer-dist"
- name: Scaffold image
run: bin/phpdev scaffold-image ${{ matrix.builds.variant }} ${{ matrix.builds.version }} --directory dist/${{ matrix.builds.variant }}/${{ matrix.builds.version }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build locally
uses: docker/build-push-action@v5
with:
context: dist/${{ matrix.builds.variant }}/${{ matrix.builds.version }}
load: true
pull: true
tags: juliangut/phpdev:test
build-args: |
BUILD_DATE=${{ needs.prepare_env.outputs.build_date }}
VCS_REF=${{ needs.prepare_env.outputs.vcs_ref }}
XDEBUG_VERSION=${{ matrix.builds.xdebug }}
if: ${{ github.ref_type == 'branch' }}
- name: Inspect image
run: docker image inspect juliangut/phpdev:test
if: ${{ github.ref_type == 'branch' }}