Browse Source

improvement: introduce Super-Linter actions to check style for shell script, dockerfile and yaml files (#1966)

Bowen Liang 1 year ago
parent
commit
c32c177e15

+ 1 - 0
.github/ISSUE_TEMPLATE/document_issue.yml

@@ -7,6 +7,7 @@ body:
   attributes:
     label: Self Checks
     description: "To make sure we get to you in time, please check the following :)"
+    options:
       - label: I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones.
         required: true
       - label: I confirm that I am using English to file this report (我已阅读并同意 [Language Policy](https://github.com/langgenius/dify/issues/1542)).

+ 1 - 1
.github/ISSUE_TEMPLATE/help_wanted.yml

@@ -1,5 +1,5 @@
 name: "🤝 Help Wanted"
-description: "Request help from the community" [please use English :)]
+description: "Request help from the community [please use English :)]"
 labels:
 - help-wanted
 body:

+ 1 - 0
.github/linters/.hadolint.yaml

@@ -0,0 +1 @@
+failure-threshold: "error"

+ 15 - 0
.github/linters/.yaml-lint.yml

@@ -0,0 +1,15 @@
+---
+
+extends: default
+
+rules:
+  brackets:
+    max-spaces-inside: 1
+  document-start: disable
+  indentation:
+    level: warning
+  line-length: disable
+  new-line-at-end-of-file:
+    level: warning
+  trailing-spaces:
+    level: warning

+ 20 - 0
.github/workflows/style.yml

@@ -8,8 +8,13 @@ on:
     branches:
       - deploy/dev
 
+concurrency:
+  group: dep-${{ github.head_ref || github.run_id }}
+  cancel-in-progress: true
+
 jobs:
   test:
+    name: ESLint and SuperLinter
     runs-on: ubuntu-latest
 
     steps:
@@ -32,3 +37,18 @@ jobs:
       run: |
         cd ./web
         yarn run lint
+
+    - name: Super-linter
+      uses: super-linter/super-linter/slim@v5
+      env:
+        BASH_SEVERITY: warning
+        DEFAULT_BRANCH: main
+        ERROR_ON_MISSING_EXEC_BIT: true
+        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        IGNORE_GENERATED_FILES: true
+        IGNORE_GITIGNORED_FILES: true
+        VALIDATE_BASH: true
+        VALIDATE_BASH_EXEC: true
+        VALIDATE_GITHUB_ACTIONS: true
+        VALIDATE_DOCKERFILE_HADOLINT: true
+        VALIDATE_YAML: true

+ 1 - 1
api/docker/entrypoint.sh

@@ -251,7 +251,7 @@ services:
     # Set the redis password when startup redis server.
     command: redis-server --requirepass difyai123456
     healthcheck:
-      test: ["CMD", "redis-cli","ping"]
+      test: [ "CMD", "redis-cli", "ping" ]
     # uncomment to expose redis port to host
     # ports:
     #   - "6379:6379"

+ 2 - 2
web/docker/entrypoint.sh

@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 set -e
 
@@ -20,4 +20,4 @@ fi
 export NEXT_PUBLIC_SENTRY_DSN=${SENTRY_DSN}
 export NEXT_PUBLIC_SITE_ABOUT=${SITE_ABOUT}
 
-node ./server.js
+node ./server.js