⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Validating build configuration with GitHub Actions

Les vérifications de construction vous permettent de valider votre configuration docker build sans réellement exécuter la construction.

Exécuter des vérifications avec docker/build-push-action

Pour exécuter des vérifications de construction dans un workflow GitHub Actions avec le build-push-action, définissez le paramètre d'entrée call sur check. Avec cette configuration, le workflow échoue si des avertissements de vérification sont détectés pour la configuration de votre construction.

name: ci

on:
  push:

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Validate build configuration
        uses: docker/build-push-action@v6
        with:
          call: check

      - name: Build and push
        uses: docker/build-push-action@v6
        with:
          push: true
          tags: user/app:latest

Exécuter des vérifications avec docker/bake-action

Si vous utilisez Bake et docker/bake-action pour exécuter vos constructions, vous n'avez pas besoin de spécifier d'entrées spéciales dans votre configuration de workflow GitHub Actions. Au lieu de cela, définissez une cible Bake qui appelle la méthode check, et invoquez cette cible dans votre CI.

target "build" {
  dockerfile = "Dockerfile"
  args = {
    FOO = "bar"
  }
}
target "validate-build" {
  inherits = ["build"]
  call = "check"
}
name: ci

on:
  push:

env:
  IMAGE_NAME: user/app

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ vars.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Validate build configuration
        uses: docker/bake-action@v6
        with:
          targets: validate-build

      - name: Build
        uses: docker/bake-action@v6
        with:
          targets: build
          push: true