修改匹配差异源为个人的仓库地址 #35
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: 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 |