fix: pass bot_instance to inline_execute for all price services #1405
This file contains hidden or 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: Docker Image CI | |
| # 触发条件 | |
| on: | |
| push: | |
| tags: | |
| - 'v*.*.*' | |
| branches: | |
| - 'mydev' # 增加了这一行 | |
| - 'main' # 增加了这一行 | |
| - 'dev' # 增加了这一行 | |
| workflow_dispatch: | |
| # 定义一个 job | |
| jobs: | |
| build-and-push: | |
| # 运行在最新的 ubuntu 系统上 | |
| runs-on: ubuntu-latest | |
| # 授予 job 的权限 | |
| permissions: | |
| contents: read | |
| packages: write | |
| # job 的执行步骤 | |
| steps: | |
| # 第一步:拉取代码 | |
| - name: Check out the repo | |
| uses: actions/checkout@v4 | |
| # 第二步:提取版本号,并判断是否为正式发布 | |
| - name: Extract version and release status | |
| id: extract_version | |
| run: | | |
| if [[ $GITHUB_REF == refs/tags/* ]]; then | |
| VERSION=${GITHUB_REF#refs/tags/v} | |
| echo "IS_RELEASE=true" >> $GITHUB_ENV | |
| else | |
| VERSION="dev-$(date +'%Y%m%d-%H%M%S')" | |
| echo "IS_RELEASE=false" >> $GITHUB_ENV | |
| fi | |
| echo "VERSION=$VERSION" >> $GITHUB_ENV | |
| echo "Version is: $VERSION" | |
| # 第三步:动态生成 Docker 镜像的标签 (已更新为总是包含 latest) | |
| - name: Generate Docker tags | |
| id: meta | |
| run: | | |
| # 强制将所有相关名称转为小写,以符合 Docker 命名规范 | |
| DOCKERHUB_USER_LOWER=$(echo "${{ secrets.DOCKERHUB_USERNAME }}" | tr '[:upper:]' '[:lower:]') | |
| REPO_NAME_LOWER=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]') | |
| DOCKER_IMAGE_DOCKERHUB="$DOCKERHUB_USER_LOWER/$REPO_NAME_LOWER" | |
| GHCR_REPO_LOWER=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]') | |
| DOCKER_IMAGE_GHCR="ghcr.io/$GHCR_REPO_LOWER" | |
| # 新增的智能判断逻辑 (只推送到GHCR) | |
| if [[ $GITHUB_REF == refs/tags/* ]]; then | |
| # 如果是发布 (打tag),就使用 latest 和版本号标签 | |
| echo "是正式发布,使用 latest 和版本号标签: ${{ env.VERSION }}" | |
| TAGS="$DOCKER_IMAGE_GHCR:latest,$DOCKER_IMAGE_GHCR:${{ env.VERSION }}" | |
| else | |
| # 如果是推送到分支 (比如 mydev),就使用分支名作为标签 | |
| BRANCH_NAME=${GITHUB_REF#refs/heads/} | |
| echo "是开发分支推送,使用分支名 '${BRANCH_NAME}' 作为标签" | |
| TAGS="$DOCKER_IMAGE_GHCR:${BRANCH_NAME}" | |
| fi | |
| echo "tags=${TAGS}" >> $GITHUB_OUTPUT | |
| echo "Generated tags: ${TAGS}" | |
| # 第四步:设置 QEMU,用于多平台构建 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| # 第五步:登录到 Docker Hub (在 buildx 之前登录,避免 rate limit) | |
| - name: Log in to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # 第六步:设置 Docker Buildx,新一代的构建工具 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver-opts: | | |
| image=moby/buildkit:latest | |
| network=host | |
| # 第七步:登录到 GitHub Container Registry (GHCR) | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| # 第八步:构建并推送 Docker 镜像 | |
| - name: Build and push Docker image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| platforms: linux/amd64,linux/arm64 | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max |