yurake/k8s-3tier-webapp

View on GitHub
.github/workflows/dockerfile-lint.yml

Summary

Maintainability
Test Coverage
name: Dockerfile Lint

on:
  push:
    branches:
      - master
    paths:
      - "kubernetes/**"
      - "!kubernetes/bin/**"
      - ".github/workflows/dockerfile-lint.yml"
  pull_request:
    paths:
      - "kubernetes/**"
      - "!kubernetes/bin/**"
      - ".github/workflows/dockerfile-lint.yml"

jobs:
  dockerfile_default:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        dockerfile_default:
          [mysql, postgres, mongodb, rabbitmq, nginx, cassandra]
    steps:
      - uses: actions/checkout@v4.1.7
      - name: lint ${{ matrix.dockerfile_default }}
        uses: hadolint/hadolint-action@v3.1.0
        with:
          dockerfile: kubernetes/${{ matrix.dockerfile_default }}/Dockerfile
          verbose: true

  dockerfile_application:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        dockerfile_application:
          [
            consumer-activemq-quarkus,
            consumer-hazelcast-quarkus,
            consumer-kafka-quarkus,
            consumer-rabbitmq-quarkus,
            consumer-redis-quarkus,
            converter-kafka-quarkus,
            converter-rabbitmq-quarkus,
            jaxrs-activemq-quarkus,
            jaxrs-cassandra-quarkus,
            jaxrs-grpc-quarkus,
            jaxrs-hazelcast-quarkus,
            jaxrs-kafka-quarkus,
            jaxrs-memcached-quarkus,
            jaxrs-mongodb-quarkus,
            jaxrs-mysql-quarkus,
            jaxrs-postgres-quarkus,
            jaxrs-rabbitmq-quarkus,
            jaxrs-redis-quarkus,
            producer-kafka-quarkus,
            randompublish-quarkus,
            scheduled-quarkus,
            server-grpc-quarkus,
          ]
    steps:
      - uses: actions/checkout@v4.1.7
      - name: lint ${{ matrix.dockerfile_application }}
        uses: hadolint/hadolint-action@v3.1.0
        with:
          dockerfile: application/${{ matrix.dockerfile_application }}/src/main/docker/Dockerfile.jvm
          verbose: true
          ignore: DL3038,DL3041

  dockerfile_monitoring:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        dockerfile_monitoring: [jenkins]
    steps:
      - uses: actions/checkout@v4.1.7
      - name: lint ${{ matrix.dockerfile_monitoring }}
        uses: hadolint/hadolint-action@v3.1.0
        with:
          dockerfile: kubernetes/monitoring/${{ matrix.dockerfile_monitoring }}/Dockerfile
          verbose: true

  dockerfile_ab:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        dockerfile_ab: [ab]
    steps:
      - uses: actions/checkout@v4.1.7
      - name: lint ${{ matrix.dockerfile_ab }}
        uses: hadolint/hadolint-action@v3.1.0
        with:
          dockerfile: kubernetes/monitoring/test/${{ matrix.dockerfile_ab }}/Dockerfile
          verbose: true

  dockerfile_postmannewman:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4.1.7
      - name: lint ${{ matrix.dockerfile_postmannewman }}
        uses: hadolint/hadolint-action@v3.1.0
        with:
          dockerfile: kubernetes/monitoring/test/postmannewman/quarkus/Dockerfile
          verbose: true