Skip to content

try

try #1287

Workflow file for this run

name: Docker Build
'on':
push:
tags: [ '*.*.*-*' ]
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
env:
DOCKER_IMAGE: etriasnl/dev-php-fpm
jobs:
build:
strategy:
matrix:
runner: [ ubuntu-latest, ubuntu-bizhost ]
runs-on: ${{ matrix.runner }}
steps:
-
uses: actions/[email protected]
-
uses: docker/[email protected]
-
id: build
uses: docker/[email protected]
with:
context: .
load: true
provenance: false
# https://docs.docker.com/build/ci/github-actions/cache/#github-cache
cache-from: type=gha,scope=build-${{ matrix.runner }}
cache-to: type=gha,scope=build-${{ matrix.runner }},mode=max
-
run: |
set -eux
docker run --rm '${{ steps.build.outputs.imageid }}' php -v
docker run --rm '${{ steps.build.outputs.imageid }}' php -m
docker run --rm '${{ steps.build.outputs.imageid }}' composer --version
docker run --rm '${{ steps.build.outputs.imageid }}' composer --working-dir=/usr/local/etc/tools normalize --dry-run
docker run --rm '${{ steps.build.outputs.imageid }}' pt-online-schema-change --version
docker run --rm '${{ steps.build.outputs.imageid }}' node --version
docker run --rm '${{ steps.build.outputs.imageid }}' npm --version
docker run --rm '${{ steps.build.outputs.imageid }}' phplint --version
docker run --rm '${{ steps.build.outputs.imageid }}' php-cs-fixer --version --version
docker run --rm '${{ steps.build.outputs.imageid }}' phpunit --version
docker run --rm '${{ steps.build.outputs.imageid }}' psalm --version
docker run --rm '${{ steps.build.outputs.imageid }}' rector --version
docker run --rm '${{ steps.build.outputs.imageid }}' yamllint --version
docker run --rm '${{ steps.build.outputs.imageid }}' s3cmd --version
docker run --rm '${{ steps.build.outputs.imageid }}' shellcheck --version
docker run --rm '${{ steps.build.outputs.imageid }}' dotenv-linter --version
docker run --rm '${{ steps.build.outputs.imageid }}' nats --version
-
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
if: github.ref_type == 'tag'
-
id: meta
uses: docker/[email protected]
with:
images: ${{ env.DOCKER_IMAGE }}
flavor: |
latest=false
suffix=-${{ matrix.runner }}
if: github.ref_type == 'tag'
-
uses: docker/[email protected]
with:
context: .
push: true
provenance: false
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
# https://docs.docker.com/build/ci/github-actions/cache/#github-cache
cache-from: type=gha,scope=build-${{ matrix.runner }}
cache-to: type=gha,scope=build-${{ matrix.runner }},mode=max
if: github.ref_type == 'tag'
push:
needs: [ build ]
runs-on: ubuntu-latest
if: github.ref_type == 'tag'
steps:
-
uses: actions/[email protected]
-
uses: docker/[email protected]
-
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
-
id: meta
uses: docker/[email protected]
with:
images: ${{ env.DOCKER_IMAGE }}
flavor: |
latest=false
-
uses: Noelware/[email protected]
with:
inputs: ${{ steps.meta.outputs.tags }}
images: ${{ steps.meta.outputs.tags }}-ubuntu-latest,${{ steps.meta.outputs.tags }}-ubuntu-bizhost
push: true