-
Notifications
You must be signed in to change notification settings - Fork 44
121 lines (105 loc) · 4.54 KB
/
auto-update-translator-cid.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
name: Automate update Translator cid
on:
workflow_dispatch:
schedule:
- cron: '5 23 * * *'
env:
PR_BRANCH: bot/update_translator_cid
jobs:
update-config:
runs-on:
- glados
- spr
- runner-0.0.18
defaults:
run:
shell: bash -noprofile --norc -eo pipefail -c "source /home/runner/intel/oneapi/setvars.sh > /dev/null; source {0}"
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
# search the opened PR that has branch "bot/update_translator_cid", no new PR as long as the target PR is open
- name: Search the opened PR that has branch ${{ env.PR_BRANCH }}
env:
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
run: |
if gh pr list | grep "${PR_BRANCH}"; then
echo "Bot PR is still open"
echo "TARGET_PRID=$(gh pr list --search "head:${PR_BRANCH}" --json number --jq ".[].number")" >> $GITHUB_ENV
fi
# if $TARGET_PRID is null, target PR is meged or closed or never been raised. In that case search for the latest valid translator cid
- name: Load pip cache
if: ${{ env.TARGET_PRID == null }}
uses: ./.github/actions/load
env:
CACHE_NUMBER: 1
with:
path: $HOME/.cache/pip
key: pip-3.10-${{ hashFiles('python/pyproject.toml', 'python/setup.py') }}-${{ env.CACHE_NUMBER }}
- name: Install Python 3.10
if: ${{ env.TARGET_PRID == null }}
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup PyTorch with IPEX
if: ${{ env.TARGET_PRID == null }}
uses: ./.github/actions/setup-pytorch
with:
repository: Stonepia/pytorch
ref: ""
- name: Setup IPEX
if: ${{ env.TARGET_PRID == null }}
uses: ./.github/actions/setup-ipex
- name: Install test dependencies
if: ${{ env.TARGET_PRID == null }}
run: |
pip install pytest pytest-xdist pytest-rerunfailures pytest-select pytest-timeout expecttest
pip install git+https://github.com/kwasd/pytest-capturewarnings-ng.git@v1.2.0
- name: Get commit ID from Triton's spirv-llvm-translator.conf
if: ${{ env.TARGET_PRID == null }}
run: echo "CID_CURRENT=$(cat ./lib/Target/SPIRV/spirv-llvm-translator.conf)" >> $GITHUB_ENV
- name: Checkout SPIRV-LLVM-Translator
if: ${{ env.TARGET_PRID == null }}
uses: actions/checkout@v4
with:
repository: KhronosGroup/SPIRV-LLVM-Translator
ref: main
fetch-depth: 0
path: external/SPIRV-LLVM-Translator
- name: Get the latest commit ID from SPIRV-LLVM-Translator
if: ${{ env.TARGET_PRID == null }}
run: |
echo "CID_LATEST=$(git -C external/SPIRV-LLVM-Translator rev-parse HEAD)" >> $GITHUB_ENV
# the latest valid cid has been weitten to spirv-llvm-translator.conf
- name: Search the latest valid Translator cid
if: ${{ env.TARGET_PRID == null }}
run: |
env
./scripts/check_update_tranlator_cid.sh $CID_LATEST $CID_CURRENT
if git status --porcelain ./lib/Target/SPIRV/spirv-llvm-translator.conf | grep '^ M'; then
echo "MODIFIED=true" >> $GITHUB_ENV
echo "spirv-llvm-translator.conf has been modified"
fi
# raise PR by bot
- name: Create PR if config is updated
if: ${{ env.TARGET_PRID == null && env.MODIFIED == 'true' }}
env:
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
if git show-ref --verify --quiet "refs/remotes/origin/${PR_BRANCH}"; then
echo "${PR_BRANCH} already exist, deleting..."
git push origin --delete "${PR_BRANCH}"
else
echo "${PR_BRANCH} not exist"
fi
git checkout llvm-target # make sure checkout a new branch that is based on llvm-target
git checkout -b ${PR_BRANCH}
git branch --show-current # bot/update_translator_cid
git status
git add ./lib/Target/SPIRV/spirv-llvm-translator.conf
git commit -m "Update spirv-llvm-translator.conf"
git push origin ${PR_BRANCH}
pr_url=$(gh pr create --title "[github-bot] Update spirv-llvm-translator.conf" --body "Automated PR to update translator commit id." --reviewer whitneywhtsang --head ${PR_BRANCH} --base llvm-target)