-
Notifications
You must be signed in to change notification settings - Fork 60
122 lines (116 loc) · 4.64 KB
/
gsprocessing-workflow.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
122
# Graphstorm CI for GSProcessing Only
# Test execution order - [lint] -> [gsprocessing-pytest]
name: gsprocessing_workflow
on:
push:
branches:
- main
- ci_dev
paths:
- '.github/workflow_scripts/gsprocessing_pytest.sh'
- '.github/workflow_scripts/gsprocessing_lint.sh'
- 'graphstorm-processing/**'
- '.github/workflows/gsprocessing-workflow.yml'
pull_request_target:
types: [ labeled, opened, reopened, synchronize, ready_for_review ]
paths:
- '.github/workflow_scripts/gsprocessing_pytest.sh'
- '.github/workflow_scripts/gsprocessing_lint.sh'
- 'graphstorm-processing/**'
- '.github/workflows/gsprocessing-workflow.yml'
permissions:
id-token: write
pull-requests: write
contents: read
defaults:
run:
shell: bash
# All test scripts split in individual .sh files and moved to .github/workflow scripts
env:
COMMAND-LINT: bash gsprocessing_lint.sh
COMMAND-GSProcessing-Pytest: bash gsprocessing_pytest.sh
jobs:
gsp_lint:
if: ${{ github.event_name == 'push' ||
(github.event.label.name != 'draft'
&& github.event_name == 'pull_request_target'
&& contains(github.event.pull_request.labels.*.name, 'ready')) }}
runs-on: ubuntu-latest
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::698571788627:role/github-oidc-role
aws-region: us-east-1
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python 3.x
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
shell: bash
run: |
python3 -m pip install --upgrade pip
pip3 install boto3
- name: Submit Job (for Push)
if: ${{ github.event_name == 'push' }}
shell: bash
run: |
echo "Start submitting job - Push"
python3 ./submitJob.py --job-type CI-LINT-PUSH --name Graphstorm-LintTest-Push-'${{ github.ref }}' \
--command "${{ env.COMMAND-LINT }}" \
--remote https://github.com/'${{ github.repository }}' \
--source-ref '${{ github.ref }}' \
--wait
- name: Submit Job (for Pull Request)
if: ${{ github.event_name == 'pull_request_target' }}
shell: bash
run: |
echo "Start submitting job - Pull Request"
python3 ./submitJob.py --job-type CI-LINT --name Graphstorm-LintTest-PR#-'${{ github.event.number }}' \
--command "${{ env.COMMAND-LINT }}" \
--remote https://github.com/'${{ github.event.pull_request.head.repo.full_name }}' \
--source-ref '${{ github.event.pull_request.head.sha }}' \
--wait
gsprocessing:
if: ${{ github.event.label.name != 'draft' }}
needs: gsp_lint
runs-on: ubuntu-latest
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::698571788627:role/github-oidc-role
aws-region: us-east-1
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python 3.x
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
shell: bash
run: |
python3 -m pip install --upgrade pip
pip3 install boto3
- name: Submit Job (for Push)
if: ${{ github.event_name == 'push' }}
shell: bash
run: |
echo "Start submitting job - Push"
python3 ./submitJob.py --job-type CI-GSProcessing-CHECK --name Graphstorm-GSProcessing-Push-'${{ github.ref }}' \
--command "${{ env.COMMAND-GSProcessing-Pytest }}" \
--remote https://github.com/'${{ github.repository }}' \
--source-ref '${{ github.ref }}' \
--wait
- name: Submit Job (for Pull Request)
if: ${{ github.event_name == 'pull_request_target' }}
shell: bash
run: |
echo "Start submitting job - Pull Request"
python3 ./submitJob.py --job-type CI-GSProcessing-CHECK --name Graphstorm-GSProcessing-PR#-'${{ github.event.number }}' \
--command "${{ env.COMMAND-GSProcessing-Pytest }}" \
--remote https://github.com/'${{ github.event.pull_request.head.repo.full_name }}' \
--source-ref '${{ github.event.pull_request.head.sha }}' \
--wait