Feat/report (#171) #54
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: release | |
on: | |
push: | |
# Sequence of patterns matched against refs/tags | |
branches: | |
- "release" | |
env: | |
DOCKERHUB_REPO: dataelement/ | |
PY_NEXUS: 110.16.193.170:50083 | |
DOCKER_NEXUS: 110.16.193.170:50080 | |
RELEASE_VERSION: 0.0.0 # bisheng-langchain nexus 始终替换版本 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
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\//} | |
# 构建 bisheng-langchain | |
- name: Set python version 3.8 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.8 | |
- name: Build PyPi bisheng-langchain and push | |
id: pypi_build_bisheng_langchain | |
run: | | |
pip install Cython | |
pip install wheel | |
pip install twine | |
cd ./src/bisheng-langchain | |
python setup.py bdist_wheel | |
repo="http://${{ env.PY_NEXUS }}/repository/pypi-hosted/" | |
twine upload --verbose -u ${{ secrets.NEXUS_USER }} -p ${{ secrets.NEXUS_PASSWORD }} --repository-url $repo dist/*.whl | |
# 发布到 私有仓库 | |
- name: set insecure registry | |
run: | | |
echo "{ \"insecure-registries\": [\"http://${{ env.DOCKER_NEXUS }}\"] }" | sudo tee /etc/docker/daemon.json | |
sudo service docker restart | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
- name: set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login Nexus Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: http://${{ env.DOCKER_NEXUS }}/ | |
username: ${{ secrets.NEXUS_USER }} | |
password: ${{ secrets.NEXUS_PASSWORD }} | |
- name: Login docker hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# 替换poetry编译为私有服务 | |
- name: replace self-host repo | |
uses: snok/install-poetry@v1 | |
with: | |
installer-parallel: true | |
- name: build lock | |
run: | | |
cd ./src/backend | |
poetry source add --priority=supplemental foo http://${{ secrets.NEXUS_PUBLIC }}:${{ secrets.NEXUS_PUBLIC_PASSWORD }}@${{ env.PY_NEXUS }}/repository/pypi-group/simple | |
sed -i 's/^bisheng_langchain.*/bisheng_langchain = "0.0.0"/g' pyproject.toml | |
poetry lock | |
cd ../../ | |
# 构建 backend 并推送到 Docker hub | |
- name: Build backend and push | |
id: docker_build_backend | |
uses: docker/build-push-action@v2 | |
with: | |
# backend 的context目录 | |
context: "./src/backend/" | |
# 是否 docker push | |
push: true | |
# docker build arg, 注入 APP_NAME/APP_VERSION | |
build-args: | | |
APP_NAME="bisheng-backend" | |
APP_VERSION="release" | |
# 生成两个 docker tag: ${APP_VERSION} 和 latest | |
tags: | | |
${{ env.DOCKERHUB_REPO }}bisheng-backend:release | |
# 构建 Docker frontend 并推送到 Docker hub | |
- name: Build frontend and push | |
id: docker_build_frontend | |
uses: docker/build-push-action@v2 | |
with: | |
# frontend 的context目录 | |
context: "./src/frontend/" | |
# 是否 docker push | |
push: true | |
# docker build arg, 注入 APP_NAME/APP_VERSION | |
build-args: | | |
APP_NAME="bisheng-frontend" | |
APP_VERSION="release" | |
# 生成两个 docker tag: ${APP_VERSION} 和 latest | |
tags: | | |
${{ env.DOCKERHUB_REPO }}bisheng-frontend:release | |
- name: notify feishu | |
uses: sozo-design/curl@v1.0.2 | |
with: | |
args: -X POST https://open.feishu.cn/open-apis/bot/v2/hook/2cfe0d8d-647c-4408-9f39-c59134035c4b -d '{"msg_type":"text","content":{"text":"release 编译成功"}}' |