diff --git a/.drone.yml b/.drone.yml index 0051e851b..9d6c8ee76 100644 --- a/.drone.yml +++ b/.drone.yml @@ -197,41 +197,37 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 - git clone https://github.com/dataelement/bisheng.git . - git checkout $DRONE_COMMIT - - name: set poetry + - name: set uv mirrors pull: if-not-exists image: golang environment: - NEXUS_PUBLIC: - from_secret: NEXUS_PUBLIC - NEXUS_PUBLIC_PASSWORD: - from_secret: NEXUS_PUBLIC_PASSWORD - REPO: - from_secret: PY_NEXUS PROXY: from_secret: APT-GET - volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置 + volumes: - name: bisheng-cache path: /app/build/ commands: - cd ./src/backend - - echo $REPO - - REPO2=$(echo $REPO | sed 's/http:\\/\\///g') - - sed '/apt-get/ s|$| '"$PROXY"'|' Dockerfile + - sed -i.bak 's/uv cache clean.*$/ /' Dockerfile - sed -i '6i\RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple' Dockerfile - - sed -i '7i\RUN export UV_PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple' Dockerfile + - sed -i '7i\ENV UV_PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple' Dockerfile + - sed -i '8i\ENV UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple' Dockerfile + - sed -i '9i\ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple' Dockerfile - cat Dockerfile - name: build_docker pull: if-not-exists image: docker:24.0.6 privileged: true - volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置 + volumes: - name: apt-cache - path: /var/cache/apt/archives # 将应用打包好的Jar和执行脚本挂载出来 + path: /var/cache/apt/archives - name: socket path: /var/run/docker.sock - name: pro-cache path: /root/.local/share/pypoetry + - name: uv-cache + path: /root/.cache/uv environment: http_proxy: from_secret: PROXY @@ -285,6 +281,19 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 - docker build -t $docker_repo:$version . - docker push $docker_repo:$version + - name: ssh deploy + image: appleboy/drone-ssh + pull: if-not-exists + settings: + host: 192.168.106.114 + username: root + password: + from_secret: sshpwd_114 + port: 22 + command_timeout: 10m + script: + - bash /opt/bisheng/deploy.sh + - name: notify-start # notify pull: if-not-exists image: plugins/webhook @@ -313,15 +322,16 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 } } } - when: # 成功 + when: status: - success + - failure trigger: branch: - - add_some_branch_you_need + - 2.5.0-PM event: - push - + volumes: - name: bisheng-cache host: @@ -335,3 +345,6 @@ volumes: - name: socket host: path: /var/run/docker.sock +- name: uv-cache + host: + path: /opt/drone/data/uv/ diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..6faf2d818 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 4 + +[*.{js,jsx,ts,tsx,json,yml,yaml,css,scss,html}] +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..22af93f86 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,20 @@ +## What + +简要描述做了什么改动。 + +## Why + +为什么需要这个改动? + +## How + +实现方式、设计决策(如有)。 + +## Test + +- [ ] 本地测试通过 +- [ ] 114 测试服务器验证通过 + +## Related + +- Issue/ticket: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 04c71613f..1a781ecdb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,57 +1,26 @@ -exclude: ^scripts|docs|docker|requirements|README.md|test|experimental +exclude: ^(scripts|docs|docker|requirements|test|experimental)/ + repos: - - repo: https://github.com/PyCQA/flake8.git - rev: 3.8.3 - hooks: - - id: flake8 - args: ["--max-line-length=120"] - - repo: https://github.com/asottile/seed-isort-config - rev: v2.2.0 - hooks: - - id: seed-isort-config - - repo: https://github.com/timothycrosley/isort - rev: 4.3.21 - hooks: - - id: isort - files: \.(py|pyd)$ - args: ["-l 100"] - - repo: https://github.com/pre-commit/mirrors-yapf - rev: v0.32.0 - hooks: - - id: yapf - files: \.(py|pyd)$ - args: ["--style={column_limit: 120}"] - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.1.0 + rev: v4.6.0 hooks: - id: trailing-whitespace - files: \.(py|pyd)$ + files: \.(py|pyd|ts|tsx|js|jsx)$ - id: check-yaml - id: end-of-file-fixer - files: \.(py|pyd)$ - - id: requirements-txt-fixer - - id: double-quote-string-fixer + files: \.(py|pyd|ts|tsx|js|jsx)$ - id: check-merge-conflict - - id: fix-encoding-pragma - args: ["--remove"] + - id: check-added-large-files + args: ["--maxkb=500"] - id: mixed-line-ending args: ["--fix=lf"] - files: \.(py|pyd)$ - # - repo: https://github.com/jumanjihouse/pre-commit-hooks - # rev: 2.1.4 - # hooks: - # - id: markdownlint - # args: ["-r", "~MD002,~MD013,~MD029,~MD033,~MD034,~MD005"] - # - repo: https://github.com/myint/docformatter - # rev: v1.3.1 - # hooks: - # - id: docformatter - # args: ["--in-place", "--wrap-descriptions", "79"] - - repo: local + files: \.(py|pyd|ts|tsx|js|jsx)$ + + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.4.8 hooks: - - id: clang-format - name: clang-format - description: Format files with ClangFormat - entry: clang-format -i - language: system - files: \.(c|cc|cxx|cpp|cu|h|hpp|hxx|cuh|proto)$ + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + types_or: [python, pyi] + - id: ruff-format + types_or: [python, pyi]