fix: workflow input file handle extra metadata field #200
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| # Sequence of patterns matched against refs/tags | |
| tags: | |
| - "v*" | |
| env: | |
| DOCKERHUB_REPO: dataelement/ | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build_bisheng_backend: | |
| runs-on: ubuntu-latest | |
| # if: startsWith(github.event.ref, 'refs/tags') | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v2 | |
| - name: Get version | |
| id: get_version | |
| run: | | |
| echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} | |
| - name: Set Environment Variable | |
| run: echo "RELEASE_VERSION=1.3.1" >> $GITHUB_ENV | |
| # 登录 docker hub | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v1 | |
| with: | |
| # GitHub Repo => Settings => Secrets 增加 docker hub 登录密钥信息 | |
| # DOCKERHUB_USERNAME 是 docker hub 账号名. | |
| # DOCKERHUB_TOKEN: docker hub => Account Setting => Security 创建. | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # 构建 backend 并推送到 Docker hub | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v1 | |
| - name: set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build backend and push | |
| id: docker_build_backend | |
| run: | | |
| docker buildx build --file ./src/backend/Dockerfile --platform linux/amd64 --provenance false --tag ${{ env.DOCKERHUB_REPO }}bisheng-backend:${{ steps.get_version.outputs.VERSION }}-amd64 --push ./src/backend/ | |
| build_backend_arm: | |
| runs-on: ubuntu-22.04-arm | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v2 | |
| - name: Get version | |
| id: get_version | |
| run: | | |
| echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} | |
| - name: Set Environment Variable | |
| run: echo "RELEASE_VERSION=1.3.1" >> $GITHUB_ENV | |
| # 登录 docker hub | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v1 | |
| with: | |
| # GitHub Repo => Settings => Secrets 增加 docker hub 登录密钥信息 | |
| # DOCKERHUB_USERNAME 是 docker hub 账号名. | |
| # DOCKERHUB_TOKEN: docker hub => Account Setting => Security 创建. | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # - name: Set up QEMU | |
| # uses: docker/setup-qemu-action@v1 | |
| - name: set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| # because ibm-db driver not support linux arm64 | |
| - name: fix ibm-db lib error | |
| run: | | |
| # remove ibm-db lib | |
| sed -i '/ibm-db*/d' ./src/backend/pyproject.toml | |
| - name: Build backend and push | |
| id: docker_build_backend | |
| run: | | |
| docker buildx build --file ./src/backend/Dockerfile --platform linux/arm64 --provenance false --tag ${{ env.DOCKERHUB_REPO }}bisheng-backend:${{ steps.get_version.outputs.VERSION }}-arm64 --push ./src/backend/ | |
| build_bisheng_frontend: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v2 | |
| - name: Get version | |
| id: get_version | |
| run: | | |
| echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} | |
| - name: Set Environment Variable | |
| run: echo "RELEASE_VERSION=${{ steps.get_version.outputs.VERSION }}" >> $GITHUB_ENV | |
| # 登录 docker hub | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v1 | |
| with: | |
| # GitHub Repo => Settings => Secrets 增加 docker hub 登录密钥信息 | |
| # DOCKERHUB_USERNAME 是 docker hub 账号名. | |
| # DOCKERHUB_TOKEN: docker hub => Account Setting => Security 创建. | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build frontend and push | |
| id: docker_build_frontend | |
| run: | | |
| docker buildx build --file ./src/frontend/Dockerfile --platform linux/amd64 --provenance false --tag ${{ env.DOCKERHUB_REPO }}bisheng-frontend:${{ steps.get_version.outputs.VERSION }}-amd64 --push ./src/frontend/ | |
| build_frontend_arm: | |
| runs-on: ubuntu-22.04-arm | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v2 | |
| - name: Get version | |
| id: get_version | |
| run: | | |
| echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} | |
| - name: Set Environment Variable | |
| run: echo "RELEASE_VERSION=${{ steps.get_version.outputs.VERSION }}" >> $GITHUB_ENV | |
| # - name: Set up QEMU | |
| # uses: docker/setup-qemu-action@v1 | |
| - name: set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| # 登录 docker hub | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v1 | |
| with: | |
| # GitHub Repo => Settings => Secrets 增加 docker hub 登录密钥信息 | |
| # DOCKERHUB_USERNAME 是 docker hub 账号名. | |
| # DOCKERHUB_TOKEN: docker hub => Account Setting => Security 创建. | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build frontend and push | |
| id: docker_build_frontend | |
| run: | | |
| docker buildx build --file ./src/frontend/Dockerfile --platform linux/arm64 --provenance false --tag ${{ env.DOCKERHUB_REPO }}bisheng-frontend:${{ steps.get_version.outputs.VERSION }}-arm64 --push ./src/frontend/ | |
| notify_feishu: | |
| needs: | |
| - build_bisheng_backend | |
| - build_backend_arm | |
| - build_bisheng_frontend | |
| - build_frontend_arm | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Get version | |
| id: get_version | |
| run: | | |
| echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} | |
| - name: Process git message | |
| id: process_message | |
| run: | | |
| value=$(echo "${{ github.event.head_commit.message }}" | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/%0A/g') | |
| value=$(echo "${value}" | sed -e ':a' -e 'N' -e '$!ba' -e 's/\r/%0A/g') | |
| echo "message=${value}" >> $GITHUB_ENV | |
| shell: bash | |
| - name: notify feishu | |
| uses: fjogeleit/http-request-action@v1 | |
| with: | |
| url: ${{ secrets.FEISHU_WEBHOOK }} | |
| method: 'POST' | |
| data: '{"msg_type":"post","content":{"post":{"zh_cn":{"title": "${{ steps.get_version.outputs.VERSION }}-amd64镜像预发布成功", "content": [[{"tag":"text","text":"发布功能:"},{"tag":"text","text":"${{ env.message }}"}]]}}}}' | |