github.1git.de/docker/cli@v26.1.3+incompatible/.github/workflows/validate.yml (about)

     1  name: validate
     2  
     3  concurrency:
     4    group: ${{ github.workflow }}-${{ github.ref }}
     5    cancel-in-progress: true
     6  
     7  on:
     8    workflow_dispatch:
     9    push:
    10      branches:
    11        - 'master'
    12        - '[0-9]+.[0-9]+'
    13      tags:
    14        - 'v*'
    15    pull_request:
    16  
    17  jobs:
    18    validate:
    19      runs-on: ubuntu-22.04
    20      strategy:
    21        fail-fast: false
    22        matrix:
    23          target:
    24            - lint
    25            - shellcheck
    26            - validate-vendor
    27            - update-authors # ensure authors update target runs fine
    28      steps:
    29        -
    30          name: Checkout
    31          uses: actions/checkout@v4
    32        -
    33          name: Run
    34          uses: docker/bake-action@v4
    35          with:
    36            targets: ${{ matrix.target }}
    37  
    38    # check that the generated Markdown and the checked-in files match
    39    validate-md:
    40      runs-on: ubuntu-22.04
    41      steps:
    42        -
    43          name: Checkout
    44          uses: actions/checkout@v4
    45        -
    46          name: Generate
    47          shell: 'script --return --quiet --command "bash {0}"'
    48          run: |
    49            make -f docker.Makefile mddocs
    50        -
    51          name: Validate
    52          run: |
    53            if [[ $(git diff --stat) != '' ]]; then
    54              echo 'fail: generated files do not match checked-in files'
    55              git --no-pager diff
    56              exit 1
    57            fi
    58  
    59    validate-make:
    60      runs-on: ubuntu-22.04
    61      strategy:
    62        fail-fast: false
    63        matrix:
    64          target:
    65            - yamldocs # ensure yamldocs target runs fine
    66            - manpages # ensure manpages target runs fine
    67      steps:
    68        -
    69          name: Checkout
    70          uses: actions/checkout@v4
    71        -
    72          name: Run
    73          shell: 'script --return --quiet --command "bash {0}"'
    74          run: |
    75            make -f docker.Makefile ${{ matrix.target }}