Skip to content

修改匹配差异源为个人的仓库地址 #35

修改匹配差异源为个人的仓库地址

修改匹配差异源为个人的仓库地址 #35

Workflow file for this run

name: Go package
on:
workflow_dispatch:
push:
branches: [ "dj-go-version-branch" ]
pull_request:
branches: [ "dj-go-version-branch" ]
jobs:
test:
runs-on: ubuntu-latest
env:
APPBUILDER_TOKEN: bce-v3/ALTAK-RPJR9XSOVFl6mb5GxHbfU/072be74731e368d8bbb628a8941ec50aaeba01cd
APPBUILDER_TOKEN_V2: bce-v3/ALTAK-zX2OwTWGE9JxXSKxcBYQp/7dd073d9129c01c617ef76d8b7220a74835eb2f4
BAIDU_VDB_API_KEY: apaasTest1
INSTANCE_ID: vdb-bj-vuzmppgqrnhv
DATASET_ID: 2626a842-132f-45ce-977f-f701d18fd104
APPBUILDER_TOKEN_DOC_FORMAT: bce-v3/ALTAK-bcKsgHd39g0Aaq3nCYUUQ/b06384229df1462c6fb011383d09230346a20ac4
APPBUILDER_TOKEN_V3: bce-v3/ALTAK-DKaql4wY9ojwp2uMe8IEj/7ae1190aff0684153de365381d9b06beab3064c5
DATASET_ID_V3: 4b2357ff-b7d5-4573-9187-ee29af2f8373
DOCUMENT_ID_V3: 120619f2-1b85-4e09-a36d-fc682168d09c
strategy:
fail-fast: false
matrix:
go-version: ['1.18']
max-parallel: 2
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
- name: Git Clone And Checkout Branch
run: |
# 配置仓库地址,确保 fork 仓库的地址正确
fork_repo="https://github.com/$GITHUB_ACTOR/app-builder.git"
mkdir cicd
cd cicd
# 克隆 fork 仓库
git clone $fork_repo
cd app-builder
# 切换到当前的 pull request 分支
git checkout $GITHUB_HEAD_REF
# 添加上游仓库(upstream)并获取最新更新
git remote add upstream https://github.com/baidubce/app-builder.git
git fetch upstream
# 确保拉取最新的 origin 分支
git remote add origin https://github.com/$GITHUB_ACTOR/app-builder.git
git fetch origin
# 显示远程仓库的配置
git remote -v
# 显示当前分支的状态
git status
# 找到当前分支与 origin/dj-go-version-branch 的共同祖先提交
merge_base=$(git merge-base HEAD origin/dj-go-version-branch)
echo "merge_base=$merge_base"
# 比较当前分支与 merge_base 之间的差异
changed_files=$(git diff --name-only --diff-filter=ACMRT $merge_base)
changed_files_go_sh=$(git diff --name-only --diff-filter=ACMRT $merge_base -- '*.go' '*.mod' '*.sum')
# 输出检测到的更改文件
echo "发生更改的文件为:"
echo "$changed_files"
echo "发生更改的Go或Shell文件为:"
# 如果检测到 .go, .mod, .sum 文件有变化,则设置环境变量
if [ -n "$changed_files_go_sh" ]; then
export APPBUILDER_GO_TESTS=True
echo "$changed_files_go_sh"
else
export APPBUILDER_GO_TESTS=False
echo "没有检测到Go或Shell文件被更改"
fi
# 将 APPBUILDER_GO_TESTS 环境变量写入到 GitHub Actions 的环境
echo "APPBUILDER_GO_TESTS=$APPBUILDER_GO_TESTS" >> $GITHUB_ENV
- name: Install dependencies
run: |
echo $APPBUILDER_GO_TESTS
if [ "$APPBUILDER_GO_TESTS" = "False" ]; then
echo "环境变量APPBUILDER_GO_TESTS为False,没有检测到Go或Shell文件被更改,跳过Install dependencies部分。"
else
echo "检测到Go或Shell文件被更改(根据环境变量APPBUILDER_GO_TESTS),准备启动Install dependencies部分..."
cd go/appbuilder
go mod tidy
fi
- name: Run tests
run: |
echo $APPBUILDER_GO_TESTS
if [ "$APPBUILDER_GO_TESTS" = "False" ]; then
echo "环境变量APPBUILDER_GO_TESTS为False,没有检测到Go或Shell文件被更改,跳过Run tests部分。"
else
echo "检测到Go或Shell文件被更改(根据环境变量APPBUILDER_GO_TESTS),准备启动Run tests部分..."
cd go/appbuilder
go test ./... -cover
fi