✨ Post 添加 category 字段使消息首部可以显示分类信息 #1405
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 | |
- .github/** | |
pull_request: | |
paths: | |
- admin-frontend/** | |
- docker/** | |
- nonebot_bison/** | |
- tests/** | |
- pyproject.toml | |
- poetry.lock | |
- .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@v4 | |
with: | |
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@v4 | |
with: | |
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: ./src/plugins/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@v5 | |
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@v5 | |
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: ./src/plugins/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@v5 | |
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 |