mirror of https://github.com/hpcaitech/ColossalAI
[workflow] enable testing for develop & feature branch (#3801)
parent
ef02d7ef6d
commit
ad93c736ea
|
@ -3,24 +3,27 @@ name: Build on PR
|
|||
on:
|
||||
pull_request:
|
||||
types: [synchronize, opened, reopened]
|
||||
branches:
|
||||
- "main"
|
||||
- "develop"
|
||||
- "feature/**"
|
||||
paths:
|
||||
- '.github/workflows/build_on_pr.yml' # run command & env variables change
|
||||
- 'colossalai/**' # source code change
|
||||
- '!colossalai/**.md' # ignore doc change
|
||||
- 'op_builder/**' # cuda extension change
|
||||
- '!op_builder/**.md' # ignore doc change
|
||||
- 'requirements/**' # requirements change
|
||||
- 'tests/**' # test change
|
||||
- '!tests/**.md' # ignore doc change
|
||||
- 'pytest.ini' # test config change
|
||||
- 'setup.py' # install command change
|
||||
- ".github/workflows/build_on_pr.yml" # run command & env variables change
|
||||
- "colossalai/**" # source code change
|
||||
- "!colossalai/**.md" # ignore doc change
|
||||
- "op_builder/**" # cuda extension change
|
||||
- "!op_builder/**.md" # ignore doc change
|
||||
- "requirements/**" # requirements change
|
||||
- "tests/**" # test change
|
||||
- "!tests/**.md" # ignore doc change
|
||||
- "pytest.ini" # test config change
|
||||
- "setup.py" # install command change
|
||||
|
||||
jobs:
|
||||
detect:
|
||||
name: Detect file change
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
|
||||
outputs:
|
||||
changedExtenisonFiles: ${{ steps.find-extension-change.outputs.all_changed_files }}
|
||||
|
|
|
@ -2,47 +2,49 @@ name: Check Documentation on PR
|
|||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
- "develop"
|
||||
- "feature/**"
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- "docs/**"
|
||||
|
||||
jobs:
|
||||
check-i18n:
|
||||
name: Check docs in diff languages
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.8.14'
|
||||
python-version: "3.8.14"
|
||||
|
||||
- run: python .github/workflows/scripts/check_doc_i18n.py -d docs/source
|
||||
|
||||
check-doc-build:
|
||||
name: Test if the docs can be built
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: './ColossalAI'
|
||||
path: "./ColossalAI"
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: './ColossalAI-Documentation'
|
||||
repository: 'hpcaitech/ColossalAI-Documentation'
|
||||
path: "./ColossalAI-Documentation"
|
||||
repository: "hpcaitech/ColossalAI-Documentation"
|
||||
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.8.14'
|
||||
python-version: "3.8.14"
|
||||
|
||||
# we use the versions in the main branch as the guide for versions to display
|
||||
# checkout will give your merged branch
|
||||
|
@ -57,7 +59,6 @@ jobs:
|
|||
git config user.name 'github-actions'
|
||||
git config user.email 'github-actions@github.com'
|
||||
|
||||
|
||||
- name: Build docs
|
||||
run: |
|
||||
cache_dir=ColossalAI-Documentation/doc-build/.cache
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
name: Test Documentation on PR
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
- "develop"
|
||||
- "feature/**"
|
||||
# any change in the examples folder will trigger check for the corresponding example.
|
||||
paths:
|
||||
- 'docs/source/**.md'
|
||||
- "docs/source/**.md"
|
||||
|
||||
jobs:
|
||||
# This is for changed example files detect and output a matrix containing all the corresponding directory name.
|
||||
detect-changed-doc:
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request'
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
any_changed: ${{ steps.changed-files.outputs.any_changed }}
|
||||
|
@ -26,10 +29,10 @@ jobs:
|
|||
- name: Locate base commit
|
||||
id: locate-base-sha
|
||||
run: |
|
||||
curBranch=$(git rev-parse --abbrev-ref HEAD)
|
||||
commonCommit=$(git merge-base origin/main $curBranch)
|
||||
echo $commonCommit
|
||||
echo "baseSHA=$commonCommit" >> $GITHUB_OUTPUT
|
||||
curBranch=$(git rev-parse --abbrev-ref HEAD)
|
||||
commonCommit=$(git merge-base origin/main $curBranch)
|
||||
echo $commonCommit
|
||||
echo "baseSHA=$commonCommit" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get all changed example files
|
||||
id: changed-files
|
||||
|
@ -43,10 +46,9 @@ jobs:
|
|||
check-changed-doc:
|
||||
# Add this condition to avoid executing this job if the trigger event is workflow_dispatch.
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request' &&
|
||||
needs.detect-changed-doc.outputs.any_changed == 'true'
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request' &&
|
||||
needs.detect-changed-doc.outputs.any_changed == 'true'
|
||||
name: Test the changed Doc
|
||||
needs: detect-changed-doc
|
||||
runs-on: [self-hosted, gpu]
|
||||
|
@ -61,8 +63,8 @@ jobs:
|
|||
- name: Checkout ColossalAI-Documentation
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: './ColossalAI-Documentation'
|
||||
repository: 'hpcaitech/ColossalAI-Documentation'
|
||||
path: "./ColossalAI-Documentation"
|
||||
repository: "hpcaitech/ColossalAI-Documentation"
|
||||
|
||||
- name: Install Docer
|
||||
run: |
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
name: Test Example on PR
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
- "develop"
|
||||
- "feature/**"
|
||||
# any change in the examples folder will trigger check for the corresponding example.
|
||||
paths:
|
||||
- 'examples/**'
|
||||
- "examples/**"
|
||||
|
||||
jobs:
|
||||
# This is for changed example files detect and output a matrix containing all the corresponding directory name.
|
||||
detect-changed-example:
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request'
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix: ${{ steps.setup-matrix.outputs.matrix }}
|
||||
|
@ -26,10 +29,10 @@ jobs:
|
|||
- name: Locate base commit
|
||||
id: locate-base-sha
|
||||
run: |
|
||||
curBranch=$(git rev-parse --abbrev-ref HEAD)
|
||||
commonCommit=$(git merge-base origin/main $curBranch)
|
||||
echo $commonCommit
|
||||
echo "baseSHA=$commonCommit" >> $GITHUB_OUTPUT
|
||||
curBranch=$(git rev-parse --abbrev-ref HEAD)
|
||||
commonCommit=$(git merge-base origin/main $curBranch)
|
||||
echo $commonCommit
|
||||
echo "baseSHA=$commonCommit" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get all changed example files
|
||||
id: changed-files
|
||||
|
@ -61,10 +64,9 @@ jobs:
|
|||
check-changed-example:
|
||||
# Add this condition to avoid executing this job if the trigger event is workflow_dispatch.
|
||||
if: |
|
||||
github.event.pull_request.draft == false &&
|
||||
github.base_ref == 'main' &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request' &&
|
||||
needs.detect-changed-example.outputs.anyChanged == 'true'
|
||||
github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI' && github.event_name == 'pull_request' &&
|
||||
needs.detect-changed-example.outputs.anyChanged == 'true'
|
||||
name: Test the changed example
|
||||
needs: detect-changed-example
|
||||
runs-on: [self-hosted, gpu]
|
||||
|
|
Loading…
Reference in New Issue