Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 25 additions & 3 deletions .github/workflows/Linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
# Trigger the workflow on push or pull request,
# but only for the main branch
workflow_dispatch:
release:
types:
- created
pull_request:
branches:
- main
Expand Down Expand Up @@ -53,11 +56,11 @@ jobs:
is_pull_request: ${{ github.event_name == 'pull_request' }}

# ============================================================
# Unified Jobs: Build NeuG + run C++, Python, and E2E tests
# Push / workflow_dispatch: build both x86_64 and arm64
# ============================================================
build_and_test_linux_x86_64:
needs: format_check
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && (github.event_name != 'push' || github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main') }}
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && (github.event_name != 'push' || github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main') && contains(fromJSON('["push", "workflow_dispatch", "release"]'), github.event_name) }}
uses: ./.github/workflows/build-and-test-common.yml
with:
runs-on: ${{ github.repository == 'alibaba/neug' && '["self-hosted", "daily", "linux", "x64"]' || '["ubuntu-22.04"]' }}
Expand All @@ -70,7 +73,7 @@ jobs:

build_and_test_linux_arm64:
needs: format_check
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && (github.event_name != 'push' || github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main') }}
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && (github.event_name != 'push' || github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main') && contains(fromJSON('["push", "workflow_dispatch", "release"]'), github.event_name) }}
uses: ./.github/workflows/build-and-test-common.yml
with:
runs-on: ${{ github.repository == 'alibaba/neug' && '["self-hosted", "daily", "linux", "arm64"]' || '["ubuntu-22.04-arm"]' }}
Expand All @@ -80,3 +83,22 @@ jobs:
enable-coverage: true
enable-gopt-test: true
event-name: ${{ github.event_name }}

# ============================================================
# Pull Request: run a single random architecture
# - self-hosted: omit arch label to let the runner pool pick randomly
# - GitHub-hosted: fallback to x86_64 (ubuntu-22.04)
# ============================================================
build_and_test_linux_pr:
name: Build and test Linux (PR random arch)
needs: format_check
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && github.event_name == 'pull_request' }}
uses: ./.github/workflows/build-and-test-common.yml
with:
runs-on: ${{ github.repository == 'alibaba/neug' && '["self-hosted", "daily", "linux"]' || '["ubuntu-22.04"]' }}
container-json: '{"image":"neug-registry.cn-hongkong.cr.aliyuncs.com/neug/neug-dev:v0.1.3"}'
os-type: linux
enable-java-test: true
enable-coverage: true
enable-gopt-test: true
event-name: ${{ github.event_name }}
23 changes: 5 additions & 18 deletions .github/workflows/OSX.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,9 @@ name: NeuG Test (macOS arm64)

on:
workflow_dispatch:
pull_request:
paths:
- 'cmake/**'
- 'src/**'
- 'bin/**'
- 'proto/**'
- 'third_party/**'
- 'tools/python_bind/**'
- 'tools/utils/**'
- 'tests/**'
- '.github/workflows/OSX.yml'
- '.github/workflows/build-and-test-common.yml'
- 'scripts/install_deps.sh'
- 'include/**'
- 'CMakeLists.txt'
- 'doc/source/tutorials/**'
release:
types:
- created
push:
paths:
- 'cmake/**'
Expand All @@ -42,8 +29,8 @@ concurrency:
jobs:
format_check:
if: |
github.event_name == 'pull_request' ||
github.event_name == 'workflow_dispatch' ||
github.event_name == 'release' ||
(github.event_name == 'push' && (github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main'))
uses: ./.github/workflows/format-check.yml
with:
Expand All @@ -55,7 +42,7 @@ jobs:
# ============================================================
build_and_test_macos_arm64:
needs: format_check
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && (github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && (github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main'))) }}
if: ${{ (needs.format_check.result == 'success' || needs.format_check.result == 'skipped') && (github.event_name == 'workflow_dispatch' || github.event_name == 'release' || (github.event_name == 'push' && (github.repository != 'alibaba/neug' || github.ref == 'refs/heads/main'))) }}
uses: ./.github/workflows/build-and-test-common.yml
with:
runs-on: '["macos-14"]'
Expand Down
115 changes: 0 additions & 115 deletions .github/workflows/benchmark.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Nightly NPM Package Test
name: NPM Package Test

on:
schedule:
Expand All @@ -9,14 +9,14 @@ on:
branches:
- main
paths:
- '.github/workflows/nightly-npm-package-test.yml'
- '.github/workflows/npm-package-test.yml'

concurrency:
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true

jobs:
nightly-test:
package-test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Nightly PyPI Package Test
name: PyPI Package Test

on:
schedule:
Expand All @@ -9,14 +9,14 @@ on:
branches:
- main
paths:
- '.github/workflows/nightly-pypi-package-test.yml'
- '.github/workflows/pypi-package-test.yml'

concurrency:
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true

jobs:
nightly-test:
package-test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: NPM Publish
name: Release NPM Packages

# Published GitHub releases drive npm publishing.
on:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Build Wheels
name: Release Wheels

on:
# Trigger the workflow on push or pull request,
# but only for the main branch
workflow_dispatch:
inputs:
python_versions:
Expand All @@ -12,38 +10,24 @@ on:
release:
types:
- created
push:
branches:
- main
tags:
- 'v*'
paths: &wheel_paths
- 'cmake/**'
- 'src/**'
- 'include/**'
- 'proto/**'
- 'third_party/**'
- 'tools/python_bind/**'
- '!tools/python_bind/tests/**'
- '!tools/python_bind/example/**'
- 'tools/shell/**'
- '.github/workflows/build-wheel.yml'
- '.github/workflows/wheels-common.yml'
- 'scripts/install_deps.sh'
- 'CMakeLists.txt'
- 'NEUG_VERSION'
pull_request:
branches:
- main
paths: *wheel_paths
paths:
- '.github/workflows/release-wheel.yml'
- '.github/workflows/wheels-common.yml'
- 'tools/python_bind/setup.py'
- 'tools/python_bind/pyproject.toml'
- 'tools/python_bind/Makefile'
- 'tools/python_bind/README.md'

concurrency:
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true

jobs:
format_check:
if: github.event_name == 'pull_request' || github.event_name == 'push' || github.event_name == 'workflow_dispatch'
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || github.event_name == 'release'
uses: ./.github/workflows/format-check.yml
with:
is_pull_request: ${{ github.event_name == 'pull_request' }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build NeuG image
name: Weekly Build NeuG image

on:
# Trigger the workflow on push or pull request,
Expand All @@ -7,16 +7,16 @@ on:
schedule:
# The notifications for scheduled workflows are sent to the user who
# last modified the cron syntax in the workflow file.
# Trigger the workflow at 22:00(CST) every day.
- cron: '0 14 * * *'
# Trigger the workflow at 22:00(CST) every Monday.
- cron: '0 14 * * 1'
push:
tags:
- "v*"
pull_request:
branches:
- main
paths:
- '.github/workflows/build-image.yml'
- '.github/workflows/weekly-build-image.yml'

concurrency:
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }}
Expand All @@ -43,4 +43,4 @@ jobs:
- name: Remove Image
run: |
ARCH=$(uname -m)
docker rmi neug/neug:${ARCH}
docker rmi neug/neug:${ARCH}
Loading
Loading