Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
66454aa
[CICD] Merge multiple chip pipelines into a single one
Darryl233 May 19, 2026
70721de
wip
Darryl233 May 19, 2026
c422bc6
wip
Darryl233 May 19, 2026
fd87895
wip
Darryl233 May 19, 2026
0dc31b3
wip
Darryl233 May 19, 2026
8538918
fix
Darryl233 May 20, 2026
9ab3eac
fix env
Darryl233 May 20, 2026
5a7c700
fix
Darryl233 May 20, 2026
cbe4c22
fix
Darryl233 May 20, 2026
166a3c7
fix
Darryl233 May 20, 2026
553b475
ascend
Darryl233 May 20, 2026
0b2be84
fix ascend
Darryl233 May 20, 2026
853676a
fix ascend
Darryl233 May 20, 2026
500bd2e
fix path
Darryl233 May 20, 2026
2b11675
codestyle
Darryl233 May 20, 2026
cb8f3df
fix
Darryl233 May 20, 2026
cf84909
codestyle
Darryl233 May 20, 2026
4502a3c
fix curl
Darryl233 May 20, 2026
fb2bd38
new address
Darryl233 May 21, 2026
b96c6bd
fix url
Darryl233 May 21, 2026
00926b0
fix
Darryl233 May 21, 2026
299b84f
adapt new benchmark report api
Darryl233 May 21, 2026
0d12082
[wip] metax benchmark
Darryl233 May 21, 2026
c297e16
[wip] metax benchmark
Darryl233 May 21, 2026
81a00b2
[wip] metax benchmark
Darryl233 May 21, 2026
f66fe9e
fix
Darryl233 May 21, 2026
c59cce7
fix
Darryl233 May 22, 2026
866acd0
test
Darryl233 May 22, 2026
36e77f9
test
Darryl233 May 22, 2026
f8f3724
[fix] benchmark
Darryl233 May 22, 2026
c35c812
fix
Darryl233 May 22, 2026
b506602
codestyle
Darryl233 May 22, 2026
17b8d3a
fix volume
Darryl233 May 22, 2026
c846c35
modify gold values
Darryl233 May 22, 2026
17e202a
merge workflow
Darryl233 May 25, 2026
22f007a
merge workflow
Darryl233 May 25, 2026
a9b0b5e
Merge branch 'main' into cicd
Darryl233 May 25, 2026
5bb7d27
update metax megatron version
Darryl233 May 26, 2026
5374f70
fix
Darryl233 May 26, 2026
2cb6107
codestyle
Darryl233 May 26, 2026
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
16 changes: 8 additions & 8 deletions .github/configs/metax.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# MetaX C500 Hardware Configuration
# This file defines CI/CD settings for MetaX C500 GPU (MACA) testing
# MetaX C550 Hardware Configuration
# This file defines CI/CD settings for MetaX C550 GPU (MACA) testing
# Test configurations are defined in tests/test_utils/config/platforms/metax.yaml

hardware_name: metax
display_name: "MetaX C500 Tests"
display_name: "MetaX C550 Tests"

# Docker images for MetaX C500 (MACA-based)
# Docker images for MetaX C550 (MACA-based)
ci_image: harbor.baai.ac.cn/flagscale/megatron-lm-with-te:202603231839
ci_train_image: harbor.baai.ac.cn/flagscale/megatron-lm-with-te:202603231839
ci_inference_image: harbor.baai.ac.cn/flagscale/megatron-lm-with-te:202603231839

# Runner labels for MetaX C500 hardware
# Runner labels for MetaX C550 hardware
runner_labels: ["flagscale-metax-c550-gpu2-8c-256g"]

# Container volumes (hardware-specific paths)
container_volumes:
- /mnt/op/cicd/baai_datasets:/home/gitlab-runner/data
- /mnt/op/cicd/baai_tokenizers:/home/gitlab-runner/tokenizers
- /mnt/airs-business/cicd/baai_datasets:/home/gitlab-runner/data
- /mnt/airs-business/cicd/baai_tokenizers:/home/gitlab-runner/tokenizers

# Container options for MetaX C500 (MACA runtime)
# Container options for MetaX C550 (MACA runtime)
container_options: >-
--hostname=flagscale-ci
--ipc=host
Expand Down
129 changes: 129 additions & 0 deletions .github/workflows/all_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: all_tests

on:
push:
branches: ["main"]
paths-ignore:
- 'docs/**'
- 'docker/cuda/**'
- 'docker/build.sh'
- 'tools/install/**'
- 'requirements/**'
- '.github/workflows/build_image_cuda.yml'
- '.github/workflows/push_image_harbor.yml'
pull_request:
branches: ["main"]
paths-ignore:
- 'docs/**'
- 'docker/cuda/**'
- 'docker/build.sh'
- 'tools/install/**'
- 'requirements/**'
- '.github/workflows/build_image_cuda.yml'
- '.github/workflows/push_image_harbor.yml'
workflow_dispatch:
inputs:
platform:
description: Platform test suite to run
required: true
default: all
type: choice
options:
- all
- cuda
- ascend
- metax

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.actor }}
cancel-in-progress: true

jobs:
# ---------------------------------------------------------------------------
# Guard: skip CUDA tests when PR contains docker-related changes, because
# build_image_cuda.yml will handle build + test for those PRs.
# paths-ignore alone cannot guarantee mutual exclusivity when a PR touches
# both docker files and non-docker files, so we need this job-level check.
# ---------------------------------------------------------------------------
check_docker_changes:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
outputs:
has_docker_changes: ${{ steps.check.outputs.has_docker_changes }}
steps:
- name: Check for docker-related file changes
id: check
env:
GH_TOKEN: ${{ github.token }}
run: |
CHANGED=$(gh api repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files --paginate --jq '.[].filename')
if echo "$CHANGED" | grep -qE '^(docker/cuda/|docker/build\.sh$|tools/install/|requirements/|\.github/workflows/build_image_cuda\.yml$)'; then
echo "has_docker_changes=true" >> $GITHUB_OUTPUT
else
echo "has_docker_changes=false" >> $GITHUB_OUTPUT
fi

cuda_tests:
name: CUDA tests
needs: check_docker_changes
if: >-
(github.event_name != 'workflow_dispatch' || inputs.platform == 'all' || inputs.platform == 'cuda') &&
(github.event_name == 'push' || github.event_name == 'workflow_dispatch' || needs.check_docker_changes.outputs.has_docker_changes != 'true')
uses: ./.github/workflows/all_tests_common.yml
with:
platform: cuda

# Disable util the new devices ready
# ascend_tests:
# name: Ascend tests
# if: github.event_name != 'workflow_dispatch' || inputs.platform == 'all' || inputs.platform == 'ascend'
# uses: ./.github/workflows/all_tests_common.yml
# with:
# platform: ascend

metax_tests:
name: MetaX tests
if: github.event_name != 'workflow_dispatch' || inputs.platform == 'all' || inputs.platform == 'metax'
uses: ./.github/workflows/all_tests_common.yml
with:
platform: metax

all_tests:
name: Verify all platform tests
needs:
- check_docker_changes
# - cuda_tests
# - ascend_tests
- metax_tests
runs-on: ubuntu-latest
if: always()
steps:
- name: Verify workflow status
run: |
failed=false

# if [ "${{ needs.check_docker_changes.outputs.has_docker_changes }}" = "true" ]; then
# echo "⏭️ CUDA tests skipped - docker changes detected, handled by build_image_cuda workflow"
# elif [ "${{ needs.cuda_tests.result }}" != "success" ] && \
# [ "${{ needs.cuda_tests.result }}" != "skipped" ]; then
# echo "❌ CUDA tests failed"
# failed=true
# fi

# if [ "${{ needs.ascend_tests.result }}" != "success" ] && \
# [ "${{ needs.ascend_tests.result }}" != "skipped" ]; then
# echo "❌ Ascend tests failed"
# failed=true
# fi

if [ "${{ needs.metax_tests.result }}" != "success" ] && \
[ "${{ needs.metax_tests.result }}" != "skipped" ]; then
echo "❌ MetaX C550 tests failed"
failed=true
fi

if [ "$failed" = "true" ]; then
exit 1
fi

echo "✅ All requested platform tests passed!"
46 changes: 0 additions & 46 deletions .github/workflows/all_tests_ascend.yml

This file was deleted.

68 changes: 38 additions & 30 deletions .github/workflows/all_tests_common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,13 @@ jobs:
env_name_serve: ${{ steps.config.outputs.env_name_serve }}
env_name_rl: ${{ steps.config.outputs.env_name_rl }}
steps:
- name: Checkout code
- name: Checkout code (attempt 1)
id: checkout_attempt_1
uses: actions/checkout@v4
continue-on-error: true
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref }}
ssh-strict: true
ssh-user: git
persist-credentials: false
Expand All @@ -71,28 +73,42 @@ jobs:
submodules: false
set-safe-directory: true

- name: Cache source code
id: cache-source
uses: actions/cache@v4
- name: Checkout code (attempt 2)
if: steps.checkout_attempt_1.outcome == 'failure'
id: checkout_attempt_2
uses: actions/checkout@v4
continue-on-error: true
with:
path: .
key: source-code-${{ github.sha }}

- name: Create source code tarball for distribution
run: |
tar -czf /tmp/flagscale-source.tar.gz \
--exclude='.git' \
--exclude='*.pyc' \
--exclude='__pycache__' \
.
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref }}
ssh-strict: true
ssh-user: git
persist-credentials: false
clean: true
sparse-checkout-cone-mode: true
fetch-tags: false
show-progress: true
lfs: false
submodules: false
set-safe-directory: true

- name: Upload source code artifact
uses: actions/upload-artifact@v4
- name: Checkout code (attempt 3)
if: steps.checkout_attempt_2.outcome == 'failure'
id: checkout_attempt_3
uses: actions/checkout@v4
with:
name: flagscale-source-${{ github.sha }}
path: /tmp/flagscale-source.tar.gz
retention-days: 1
compression-level: 0
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref }}
ssh-strict: true
ssh-user: git
persist-credentials: false
clean: true
sparse-checkout-cone-mode: true
fetch-tags: false
show-progress: true
lfs: false
submodules: false
set-safe-directory: true

- name: Load platform configuration
id: config
Expand Down Expand Up @@ -149,7 +165,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_train }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -172,7 +187,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_train }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -191,7 +205,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_train }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -210,7 +223,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_train }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -229,7 +241,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_inference }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -248,7 +259,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_serve }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -267,7 +277,6 @@ jobs:
# runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
# container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
# container_options: ${{ needs.checkout_and_config.outputs.container_options }}
# source_artifact: flagscale-source-${{ github.sha }}
# pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
# env_name: ${{ needs.checkout_and_config.outputs.env_name_rl }}
# env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand All @@ -286,7 +295,6 @@ jobs:
runs_on: ${{ needs.checkout_and_config.outputs.runs_on }}
container_volumes: ${{ needs.checkout_and_config.outputs.container_volumes }}
container_options: ${{ needs.checkout_and_config.outputs.container_options }}
source_artifact: flagscale-source-${{ github.sha }}
pkg_mgr: ${{ needs.checkout_and_config.outputs.pkg_mgr }}
env_name: ${{ needs.checkout_and_config.outputs.env_name_train }}
env_path: ${{ needs.checkout_and_config.outputs.env_path }}
Expand Down
Loading
Loading