#
# SPDX-License-Identifier: Apache-2.0
#
name: Lint 🎉
run-name: ${{ github.actor }} is linting fabric-samples 🎉

on:
  workflow_dispatch:
  push:
    branches: [ "main", "release-2.5" ]
  pull_request:
    branches: [ "main", "release-2.5" ]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

env:
  GO_VER: 1.20.7
  NODE_VER: 18.x
  JAVA_VER: 11.x

jobs:
  go:
    runs-on: fabric-ubuntu-20.04
    steps:
      - uses: actions/setup-go@v3
        with:
          go-version: ${{ env.GO_VER }}
      - uses: actions/checkout@v3
      - run: go install golang.org/x/tools/cmd/goimports@latest
      - run: ci/scripts/lint-go.sh

  typescript:
    runs-on: fabric-ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: ${{ env.NODE_VER }}
      - run: ci/scripts/lint-typescript.sh

  javascript:
    runs-on: fabric-ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: ${{ env.NODE_VER }}
      - run: ci/scripts/lint-javascript.sh

  java:
    runs-on: fabric-ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v3
        with:
          distribution: temurin
          java-version: ${{ env.JAVA_VER }}
      - run: ci/scripts/lint-java.sh

  shell:
    runs-on: fabric-ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - run: ci/scripts/lint-shell.sh
