name: Samples Elm

on:
  push:
    paths:
      - samples/client/petstore/elm/**
      - samples/openapi3/client/elm/**
  pull_request:
    paths:
      - samples/client/petstore/elm/**
      - samples/openapi3/client/elm/**
jobs:
  build:
    name: Build Elm clients
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        sample:
          # clients
          - samples/client/petstore/elm
          - samples/openapi3/client/elm
    steps:
      - uses: actions/checkout@v3
      - uses: jorelali/setup-elm@v5
        with:
          elm-version: 0.19.1
      - name: Build
        working-directory: ${{ matrix.sample }}
        # Try to compile all .elm files
        # This fails if:
        # An .elm file couldn't be compiled
        # No .elm files were found
        # No elm.json file could be found in the root of the working directory
        run: elm make $(find . -name *.elm) --output=/dev/null
