mirror of
https://github.com/langgenius/dify.git
synced 2026-01-14 06:07:33 +08:00
Signed-off-by: -LAN- <laipz8200@outlook.com> Signed-off-by: kenwoodjw <blackxin55+@gmail.com> Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com> Signed-off-by: yihong0618 <zouzou0208@gmail.com> Signed-off-by: zhanluxianshen <zhanluxianshen@163.com> Co-authored-by: -LAN- <laipz8200@outlook.com> Co-authored-by: GuanMu <ballmanjq@gmail.com> Co-authored-by: Davide Delbianco <davide.delbianco@outlook.com> Co-authored-by: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com> Co-authored-by: kenwoodjw <blackxin55+@gmail.com> Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com> Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com> Co-authored-by: Qiang Lee <18018968632@163.com> Co-authored-by: 李强04 <liqiang04@gaotu.cn> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Asuka Minato <i@asukaminato.eu.org> Co-authored-by: Matri Qi <matrixdom@126.com> Co-authored-by: huayaoyue6 <huayaoyue@163.com> Co-authored-by: Bowen Liang <liangbowen@gf.com.cn> Co-authored-by: znn <jubinkumarsoni@gmail.com> Co-authored-by: crazywoola <427733928@qq.com> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: yihong <zouzou0208@gmail.com> Co-authored-by: Muke Wang <shaodwaaron@gmail.com> Co-authored-by: wangmuke <wangmuke@kingsware.cn> Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Co-authored-by: quicksand <quicksandzn@gmail.com> Co-authored-by: 非法操作 <hjlarry@163.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: Eric Guo <eric.guocz@gmail.com> Co-authored-by: Zhedong Cen <cenzhedong2@126.com> Co-authored-by: jiangbo721 <jiangbo721@163.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: hjlarry <25834719+hjlarry@users.noreply.github.com> Co-authored-by: lxsummer <35754229+lxjustdoit@users.noreply.github.com> Co-authored-by: 湛露先生 <zhanluxianshen@163.com> Co-authored-by: Guangdong Liu <liugddx@gmail.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Yessenia-d <yessenia.contact@gmail.com> Co-authored-by: huangzhuo1949 <167434202+huangzhuo1949@users.noreply.github.com> Co-authored-by: huangzhuo <huangzhuo1@xiaomi.com> Co-authored-by: 17hz <0x149527@gmail.com> Co-authored-by: Amy <1530140574@qq.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Nite Knite <nkCoding@gmail.com> Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com> Co-authored-by: Petrus Han <petrus.hanks@gmail.com> Co-authored-by: iamjoel <2120155+iamjoel@users.noreply.github.com> Co-authored-by: Kalo Chin <frog.beepers.0n@icloud.com> Co-authored-by: Ujjwal Maurya <ujjwalsbx@gmail.com> Co-authored-by: Maries <xh001x@hotmail.com>
179 lines
4.7 KiB
YAML
179 lines
4.7 KiB
YAML
name: Style check
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
concurrency:
|
|
group: style-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
checks: write
|
|
statuses: write
|
|
contents: read
|
|
|
|
|
|
jobs:
|
|
python-style:
|
|
name: Python Style
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Check changed files
|
|
id: changed-files
|
|
uses: tj-actions/changed-files@v46
|
|
with:
|
|
files: |
|
|
api/**
|
|
.github/workflows/style.yml
|
|
|
|
- name: Setup UV and Python
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
uses: astral-sh/setup-uv@v6
|
|
with:
|
|
enable-cache: false
|
|
python-version: "3.12"
|
|
cache-dependency-glob: api/uv.lock
|
|
|
|
- name: Install dependencies
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
run: uv sync --project api --dev
|
|
|
|
- name: Ruff check
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
run: |
|
|
uv run --directory api ruff --version
|
|
uv run --directory api ruff check ./
|
|
uv run --directory api ruff format --check ./
|
|
|
|
- name: Dotenv check
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
run: uv run --project api dotenv-linter ./api/.env.example ./web/.env.example
|
|
|
|
- name: Lint hints
|
|
if: failure()
|
|
run: echo "Please run 'dev/reformat' to fix the fixable linting errors."
|
|
|
|
web-style:
|
|
name: Web Style
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: ./web
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Check changed files
|
|
id: changed-files
|
|
uses: tj-actions/changed-files@v46
|
|
with:
|
|
files: web/**
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
package_json_file: web/package.json
|
|
run_install: false
|
|
|
|
- name: Setup NodeJS
|
|
uses: actions/setup-node@v4
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
with:
|
|
node-version: 22
|
|
cache: pnpm
|
|
cache-dependency-path: ./web/package.json
|
|
|
|
- name: Web dependencies
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
working-directory: ./web
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Web style check
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
working-directory: ./web
|
|
run: pnpm run lint
|
|
|
|
docker-compose-template:
|
|
name: Docker Compose Template
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Check changed files
|
|
id: changed-files
|
|
uses: tj-actions/changed-files@v46
|
|
with:
|
|
files: |
|
|
docker/generate_docker_compose
|
|
docker/.env.example
|
|
docker/docker-compose-template.yaml
|
|
docker/docker-compose.yaml
|
|
|
|
- name: Generate Docker Compose
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
run: |
|
|
cd docker
|
|
./generate_docker_compose
|
|
|
|
- name: Check for changes
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
run: git diff --exit-code
|
|
|
|
superlinter:
|
|
name: SuperLinter
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
|
|
- name: Check changed files
|
|
id: changed-files
|
|
uses: tj-actions/changed-files@v46
|
|
with:
|
|
files: |
|
|
**.sh
|
|
**.yaml
|
|
**.yml
|
|
**Dockerfile
|
|
dev/**
|
|
.editorconfig
|
|
|
|
- name: Super-linter
|
|
uses: super-linter/super-linter/slim@v8
|
|
if: steps.changed-files.outputs.any_changed == 'true'
|
|
env:
|
|
BASH_SEVERITY: warning
|
|
DEFAULT_BRANCH: origin/main
|
|
EDITORCONFIG_FILE_NAME: editorconfig-checker.json
|
|
FILTER_REGEX_INCLUDE: pnpm-lock.yaml
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
IGNORE_GENERATED_FILES: true
|
|
IGNORE_GITIGNORED_FILES: true
|
|
VALIDATE_BASH: true
|
|
VALIDATE_BASH_EXEC: true
|
|
# FIXME: temporarily disabled until api-docker.yaml's run script is fixed for shellcheck
|
|
# VALIDATE_GITHUB_ACTIONS: true
|
|
VALIDATE_DOCKERFILE_HADOLINT: true
|
|
VALIDATE_EDITORCONFIG: true
|
|
VALIDATE_XML: true
|
|
VALIDATE_YAML: true
|