chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
name: Build Linux Binaries (x86_64 & ARM)
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- "build.*"
|
||||
|
||||
jobs:
|
||||
build_pyc:
|
||||
name: Build for pyc files only
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: dataelement/bisheng-telemetry-search
|
||||
token: ${{ secrets.CROSS_REPO_TOKEN }}
|
||||
path: bisheng-telemetry-search
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Build and Clean Artifacts
|
||||
working-directory: ./bisheng-telemetry-search/telemetry_search
|
||||
run: |
|
||||
# 执行构建
|
||||
python -m compileall -b .
|
||||
|
||||
# 在上传前彻底清理源代码和中间文件
|
||||
# 即使 build_all.py 做了清理,这里再次强制清理,防止 .c 文件泄露
|
||||
find . -name "*.py" -delete
|
||||
find . -name "__pycache__" -exec rm -rf {} +
|
||||
|
||||
# 准备输出
|
||||
mkdir ../../build_output
|
||||
cp -r ./* ../../build_output/
|
||||
|
||||
echo "Listing artifacts to be uploaded:"
|
||||
ls -R ../../build_output/
|
||||
|
||||
- name: Upload PYC Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: telemetry_search
|
||||
path: ./build_output/*
|
||||
|
||||
deploy_to_sso_project:
|
||||
name: Deploy Artifacts to SSO Project
|
||||
needs: [ build_pyc ]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Determine Target Branch
|
||||
id: extract_branch
|
||||
run: |
|
||||
if [[ "${{ github.ref_type }}" == "tag" && "${{ github.ref_name }}" == build.* ]]; then
|
||||
VERSION="${{ github.ref_name }}"
|
||||
VERSION="${VERSION#build.}"
|
||||
TARGET_BRANCH="feat/${VERSION}"
|
||||
else
|
||||
TARGET_BRANCH="feat/2.4.0"
|
||||
fi
|
||||
echo "target_branch=$TARGET_BRANCH" >> $GITHUB_OUTPUT
|
||||
echo "Determined target branch: $TARGET_BRANCH"
|
||||
|
||||
- name: Checkout SSO Project
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: dataelement/bisheng
|
||||
token: ${{ secrets.CROSS_REPO_TOKEN }}
|
||||
# 使用 ref 指定分支,而不是 base
|
||||
ref: ${{ steps.extract_branch.outputs.target_branch }}
|
||||
path: bisheng
|
||||
# 确保拉取完整的历史以便正确提交
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download PYC Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: telemetry_search
|
||||
path: ./telemetry_search
|
||||
|
||||
- name: Merge and Place Files
|
||||
run: |
|
||||
|
||||
find ./telemetry_search -name "*.py" -delete
|
||||
|
||||
# 移动到目标仓库目录
|
||||
cp -r ./telemetry_search ./bisheng/src/backend/bisheng/
|
||||
|
||||
echo "Final content of target directory:"
|
||||
ls -lh ./bisheng/src/backend/bisheng/telemetry_search
|
||||
|
||||
- name: Commit and Push changes
|
||||
working-directory: ./bisheng
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
|
||||
git add .
|
||||
|
||||
# 检查是否有变更,有才提交
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes to commit"
|
||||
else
|
||||
git commit -m "chore: update telemetry_search build artifacts [skip ci]"
|
||||
git push origin ${{ steps.extract_branch.outputs.target_branch }}
|
||||
fi
|
||||
Reference in New Issue
Block a user