🐛 小刻食堂cdn使用https #2075
Workflow file for this run
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@v4 | |
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@v4 | |
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 |