This repository has been archived on 2026-01-18. You can view files and clone it, but cannot push or open issues or pull requests.
Files
compose-workflow/.github/workflows/mineru-build.yaml
Sun-ZhenXing 7a3ac1c398
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 32m15s
init
2026-01-01 16:38:02 +08:00

91 lines
2.8 KiB
YAML

name: Build and Push Docker Image
on:
push:
tags: ['v-mineru-*']
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: https://mac.alexsun.top:3000/actions/checkout@v4
- name: Extract version from tag
id: set-version
run: |
TAG_NAME=${GITHUB_REF#refs/tags/}
BUILD_VERSION=${TAG_NAME#v-mineru-}
echo "BUILD_VERSION=$BUILD_VERSION" >> $GITHUB_ENV
echo "Extracted version: $BUILD_VERSION"
- name: Build Docker images
id: build
continue-on-error: true
run: |
cd mineru
docker compose build --no-cache
env:
BUILD_VERSION: ${{ env.BUILD_VERSION }}
- name: Push Docker images
id: push
if: steps.build.outcome == 'success'
continue-on-error: true
run: |
cd mineru
docker compose push
env:
BUILD_VERSION: ${{ env.BUILD_VERSION }}
- name: Push Docker images
id: push-latest
if: steps.build.outcome == 'success'
continue-on-error: true
run: |
cd mineru
docker compose build
docker compose push
env:
BUILD_VERSION: latest
- name: Send success notification to Feishu
if: steps.push.outcome == 'success'
uses: https://mac.alexsun.top:3000/actions/webhook-action@master
with:
url: ${{ secrets.FEISHU_WEBHOOK }}
method: POST
body: |
{
"msg_type": "text",
"content": {
"text": "镜像 ${{ env.REPO_NAME }}:${{ env.BUILD_VERSION }} 已成功构建并推送!"
}
}
env:
REPO_NAME: ${{ github.event.repository.name }}
BUILD_VERSION: ${{ env.BUILD_VERSION }}
- name: Send failure notification to Feishu
if: steps.build.outcome == 'failure' || steps.push.outcome == 'failure' || steps.push-latest.outcome == 'failure'
uses: https://mac.alexsun.top:3000/actions/webhook-action@master
with:
url: ${{ secrets.FEISHU_WEBHOOK }}
method: POST
body: |
{
"msg_type": "text",
"content": {
"text": "镜像 ${{ env.REPO_NAME }}:${{ env.BUILD_VERSION }} 构建或推送失败!"
}
}
env:
REPO_NAME: ${{ github.event.repository.name }}
BUILD_VERSION: ${{ env.BUILD_VERSION }}
- name: Fail workflow if build or push failed
if: steps.build.outcome == 'failure' || steps.push.outcome == 'failure' || steps.push-latest.outcome == 'failure'
run: |
echo "Build or push step failed. Failing the workflow."
exit 1