diff --git a/.github/workflows/release_docker.yml b/.github/workflows/release_docker_after_merge.yml similarity index 50% rename from .github/workflows/release_docker.yml rename to .github/workflows/release_docker_after_merge.yml index 8da6e5f87..dbb38208e 100644 --- a/.github/workflows/release_docker.yml +++ b/.github/workflows/release_docker_after_merge.yml @@ -1,4 +1,4 @@ -name: Publish Docker Image to DockerHub +name: Publish Docker Image to DockerHub after Merge on: workflow_dispatch: @@ -20,6 +20,7 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Build Docker id: build run: | @@ -27,11 +28,49 @@ jobs: tag=hpcaitech/colossalai:$version docker build --build-arg http_proxy=http://172.17.0.1:7890 --build-arg https_proxy=http://172.17.0.1:7890 -t $tag ./docker echo "tag=${tag}" >> $GITHUB_OUTPUT + - name: Log in to Docker Hub uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Push Docker image + id: docker-push run: | docker push ${{ steps.build.outputs.tag }} + + notify: + name: Notify Lark via webhook + needs: release + runs-on: ubuntu-latest + if: ${{ always() }} + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-python@v2 + with: + python-version: '3.8.14' + + - name: Install requests + run: pip install requests + + - name: Notify Lark + id: message-preparation + run: | + url=$SERVER_URL/$REPO/actions/runs/$RUN_ID + + if [ $STATUS == 'success' ] + then + msg="The Docker image for the latest release has been successfully built and pushed to DockerHub." + else + msg="Failed to build and push the Docker image for the latest release, please visit $url for details." + fi + echo $msg + python .github/workflows/scripts/send_message_to_lark.py -m "$msg" -u $WEBHOOK_URL + env: + SERVER_URL: ${{github.server_url }} + REPO: ${{ github.repository }} + RUN_ID: ${{ github.run_id }} + WEBHOOK_URL: ${{ secrets.LARK_NOTIFICATION_WEBHOOK_URL }} + STATUS: ${{ steps.docker-push.outcome }}