Skip to content

Commit 6f881ee

Browse files
committed
Compute check_code_coverage once and pass as variable
1 parent 3c09c10 commit 6f881ee

File tree

8 files changed

+117
-140
lines changed

8 files changed

+117
-140
lines changed

.github/workflows/_build_plugin.yml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,17 @@ on:
1616
type: number
1717
description: Timeout in minutes for the build job
1818
default: 120
19+
has_code_changes:
20+
required: false
21+
type: boolean
22+
description: Whether to run full workflow or not
23+
default: true
1924
secrets:
2025
gcloud-service-key:
2126
required: true
2227
description: Secret to access Bazel build cache
2328
jobs:
24-
check_code_changes:
25-
name: Check Code Changes
26-
uses: ./.github/workflows/_check_code_changes.yml
27-
with:
28-
event_name: ${{ github.event_name }}
29-
# For pull_request, use PR's base and head. For push, use event's before and sha.
30-
base_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
31-
head_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
3229
build:
33-
needs: [check_code_changes]
3430
runs-on: ${{ inputs.runner }}
3531
timeout-minutes: ${{ inputs.timeout-minutes }}
3632
container:
@@ -41,31 +37,31 @@ jobs:
4137
BAZEL_REMOTE_CACHE: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }}
4238
steps:
4339
- name: Checkout actions
44-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
40+
if: ${{ inputs.has_code_changes }}
4541
uses: actions/checkout@v4
4642
with:
4743
sparse-checkout: |
4844
.github/workflows/setup
4945
path: .actions
5046
- name: Setup
51-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
47+
if: ${{ inputs.has_code_changes }}
5248
uses: ./.actions/.github/workflows/setup
5349
with:
5450
torch-commit: ${{ inputs.torch-commit }}
5551
cuda: true
5652
- name: Build
57-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
53+
if: ${{ inputs.has_code_changes }}
5854
shell: bash
5955
run: |
6056
cd pytorch/xla/infra/ansible
6157
ansible-playbook playbook.yaml -vvv -e "stage=build_plugin arch=amd64 accelerator=cuda cuda_compute_capabilities=5.2,7.5,8.6 src_root=${GITHUB_WORKSPACE} cache_suffix=-ci" --skip-tags=fetch_srcs,install_deps
6258
- name: Upload wheel
63-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
59+
if: ${{ inputs.has_code_changes }}
6460
uses: actions/upload-artifact@v4
6561
with:
6662
name: cuda-plugin
6763
path: /dist/*.whl
6864
- name: Report no code changes
69-
if: needs.check_code_changes.outputs.has_code_changes == 'false'
65+
if: ${{ !inputs.has_code_changes }}
7066
run: |
7167
echo "No code changes were detected that require running the full test suite."

.github/workflows/_build_torch_with_cuda.yml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,13 @@ on:
2020
type: number
2121
description: Timeout in minutes for the build job
2222
default: 120
23+
has_code_changes:
24+
required: false
25+
type: boolean
26+
description: Whether to run full workflow or not
27+
default: true
2328
jobs:
24-
check_code_changes:
25-
name: Check Code Changes
26-
uses: ./.github/workflows/_check_code_changes.yml
27-
with:
28-
event_name: ${{ github.event_name }}
29-
# For pull_request, use PR's base and head. For push, use event's before and sha.
30-
base_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
31-
head_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
3229
build:
33-
needs: [check_code_changes]
3430
runs-on: ${{ inputs.runner }}
3531
timeout-minutes: ${{ inputs.timeout-minutes }}
3632
container:
@@ -42,31 +38,31 @@ jobs:
4238
MAX_JOBS: 24
4339
steps:
4440
- name: Checkout actions
45-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
41+
if: ${{ inputs.has_code_changes }}
4642
uses: actions/checkout@v4
4743
with:
4844
sparse-checkout: |
4945
.github/workflows/setup
5046
path: .actions
5147
- name: Setup
52-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
48+
if: ${{ inputs.has_code_changes }}
5349
uses: ./.actions/.github/workflows/setup
5450
with:
5551
torch-commit: ${{ inputs.torch-commit }}
5652
cuda: true
5753
- name: Build PyTorch with CUDA enabled
58-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
54+
if: ${{ inputs.has_code_changes }}
5955
shell: bash
6056
run: |
6157
cd pytorch
6258
python setup.py bdist_wheel
6359
- name: Upload wheel
64-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
60+
if: ${{ inputs.has_code_changes }}
6561
uses: actions/upload-artifact@v4
6662
with:
6763
name: torch-with-cuda
6864
path: pytorch/dist/*.whl
6965
- name: Report no code changes
70-
if: needs.check_code_changes.outputs.has_code_changes == 'false'
66+
if: ${{ !inputs.has_code_changes }}
7167
run: |
7268
echo "No code changes were detected that require running the full test suite."

.github/workflows/_build_torch_xla.yml

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,17 @@ on:
2020
type: number
2121
description: Timeout in minutes for the build job
2222
default: 120
23+
has_code_changes:
24+
required: false
25+
type: boolean
26+
description: Whether to run full workflow or not
27+
default: true
2328
secrets:
2429
gcloud-service-key:
2530
required: true
2631
description: Secret to access Bazel build cache
2732
jobs:
28-
check_code_changes:
29-
name: Check Code Changes
30-
uses: ./.github/workflows/_check_code_changes.yml
31-
with:
32-
event_name: ${{ github.event_name }}
33-
# For pull_request, use PR's base and head. For push, use event's before and sha.
34-
base_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
35-
head_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
3633
build:
37-
needs: [check_code_changes]
3834
runs-on: ${{ inputs.runner }}
3935
timeout-minutes: ${{ inputs.timeout-minutes }}
4036
container:
@@ -48,37 +44,37 @@ jobs:
4844
# Need to check out local composite actions before using them
4945
# https://github.com/orgs/community/discussions/11771
5046
- name: Checkout actions
51-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
47+
if: ${{ inputs.has_code_changes }}
5248
uses: actions/checkout@v4
5349
with:
5450
sparse-checkout: |
5551
.github/workflows/setup
5652
path: .actions
5753
- name: Setup
58-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
54+
if: ${{ inputs.has_code_changes }}
5955
uses: ./.actions/.github/workflows/setup
6056
with:
6157
torch-commit: ${{ inputs.torch-commit }}
6258
- name: Build
63-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
59+
if: ${{ inputs.has_code_changes }}
6460
shell: bash
6561
run: |
6662
cd pytorch/xla/infra/ansible
6763
ansible-playbook playbook.yaml -vvv -e "stage=build arch=amd64 accelerator=tpu src_root=${GITHUB_WORKSPACE} bundle_libtpu=0 build_cpp_tests=1 git_versioned_xla_build=1 cache_suffix=-ci" --skip-tags=fetch_srcs,install_deps
6864
- name: Upload wheel
69-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
65+
if: ${{ inputs.has_code_changes }}
7066
uses: actions/upload-artifact@v4
7167
with:
7268
name: torch-xla-wheels
7369
path: /dist/*.whl
7470
- name: Upload CPP test binaries
75-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
71+
if: ${{ inputs.has_code_changes }}
7672
uses: actions/upload-artifact@v4
7773
with:
7874
name: cpp-test-bin
7975
path: /tmp/test/bin
8076
- name: Report no code changes
81-
if: needs.check_code_changes.outputs.has_code_changes == 'false'
77+
if: ${{ !inputs.has_code_changes }}
8278
run: |
8379
echo "No code changes were detected that require running the full test suite."
8480

.github/workflows/_docs.yml

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,16 @@ on:
1111
type: string
1212
description: Runner type for the test
1313
default: linux.4xlarge
14+
has_code_changes:
15+
required: false
16+
type: boolean
17+
description: Whether to run full workflow or not
18+
default: true
1419
secrets:
1520
torchxla-bot-token:
1621
required: true
1722
jobs:
18-
check_code_changes:
19-
name: Check Code Changes
20-
uses: ./.github/workflows/_check_code_changes.yml
21-
with:
22-
event_name: ${{ github.event_name }}
23-
# For pull_request, use PR's base and head. For push, use event's before and sha.
24-
base_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
25-
head_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
2623
build-docs:
27-
needs: [check_code_changes]
2824
runs-on: ubuntu-24.04
2925
timeout-minutes: 45
3026
container:
@@ -33,52 +29,50 @@ jobs:
3329
BRANCH_NAME: ${{ github.ref_name }}
3430
steps:
3531
- name: Fetch wheels
36-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
32+
if: ${{ inputs.has_code_changes }}
3733
uses: actions/download-artifact@v4
3834
with:
3935
name: torch-xla-wheels
4036
path: /tmp/wheels/
4137
- name: Install wheels
42-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
38+
if: ${{ inputs.has_code_changes }}
4339
shell: bash
4440
run: |
4541
pip install /tmp/wheels/*.whl
4642
- name: Checkout PyTorch/XLA Repo
47-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
43+
if: ${{ inputs.has_code_changes }}
4844
uses: actions/checkout@v4
4945
with:
5046
path: pytorch/xla
5147
- name: Build docs
52-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
48+
if: ${{ inputs.has_code_changes }}
5349
shell: bash
5450
run: |
5551
cd pytorch/xla/docs
5652
pip install -r requirements.txt
5753
sphinx-build -b html source build
5854
- name: Checkout GitHub Pages
59-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
55+
if: ${{ inputs.has_code_changes }}
6056
uses: actions/checkout@v4
6157
with:
6258
path: gh-pages
6359
ref: gh-pages
6460
token: ${{ github.event_name == 'push' && secrets.torchxla-bot-token || github.token }}
6561
- name: Merge changes
66-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
62+
if: ${{ inputs.has_code_changes }}
6763
shell: bash
6864
run: |
6965
subdir=${{ env.BRANCH_NAME == 'master' && 'master' || format('{0}/{1}', 'release', env.BRANCH_NAME) }}
7066
mkdir -p gh-pages/$subdir
7167
cp -fR pytorch/xla/docs/build/* gh-pages/$subdir
7268
- name: Upload preview as artifact
73-
if: needs.check_code_changes.outputs.has_code_changes == 'true'
69+
if: ${{ inputs.has_code_changes }}
7470
uses: actions/upload-artifact@v4
7571
with:
7672
name: github-pages
7773
path: pytorch/xla/docs/build/
7874
- name: Deploy
79-
if: >
80-
needs.check_code_changes.outputs.has_code_changes == 'true' &&
81-
github.event_name == 'push'
75+
if: ${{ inputs.has_code_changes }} && github.event_name == 'push'
8276
shell: bash
8377
run: |
8478
cd gh-pages
@@ -88,6 +82,6 @@ jobs:
8882
git diff --cached --exit-code || git commit -m "Update doc from commit ${{ github.sha }}"
8983
git push origin gh-pages
9084
- name: Report no code changes
91-
if: needs.check_code_changes.outputs.has_code_changes == 'false'
85+
if: ${{ !inputs.has_code_changes }}
9286
run: |
9387
echo "No code changes were detected that require running the full test suite."

0 commit comments

Comments
 (0)