diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0ef9fa1..d66870d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,6 +22,13 @@ on: - pyproject.toml - poetry.lock - .github/** + types: + - opened + - synchronize + - reopened + # 以上为默认情况 + - labeled + - unlabeled concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -44,7 +51,8 @@ jobs: name: frontend path: ./admin-frontend/build/ test: - name: Test Coverage + name: Smoke-test Coverage + if: ${{ !contains(github.event.pull_request.labels.*.name, 'all-test') }} runs-on: ${{ matrix.os }} strategy: matrix: @@ -75,6 +83,39 @@ jobs: flags: smoke-test env_vars: OS,PYTHON_VERSION + test-all: + name: All-test Coverage + if: ${{ contains(github.event.pull_request.labels.*.name, 'all-test') }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + python-version: ["3.10", "3.11"] + os: [ubuntu-latest, windows-latest, macos-latest] + fail-fast: false + env: + OS: ${{ matrix.os }} + PYTHON_VERSION: ${{ matrix.python-version }} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Python environment + uses: he0119/setup-python@79c04f1e1bcbfe45c9d0eca6aa522e9b364d7dfa + with: + python-version: ${{ matrix.python-version }} + + - name: Install prerequisites + run: poetry install + + - name: Run Pytest + run: poetry run pytest --cov-report xml --cov=./src/plugins/nonebot_bison -k 'not compare' + + - name: Upload coverage report + uses: codecov/codecov-action@v3 + with: + flags: all-test + env_vars: OS,PYTHON_VERSION + docker-main: name: Docker main runs-on: ubuntu-latest diff --git a/codecov.yml b/codecov.yml index 610057c..f8dd50f 100644 --- a/codecov.yml +++ b/codecov.yml @@ -12,3 +12,12 @@ flag_management: threshold: 5% - type: patch target: 60% + individual_flags: # exceptions to the default rules above, stated flag by flag + - name: all-test + carryforward: true + statuses: + - type: project + target: auto + threshold: 5% + - type: patch + target: 80% \ No newline at end of file diff --git a/tests/test_render.py b/tests/test_render.py index 2404f1e..004ea9b 100644 --- a/tests/test_render.py +++ b/tests/test_render.py @@ -23,14 +23,4 @@ VuePress 由两部分组成:第一部分是一个极简静态网站生成器 每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。 """ ) - - -@pytest.mark.asyncio -@pytest.mark.render -async def test_arknights(app: App): - from nonebot_bison.platform.arknights import Arknights - - ak = Arknights(AsyncClient()) - res = await ak.parse( - {"webUrl": "https://ak.hycdn.cn/announce/IOS/announcement/854_1644580545.html"} - ) + assert res.type == "image"