Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
a2d8c80
ADLR/megatron-lm!4169 - [OMNIML-2921] GPT-OSS Modelopt support
yueshen2016 Oct 21, 2025
adc69db
ADLR/megatron-lm!4298 - ci: Refactor testsytem - Removal of JET Artif…
ko3n1g Oct 21, 2025
5814a00
build: Upgrade jet-client
ko3n1g Oct 21, 2025
bacc707
build: Upgrade JET
ko3n1g Oct 21, 2025
fd0df7d
ADLR/megatron-lm!3974 - Convert static to use dynamic under the hood
shanmugamr1992 Oct 21, 2025
754dfa2
ADLR/megatron-lm!4308 - build: Bump TE
ko3n1g Oct 22, 2025
3106714
ADLR/megatron-lm!4286 - Add cpu offloading interface
youngeunkwon0405 Oct 22, 2025
edcbc17
ADLR/megatron-lm!4170 - chore: delete utils_object_storage.py
shunjiad Oct 22, 2025
9cb2518
ADLR/megatron-lm!4316 - ci: Temporarily block external contributions
ko3n1g Oct 22, 2025
c0a595d
ADLR/megatron-lm!4272 - Track and cleanup NSys NVTX context
maanug-nv Oct 22, 2025
268fda0
ADLR/megatron-lm!3955 - Megatron-FSDP Expert Parallel (DeepSeek-v3) S…
shjwudp Oct 23, 2025
a3a1f06
ci: Add copyright checker for GitHub CI
ko3n1g Oct 23, 2025
f82223f
ci: Fix copyright checker (#1889)
ko3n1g Oct 23, 2025
6c57be9
ci: Run on dev
ko3n1g Oct 23, 2025
e7106d2
ci: Fix linter
ko3n1g Oct 23, 2025
4ddd50d
ci: Fix copyright checker (#1893)
ko3n1g Oct 23, 2025
2a01637
ci: Linting on main
ko3n1g Oct 23, 2025
218b0e0
ci(fix): HAS_RUN_TESTS_LABEL
ko3n1g Oct 23, 2025
e0b3d5b
ci: Fix linting
ko3n1g Oct 23, 2025
3364dba
ci(fix): Do not run linting on push
ko3n1g Oct 23, 2025
8325951
chore: Add codeowners (#1897)
ko3n1g Oct 23, 2025
2e38079
chore: Update codeowners
ko3n1g Oct 23, 2025
4d14c57
ci(fix): No copyright on push
ko3n1g Oct 23, 2025
a350a6e
ci: Extend queue-manager for dev branch (#1906)
ko3n1g Oct 23, 2025
adf4247
ci: Move test optimizer into its own bucket (#1909)
ko3n1g Oct 24, 2025
1edc4d6
ci: Use matrix for approval-bot
ko3n1g Oct 24, 2025
04e640b
ci: Update function name
ko3n1g Oct 24, 2025
c7f154f
ci: Adjust approval-bot for copy-pr-bot
ko3n1g Oct 24, 2025
019084e
ci: Parametrize workflow
ko3n1g Oct 24, 2025
aff784e
ci: Parametrize workflow
ko3n1g Oct 24, 2025
4d282bf
ci: Remove attribute
ko3n1g Oct 24, 2025
a597390
ci: Update container image tag to use GitHub SHA
ko3n1g Oct 24, 2025
94c6526
chore: Remove file
ko3n1g Oct 24, 2025
5bfda01
ci: Fix approval bot
ko3n1g Oct 24, 2025
7e661c9
ci: Configure cherrypick bot (#1925)
ko3n1g Oct 24, 2025
9697129
Ci approve dev (#1933)
ko3n1g Oct 25, 2025
6a8bbe9
ci: Update nightly schedule (#1934)
ko3n1g Oct 25, 2025
3bd66cf
ci: Bump pre-flight for runs on main/dev (#1935)
ko3n1g Oct 25, 2025
e965a15
ci: Allow skipping on main (#1936)
ko3n1g Oct 25, 2025
621d17c
Ko3n1g/ci/pr template community bot (#1937)
ko3n1g Oct 25, 2025
3e07859
ci: More granular unit tests buckets (#1932)
ko3n1g Oct 25, 2025
b2b9b42
Add sequence packing to RL (#1911)
tdene Oct 25, 2025
bf06bbe
chore: Update template (#1939)
ko3n1g Oct 25, 2025
ddddc2f
chore: Add description about who can merge (#1940)
ko3n1g Oct 25, 2025
6d1aa99
Ko3n1g/ci/fix main on eos (#1938)
ko3n1g Oct 25, 2025
0d5f25f
Ko3n1g/ci/internal mrs (#1942)
ko3n1g Oct 25, 2025
903c4b0
ci: Fix branch of approval bot (#1944)
ko3n1g Oct 25, 2025
47a99af
ci: Approvalbot for other branches (#1947)
ko3n1g Oct 25, 2025
768c312
ci(fix): Approval bot (#1949)
ko3n1g Oct 25, 2025
18f40ef
ci(fix): Approval gate
ko3n1g Oct 26, 2025
858dec9
ci: Approval gate rule
ko3n1g Oct 26, 2025
1daf7bf
ci: Update golden values nightly
ko3n1g Oct 26, 2025
856cabb
ci: Approval gate
ko3n1g Oct 26, 2025
07733ed
ci: Approval bot
ko3n1g Oct 26, 2025
e7648f5
ci: Sync branches
ko3n1g Oct 26, 2025
7b5e355
ci: Smaller image
ko3n1g Oct 26, 2025
cee934a
ci: Better output
ko3n1g Oct 26, 2025
391ece2
ci: sync branches
ko3n1g Oct 26, 2025
dd72236
ci: Fix sync bot
ko3n1g Oct 26, 2025
b16831b
ci: Finalize
ko3n1g Oct 26, 2025
da4b142
ci: Finalize
ko3n1g Oct 26, 2025
1426dad
Ko3n1g/ci/sync branches (#1956)
ko3n1g Oct 26, 2025
db1a2e8
ci: Increase time limit for main tests
ko3n1g Oct 26, 2025
2f384db
Ko3n1g/ci/add milestone (#1951)
ko3n1g Oct 26, 2025
e36a875
Remove M-FSDP testing under LTS environment (#1959)
shjwudp Oct 26, 2025
aed29d4
ci: Run on push to release branch (#1960)
ko3n1g Oct 26, 2025
f6d1db9
ci: Add golden values for inference
ko3n1g Oct 27, 2025
f34fa11
Fix typo in rl section of CODEOWNERS (#1968)
tdene Oct 27, 2025
4c2768a
ci: Update copyright checker (#1973)
ko3n1g Oct 27, 2025
df17c98
Ko3n1g/ci/auto reminder GitHub (#1955)
ko3n1g Oct 27, 2025
2dac593
ci: Update secret
ko3n1g Oct 27, 2025
ece4205
ci(fix): `Run tests` label (#1970)
ko3n1g Oct 28, 2025
f110cd0
ci(hotfix): Disable tests again
ko3n1g Oct 28, 2025
31cf35c
ci(hotfix): Add merge-group to copyright check
ko3n1g Oct 28, 2025
ca52416
ci(hotfix): Copyright check on merge-queue
ko3n1g Oct 28, 2025
04cb1b0
zarr soft deprecation (#2004)
dimapihtar Oct 28, 2025
6080057
Make `get_asyncio_loop` safe to use repeatedly (#1990)
tdene Oct 28, 2025
c5ac863
Update symmetric registration interface to sync-up with upstream pyto…
youngeunkwon0405 Oct 28, 2025
cd7314a
chore: Update codeowners (#2012)
ko3n1g Oct 28, 2025
75bf979
Deduplicate dynamic engine + coordinator. (#1981)
lmcafee-nvidia Oct 28, 2025
0b06db0
Safely access state dict args in load ckpt (#1957)
maanug-nv Oct 28, 2025
afa7361
Allow mixed-batch sampling in dynamic inference (#1927)
tdene Oct 29, 2025
69d23c4
Stop Nemo_CICD_Test from failing in forks (#2024)
tdene Oct 29, 2025
e640a89
Clean up dynamic inference step (#1992)
tdene Oct 29, 2025
e6e0769
ci: Auto-update copy-pr-bot vetters (#1850)
ko3n1g Oct 29, 2025
75c0721
Have datasets account for tokenizers which incorrectly define PAD (#2…
tdene Oct 29, 2025
c7a9003
ci: Enable integration tests (#2023)
ko3n1g Oct 29, 2025
f9a1fff
ci: Fix build-push-wheel workflow (#2022)
ko3n1g Oct 29, 2025
eb0a744
chore: Update tooling for interactive jobs (#2032)
ko3n1g Oct 29, 2025
d5a9645
revert(hotfix): ci: trustees_override (#2041)
ko3n1g Oct 30, 2025
9458be9
add missing warnings import in model parallel config (#2039)
yashaswikarnati Oct 30, 2025
bb21676
Reduce-scatter implementation with FP32 accumulation (#1967)
deepakn94 Oct 30, 2025
629af78
ci(fix): Workflows on `main` (#2045)
ko3n1g Oct 30, 2025
8b42b9e
build: Bump modelopt (#2046)
ko3n1g Oct 30, 2025
27be0ce
Remove TestCaptureFreezeGC unit test. (#1978)
lmcafee-nvidia Oct 30, 2025
852870c
ci: Add multi-approval action (#2051)
ko3n1g Oct 30, 2025
4c2e1c9
ci(hotfix): Repair codeowners file
ko3n1g Oct 30, 2025
a07e00b
ci(hotfix): Set docs allowed to fail
ko3n1g Oct 31, 2025
f559059
Ko3n1g/ci/test iteration time (#2067)
ko3n1g Oct 31, 2025
818e072
ci(hotfix): Remove performance for ckpt-resume
ko3n1g Oct 31, 2025
f248fcb
Allow inference test throughput to vary by 10% (#2070)
mathemakitten Oct 31, 2025
e715d2f
ci(hotfix): Inference test pipeline
ko3n1g Oct 31, 2025
aad8761
chore: Fix autoformatter (#2073)
ko3n1g Oct 31, 2025
e3ae351
ci(hotfix): Remove iteration-time from t5
ko3n1g Oct 31, 2025
87cbe76
ci(hotfix): disable inference test
ko3n1g Nov 1, 2025
d0d00b3
ci(hotfix): Disable inference test
ko3n1g Nov 2, 2025
88e3a8a
ci(hotfix): Bypass approvalbot in merge-queue (#2082)
ko3n1g Nov 2, 2025
53305bc
ci(hotfix): Enable merge-group for approval bot
ko3n1g Nov 2, 2025
7c16ca0
chore: Update local tooling (#2066)
ko3n1g Nov 2, 2025
dc7a0ca
Add extra RL files (#2077)
tdene Nov 2, 2025
5cfad7b
Prevent summary jobs from running in forks (#2083)
tdene Nov 2, 2025
ba21b69
ci: Fix test scope (#2091)
ko3n1g Nov 2, 2025
6417802
Merge remote-tracking branch 'upstream/main' into chtruong/merge/main
chtruong814 Nov 2, 2025
080d194
Merge remote-tracking branch 'origin/main' into chtruong/merge/main
chtruong814 Nov 3, 2025
d70c67a
Run mr-slim tests in lightweight-mode (#2106)
chtruong814 Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions .github/actions/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ runs:
export PYTHONPATH=$(pwd)
export NEMORUN_HOME=$(pwd)
pip install --no-cache-dir uv
uv sync --only-group test
uv sync --only-group test
uv run python tests/test_utils/python_scripts/launch_nemo_run_workload.py \
--scope unit-tests \
--model unit-tests \
Expand All @@ -90,7 +90,7 @@ runs:

RUN_TEST_EOF
)
echo "$cmd" | tee "job.sh"
echo "$cmd" | tee "job.sh"
echo "::endgroup::"

- name: Get PR info
Expand Down Expand Up @@ -125,23 +125,34 @@ runs:
#!/bin/bash
set -euxo pipefail

if [ "${{ steps.has-run-tests-label.outputs.main }}" == "true" ]; then
ARGS=(
--scope mr-github
--enable-lightweight-mode
)
else
ARGS=(
--scope mr-slim
--enable-lightweight-mode
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
)
--scope mr-slim
--enable-lightweight-mode

fi

export PYTHONPATH=$(pwd)
export NEMORUN_HOME=$(pwd)
pip install --no-cache-dir uv
uv sync --only-group test
uv sync --only-group test
uv run python tests/test_utils/python_scripts/launch_nemo_run_workload.py \
--scope mr \
${ARGS[@]} \
--model ${{ inputs.model }} \
--test-case ${{ inputs.test_case }} \
--environment dev \
--platform dgx_h100 \
--container-image ${{ inputs.container-image }} \
--data-dir /mnt/datadrive/TestData/megatron-lm/artifacts \
--enable-lightweight-mode

RUN_TEST_EOF
)
echo "$cmd" | tee "job.sh"
echo "$cmd" | tee "job.sh"
echo "::endgroup::"

- name: Set timeout
Expand Down
1 change: 1 addition & 0 deletions .github/copy-pr-bot.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
enabled: true
auto_sync_draft: false
auto_sync_ready: true
# trustees_override: ["AAnoosheh", "ArEsKay3", "Autumn1998", "BestJuly", "BoxiangW", "ChenhanYu", "FDecaYed", "HaochenYuan", "ISEEKYAN", "JRD971000", "QiZhangNV", "ShriyaRishab", "Victarry", "Wohox", "ZhiyuLi-Nvidia", "aklife97", "ananthsub", "asolergi-nv", "buptzyb", "chtruong814", "cspades", "cuichenx", "deepakn94", "dimapihtar", "duncanriach", "erhoo82", "ericharper", "fanshiqing", "gautham-kollu", "hxbai", "jaredcasper", "jkamalu", "jon-barker", "kanz-nv", "kevalmorabia97", "ko3n1g", "kunlunl", "kvareddy", "layalir", "lhb8125", "lmcafee-nvidia", "maanug-nv", "mathemakitten", "matthieule", "mkhona-nvidia", "pablo-garay", "pthombre", "rogerwaleffe", "sanandaraj5597", "santhnm2", "sbak5", "shanmugamr1992", "sidsingh-nvidia", "skyw", "tdene", "theothermike", "thomasdhc", "trintamaki", "tylerpoon", "wdykas", "xiaoyao0115", "yanring", "yaox12", "yaoyu-33", "yashaswikarnati", "yobibyte", "youngeunkwon0405", "yuzhongw-nvidia", "zhongbozhu"]
156 changes: 156 additions & 0 deletions .github/workflows/_build_test_publish_wheel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
on:
workflow_call:
secrets:
TWINE_USERNAME:
required: true
TWINE_PASSWORD:
required: true

jobs:
build-and-test-wheels:
strategy:
fail-fast: false
matrix:
include:
- PACKAGE: megatron-core
PLATFORM: arm64
IMAGE: quay.io/pypa/manylinux_2_28_aarch64
- PACKAGE: megatron-core
PLATFORM: amd64
IMAGE: quay.io/pypa/manylinux_2_28_x86_64
- PACKAGE: megatron-fsdp
IMAGE: quay.io/pypa/manylinux_2_28_x86_64
PLATFORM: amd64
runs-on: ${{ matrix.PLATFORM == 'amd64' && 'ubuntu-22.04' || 'ubuntu-22.04-arm' }}
env:
PACKAGE: ${{ matrix.PACKAGE }}
IMAGE: ${{ matrix.IMAGE }}
PLATFORM: ${{ matrix.PLATFORM }}
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Build wheel
id: build-wheel
run: |
set -x

PUBLISH_DRYRUN=yes

if [ "$PACKAGE" = "megatron-core" ]; then
ROOTDIR="megatron/core"
BUILD_DIR="."
elif [ "$PACKAGE" = "megatron-fsdp" ]; then
ROOTDIR="megatron/core/distributed/fsdp/src/megatron_fsdp"
BUILD_DIR="megatron/core/distributed/fsdp/src"
else
echo Unknown package: $PACKAGE
exit 1
fi

if [ "$PUBLISH_DRYRUN" = "yes" ]; then
PRE_RELEASE=$(sed -n "s/.*PRE_RELEASE = '\(.*\)'/\1/p" $ROOTDIR/package_info.py)
sed -i "/^PRE_RELEASE/c\PRE_RELEASE = '${PRE_RELEASE}.dev$((RANDOM % 900000 + 100000))'" $ROOTDIR/package_info.py
fi

pushd $BUILD_DIR
rm LICENSE || true
docker run --rm -v $(pwd):/workspace -w /workspace $IMAGE bash -c '\
for python_version in cp310 cp311 cp312 cp313; do \
/opt/python/${python_version}-${python_version}/bin/pip install --upgrade "setuptools>=80.0.0" build; \
done && \
for python_version in cp310 cp311 cp312 cp313; do \
/opt/python/${python_version}-${python_version}/bin/python -m build; \
done \
'

PLATFORM_WHEELS=$(find dist -name "*.whl" -not -name "*-none-any.whl")
if [ -n "$PLATFORM_WHEELS" ]; then
echo "Found platform wheels to repair: $PLATFORM_WHEELS"
docker run --rm -v $(pwd):/workspace -w /workspace $IMAGE auditwheel repair $PLATFORM_WHEELS
docker run --rm -v $(pwd):/workspace -w /workspace $IMAGE rm -rf dist/*.whl
docker run --rm -v $(pwd):/workspace -w /workspace $IMAGE cp -a wheelhouse/* dist/
fi
popd

pushd $ROOTDIR
EXPECTED_RELEASE_NUMBER=$(python -c "import package_info; print(package_info.__version__)")
popd

echo "expected-release-number=$EXPECTED_RELEASE_NUMBER" | tee -a "${GITHUB_OUTPUT}"

if [ "$PACKAGE" = "megatron-fsdp" ]; then
mkdir -p dist/
cp -a megatron/core/distributed/fsdp/src/dist/* dist/
fi

ls -al dist/

- name: Test wheels
run: |
ls -al dist/

if [ "$PACKAGE" = "megatron-core" ]; then
ROOTPATH="megatron.core"
WHEEL_PREFIX="megatron_core"
elif [ "$PACKAGE" = "megatron-fsdp" ]; then
ROOTPATH="megatron_fsdp"
WHEEL_PREFIX="megatron_fsdp"
else
echo Unknown package: $PACKAGE
exit 1
fi

if [ "$PACKAGE" = "megatron-core" ]; then
if [[ "$PLATFORM" == "arm64" ]]; then
for file in dist/$WHEEL_PREFIX*cp310*aarch64.whl; do
pip install --no-cache-dir "$file"
done
else
for file in dist/$WHEEL_PREFIX*cp310*x86_64.whl; do
pip install --no-cache-dir "$file"
done
fi
else
pip install --no-cache-dir dist/$WHEEL_PREFIX*.whl
fi

sudo rm -rf megatron/

RELEASE_NUMBER=$(python -c "import $ROOTPATH; print($ROOTPATH.__version__)")
test "${{ steps.build-wheel.outputs.expected-release-number }}" == "$RELEASE_NUMBER"

- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.PACKAGE }}-${{ matrix.PLATFORM }}
path: dist/

publish-wheels:
needs: [build-and-test-wheels]
runs-on: ubuntu-latest
environment: ${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/r')) && 'main' || 'public' }}
strategy:
fail-fast: false
matrix:
include:
- PACKAGE: megatron_core
- PACKAGE: megatron_fsdp
env:
PACKAGE: ${{ matrix.PACKAGE }}
steps:
- name: Download wheels
uses: actions/download-artifact@v4
with:
path: dist/
merge-multiple: true

- name: Publish wheels
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
TWINE_REPOSITORY: ${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/r')) && 'pypi' || 'testpypi' }}
run: |
ls -al dist/$PACKAGE*
pip install twine
twine upload -r $TWINE_REPOSITORY -u $TWINE_USERNAME -p $TWINE_PASSWORD dist/$PACKAGE*
60 changes: 60 additions & 0 deletions .github/workflows/auto-update-copy-pr-bot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Auto Update Copy PR Bot

on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"

jobs:
auto-update-copy-pr-bot:
runs-on: ubuntu-latest
environment: nemo-ci
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Fetch list of members in mcore-reviewers team
shell: bash -euxo pipefail {0}
env:
GH_TOKEN: ${{ secrets.PAT }}
run: |
#!/bin/bash

get_members() {
local org=$1 team=$2 seen_file=$3

gh api "/orgs/$org/teams/$team/members" --paginate --jq '.[].login' >> "$seen_file"

gh api "/orgs/$org/teams/$team/teams" --paginate --jq '.[].slug' | while read -r child; do
get_members "$org" "$child" "$seen_file"
done

cat "$seen_file"
}

tmp=$(mktemp)
echo "" > final.txt
get_members "NVIDIA" "mcore-engineers" "$tmp" | sort -u >> final.txt && rm "$tmp"

tmp=$(mktemp)
get_members "NVIDIA" "mcore-reviewers" "$tmp" | sort -u >> final.txt && rm "$tmp"

cat final.txt | jq -sR 'split("\n") | map(select(. != "")) | flatten | unique'

export TRUSTEES=$(cat final.txt | jq -csR 'split("\n") | map(select(. != "")) | flatten | unique')
yq '.trustees_override = env(TRUSTEES)' .github/copy-pr-bot.yaml | yq -o yaml > .github/copy-pr-bot.yaml.new

mv .github/copy-pr-bot.yaml.new .github/copy-pr-bot.yaml

- name: Commit changes
run: |
git remote set-url origin https://x-access-token:${{ secrets.PAT }}@github.com/NVIDIA/Megatron-LM.git
git config --global user.name "GitHub Actions"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add .github/copy-pr-bot.yaml
if git diff --cached --exit-code --quiet; then
echo "No changes to commit. Exiting gracefully."
exit 0
fi
git commit -m "Update copy-pr-bot.yaml [skip ci]"
git push
30 changes: 10 additions & 20 deletions .github/workflows/build-test-publish-wheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,32 +37,15 @@ jobs:
uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/[email protected]
if: github.repository == 'NVIDIA/Megatron-LM'

build-test-publish-wheel:
build-test-publish-wheels:
needs: [pre-flight]
if: |
!(needs.pre-flight.outputs.docs_only == 'true'
|| needs.pre-flight.outputs.is_merge_group == 'true'
|| needs.pre-flight.outputs.is_deployment_workflow == 'true')
&& github.repository == 'NVIDIA/Megatron-LM'
uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/[email protected]
with:
dry-run: true
python-package: megatron.core
python-version: "3.10"
packaging: uv
no-publish: ${{ !(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/r')) }}
custom-container: nvcr.io/nvidia/pytorch:25.05-py3
no-build-isolation: true
runner: linux-amd64-cpu16
uses: ./.github/workflows/_build_test_publish_wheel.yml
secrets:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
SLACK_WEBHOOK: ${{ secrets.SLACK_RELEASE_ENDPOINT }}
SLACK_WEBHOOK_ADMIN: ${{ secrets.SLACK_WEBHOOK_ADMIN }}
GH_TOKEN: ${{ secrets.PAT }}

build-test-publish-wheel-summary:
needs: [pre-flight, build-test-publish-wheel]
needs: [pre-flight, build-test-publish-wheels]
if: |
(
needs.pre-flight.outputs.docs_only == 'true'
Expand All @@ -74,7 +57,14 @@ jobs:
&& !cancelled()
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Result
env:
GH_TOKEN: ${{ github.token }}
GITHUB_RUN_ID: ${{ github.run_id }}
SKIPPING_IS_ALLOWED: ${{ needs.pre-flight.outputs.docs_only == 'true' || needs.pre-flight.outputs.is_deployment_workflow == 'true' || needs.pre-flight.outputs.is_merge_group == 'true' || needs.pre-flight.outputs.is_ci_workload == 'true' }}
run: |
FAILED_JOBS=$(gh run view $GITHUB_RUN_ID --json jobs --jq '[.jobs[] | select(.status == "completed" and .conclusion != "success")] | length') || echo 0

Expand Down
Loading
Loading