From fdf71460f99e67d4054dd642af94384c6fc52cc0 Mon Sep 17 00:00:00 2001
From: silverwind <me@silverwind.io>
Date: Thu, 29 Jun 2023 16:37:41 +0200
Subject: [PATCH] Fix `lint-swagger` action (#25593)

- Add detection for swagger changes and run `lint-swagger` on it
- Remove `lint-swagger` from `lint-frontend`
- Remove `lint-md` from `lint-frontend`
---
 .github/workflows/files-changed.yml   |  6 ++++++
 .github/workflows/pull-compliance.yml | 12 ++++++++++++
 Makefile                              |  4 ++--
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/files-changed.yml b/.github/workflows/files-changed.yml
index 0d43e191a3..658d3a9bea 100644
--- a/.github/workflows/files-changed.yml
+++ b/.github/workflows/files-changed.yml
@@ -15,6 +15,8 @@ on:
         value: ${{ jobs.detect.outputs.templates }}
       docker:
         value: ${{ jobs.detect.outputs.docker }}
+      swagger:
+        value: ${{ jobs.detect.outputs.swagger }}
 
 jobs:
   detect:
@@ -27,6 +29,7 @@ jobs:
       actions: ${{ steps.changes.outputs.actions }}
       templates: ${{ steps.changes.outputs.templates }}
       docker: ${{ steps.changes.outputs.docker }}
+      swagger: ${{ steps.changes.outputs.swagger }}
     steps:
       - uses: actions/checkout@v3
       - uses: dorny/paths-filter@v2
@@ -63,3 +66,6 @@ jobs:
               - "Dockerfile.rootless"
               - "docker/**"
               - "Makefile"
+
+            swagger:
+              - "templates/swagger/v1_json.tmpl"
diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml
index 71e4fe02dc..c8bef283a9 100644
--- a/.github/workflows/pull-compliance.yml
+++ b/.github/workflows/pull-compliance.yml
@@ -39,6 +39,18 @@ jobs:
       - run: make deps-py
       - run: make lint-templates
 
+  lint-swagger:
+    if: needs.files-changed.outputs.swagger == 'true'
+    needs: files-changed
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-node@v3
+        with:
+          node-version: 20
+      - run: make deps-frontend
+      - run: make lint-swagger
+
   lint-go-windows:
     if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
     needs: files-changed
diff --git a/Makefile b/Makefile
index d1989fbcb7..0c4b42a8c5 100644
--- a/Makefile
+++ b/Makefile
@@ -360,10 +360,10 @@ lint: lint-frontend lint-backend
 lint-fix: lint-frontend-fix lint-backend-fix
 
 .PHONY: lint-frontend
-lint-frontend: lint-js lint-css lint-md lint-swagger
+lint-frontend: lint-js lint-css
 
 .PHONY: lint-frontend-fix
-lint-frontend-fix: lint-js-fix lint-css-fix lint-md lint-swagger
+lint-frontend-fix: lint-js-fix lint-css-fix
 
 .PHONY: lint-backend
 lint-backend: lint-go lint-go-vet lint-editorconfig