♿ 优化网络警告文本的日志呈现 #2114
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test-build | |
on: | |
push: | |
branches: | |
- main | |
- next | |
paths: | |
- admin-frontend/** | |
- docker/** | |
- nonebot_bison/** | |
- tests/** | |
- pyproject.toml | |
- poetry.lock | |
- docker.env.prod | |
- .github/** | |
pull_request: | |
paths: | |
- admin-frontend/** | |
- docker/** | |
- nonebot_bison/** | |
- tests/** | |
- pyproject.toml | |
- poetry.lock | |
- docker.env.prod | |
- .github/** | |
types: | |
- opened | |
- synchronize | |
- reopened | |
# 以上为默认情况 | |
- labeled | |
- unlabeled | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-frontend: | |
name: Build Frontend | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build Frontend | |
uses: ./.github/actions/build-frontend | |
- name: Upload dist | |
uses: actions/upload-artifact@v4 | |
with: | |
name: frontend | |
path: ./admin-frontend/build/ | |
test: | |
name: Smoke-test Coverage | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'all-test') }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: ["3.10", "3.11", "3.12"] | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
fail-fast: false | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python environment | |
uses: ./.github/actions/setup-python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install prerequisites | |
run: poetry install | |
- name: Run Pytest | |
run: poetry run pytest --cov-report xml --cov=./nonebot_bison -k 'not compare and not render' -n auto | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v5 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
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", "3.12"] | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
fail-fast: false | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python environment | |
uses: ./.github/actions/setup-python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install prerequisites | |
run: poetry install | |
- name: Run Pytest | |
run: poetry run pytest --cov-report xml --cov=./nonebot_bison -k 'not compare' -n auto | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v5 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: all-test | |
env_vars: OS,PYTHON_VERSION | |
docker-main: | |
name: Docker main | |
runs-on: ubuntu-latest | |
needs: [build-frontend, test] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download frontend files | |
uses: actions/download-artifact@v4 | |
with: | |
name: frontend | |
path: ./nonebot_bison/admin_page/dist | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Test Build | |
uses: docker/build-push-action@v6 | |
if: github.event_name == 'pull_request' | |
with: | |
context: . | |
file: ./docker/Dockerfile_with_frontend | |
push: false | |
load: true | |
tags: felinae98/nonebot-bison:dummy | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
- name: Test image | |
uses: ./.github/actions/test-docker | |
if: github.event_name == 'pull_request' | |
with: | |
docker-image-name: felinae98/nonebot-bison:dummy | |
wait-time: 10 | |
- name: Login to DockerHub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Git Branch Name | |
id: git-branch-name | |
uses: EthanSK/git-branch-name-action@v1 | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
if: github.event_name != 'pull_request' | |
with: | |
context: . | |
file: ./docker/Dockerfile_with_frontend | |
push: true | |
tags: felinae98/nonebot-bison:${{ env.GIT_BRANCH_NAME }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
docker-main-sentry: | |
name: Docker main sentry | |
runs-on: ubuntu-latest | |
needs: [build-frontend, test] | |
if: github.event_name != 'pull_request' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download frontend files | |
uses: actions/download-artifact@v4 | |
with: | |
name: frontend | |
path: ./nonebot_bison/admin_page/dist | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Git Branch Name | |
id: git-branch-name | |
uses: EthanSK/git-branch-name-action@v1 | |
- name: Login to DockerHub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
file: ./docker/Dockerfile_with_frontend_sentry | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: felinae98/nonebot-bison:${{ env.GIT_BRANCH_NAME }}-sentry | |
cache-from: type=gha | |
cache-to: type=gha,mode=max |