Files
ColossalAI/.github/workflows/workflow_dispatch_example.yml
ziyuhuang123 7080a8edb0 [workflow]New version: Create workflow files for examples' auto check (#2298)
* [workflows]bug_repair

* [workflow]new_pr_fixing_bugs

Co-authored-by: binmakeswell <binmakeswell@gmail.com>
2023-01-06 09:26:49 +08:00

68 lines
2.2 KiB
YAML

name: Manual Test Example
on:
workflow_dispatch:
inputs:
example_directory:
type: string
description: example directory, separated by space. For example, language/gpt, images/vit. Simply input language or simply gpt does not work.
required: true
jobs:
manual_check_matrix_preparation:
if: |
github.event.pull_request.draft == false &&
github.base_ref == 'main' &&
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
name: Check the examples user want
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix-1.outputs.matrix }}
steps:
- name: 📚 Checkout
uses: actions/checkout@v3
- name: Get manual directories
id: set-matrix-1
env:
check_dir: ${{ inputs.example_directory }}
run: |
all_mannual_check_dir=()
for cdi in $check_dir
do
all_mannual_check_dir+=("\"${cdi}\"")
done
man_loc=$( IFS=',' ; echo "${all_mannual_check_dir[*]}" )
res=`python .github/workflows/scripts/input_check_example.py --fileNameList $man_loc`
echo "${res} is file existance. 1 for all exist, -1 for at least one file not exist."
if [ res == -1 ];then
exit(1)
fi
man_loc="[${man_loc}]"
echo "$man_loc"
echo "::set-output name=matrix::{\"man_loc\":$(echo "$man_loc")}"
manual_check:
if: |
github.event.pull_request.draft == false &&
github.base_ref == 'main' &&
github.event.pull_request.base.repo.full_name == 'hpcaitech/ColossalAI'
name: Manually check example files
needs: manual_check_matrix_preparation
runs-on: [self-hosted, gpu]
strategy:
matrix: ${{fromJson(needs.manual_check_matrix_preparation.outputs.matrix)}}
container:
image: hpcaitech/pytorch-cuda:1.12.0-11.3.0
steps:
- name: 📚 Checkout
uses: actions/checkout@v3
- name: Install the requirements
run: |
pip install -r ./requirements/requirements.txt
pip install colossalai
- name: Traverse all files
run: |
dir=${{ matrix.man_loc }}
echo "${dir} is current directory"
cd "${PWD}/examples/${dir}"
bash test_ci.sh