Skip to content

All post-commit tests #24972

All post-commit tests

All post-commit tests #24972

name: "All post-commit tests"
on:
workflow_call:
inputs:
build-type:
required: false
default: Release
type: string
workflow_dispatch:
inputs:
build-type:
required: false
default: Release
type: choice
options:
- Release
- Debug
- RelWithDebInfo
- CI
with-retries:
default: false
type: boolean
description: "Re-run failed jobs (max 3)"
push:
branches: ["main"]
permissions:
actions: read
contents: write
pull-requests: write
pages: write
id-token: write
packages: write
run-name: All post-commit tests${{ (github.event_name == 'workflow_dispatch' && inputs.with-retries) && ' (with retries)' || ''}}
jobs:
static-checks:
uses: ./.github/workflows/all-static-checks.yaml
secrets: inherit
build-wheels:
needs: build-artifact
strategy:
matrix:
# Since pre-compiled builds only run on 20.04, we can only test on 20.04 for now
# The full 22.04 flow can be tested without precompiled
os: [ubuntu-20.04]
uses: ./.github/workflows/_build-wheels-impl.yaml
with:
os: ${{ matrix.os }}
from-precompiled: true
secrets: inherit
test-wheels:
needs: build-wheels
uses: ./.github/workflows/_test-wheels-impl.yaml
with:
from-precompiled: true
secrets: inherit
build-artifact:
uses: ./.github/workflows/build-artifact.yaml
secrets: inherit
with:
build-type: ${{ inputs.build-type || 'Release' }}
build-artifact-profiler:
uses: ./.github/workflows/build-artifact.yaml
with:
build-type: ${{ inputs.build-type || 'Release' }}
tracy: true
secrets: inherit
# Slow Dispatch Unit Tests
sd-unit-tests:
needs: build-artifact
secrets: inherit
strategy:
fail-fast: false
matrix:
test-group: [
{ arch: grayskull, runner-label: E150 },
{ arch: wormhole_b0, runner-label: N150 },
{ arch: wormhole_b0, runner-label: N300 },
]
uses: ./.github/workflows/build-and-unit-tests.yaml
with:
arch: ${{ matrix.test-group.arch }}
runner-label: ${{ matrix.test-group.runner-label }}
# Fast Dispatch Unit Tests
fast-dispatch-unit-tests:
needs: build-wheels
secrets: inherit
strategy:
fail-fast: false
matrix:
test-group: [
{ arch: grayskull, runner-label: E150 },
{ arch: wormhole_b0, runner-label: N150 },
{ arch: wormhole_b0, runner-label: N300 },
]
uses: ./.github/workflows/fast-dispatch-build-and-unit-tests.yaml
with:
os: ubuntu-20.04
arch: ${{ matrix.test-group.arch }}
runner-label: ${{ matrix.test-group.runner-label }}
# TTNN FD Unit tests
ttnn-unit-tests:
needs: build-wheels
secrets: inherit
strategy:
fail-fast: false
matrix:
test-group: [
{ arch: grayskull, runner-label: E150 },
{ arch: wormhole_b0, runner-label: N150 },
{ arch: wormhole_b0, runner-label: N300 },
]
uses: ./.github/workflows/ttnn-post-commit.yaml
with:
arch: ${{ matrix.test-group.arch }}
runner-label: ${{ matrix.test-group.runner-label }}
# FD Model Tests
models-unit-tests:
needs: build-wheels
secrets: inherit
strategy:
fail-fast: false
matrix:
test-group: [
{ arch: grayskull, runner-label: E150 },
{ arch: wormhole_b0, runner-label: N150 },
{ arch: wormhole_b0, runner-label: N300 },
]
uses: ./.github/workflows/models-post-commit.yaml
with:
arch: ${{ matrix.test-group.arch }}
runner-label: ${{ matrix.test-group.runner-label }}
# FD C++ Unit Tests
cpp-unit-tests:
needs: build-artifact
secrets: inherit
strategy:
fail-fast: false
matrix:
test-group: [
{ arch: grayskull, runner-label: E150 },
{ arch: wormhole_b0, runner-label: N150 },
{ arch: wormhole_b0, runner-label: N300 },
]
uses: ./.github/workflows/cpp-post-commit.yaml
with:
arch: ${{ matrix.test-group.arch }}
runner-label: ${{ matrix.test-group.runner-label }}
code-analysis:
uses: ./.github/workflows/code-analysis.yaml
secrets: inherit
with:
os: ubuntu-22.04-amd64
tt-train-cpp-unit-tests:
needs: build-artifact
secrets: inherit
strategy:
fail-fast: false
matrix:
test-group: [
{ arch: wormhole_b0, runner-label: N150 },
# Disabled due to https://github.com/tenstorrent/tt-metal/issues/16012
# { arch: wormhole_b0, runner-label: N300 },
]
uses: ./.github/workflows/tt-train-post-commit.yaml
with:
arch: ${{ matrix.test-group.arch }}
runner-label: ${{ matrix.test-group.runner-label }}
profiler-regression:
needs: build-artifact-profiler
uses: ./.github/workflows/run-profiler-regression.yaml
secrets: inherit
build-docs:
needs: build-artifact
uses: ./.github/workflows/docs-latest-public.yaml
secrets: inherit
build:
uses: ./.github/workflows/build-artifact.yaml
needs: build-artifact
secrets: inherit
strategy:
matrix:
config:
- os: "ubuntu-20.04-amd64"
toolchain: "cmake/x86_64-linux-clang-17-libcpp-toolchain.cmake"
build-type: "Debug"
publish-artifact: false
- os: "ubuntu-20.04-amd64"
toolchain: "cmake/x86_64-linux-clang-17-libcpp-toolchain.cmake"
build-type: "RelWithDebInfo"
publish-artifact: false
- os: "ubuntu-22.04-amd64"
toolchain: "cmake/x86_64-linux-clang-17-libcpp-toolchain.cmake"
build-type: "Release"
publish-artifact: false
- os: "ubuntu-22.04-amd64"
toolchain: "cmake/x86_64-linux-clang-17-libstdcpp-toolchain.cmake"
build-type: "Release"
publish-artifact: false
skip-tt-train: true
- os: "ubuntu-22.04-amd64"
toolchain: "cmake/x86_64-linux-gcc-12-toolchain.cmake"
build-type: "Release"
publish-artifact: false
skip-tt-train: true
with:
os: ${{ matrix.config.os }}
toolchain: ${{ matrix.config.toolchain }}
build-type: ${{ matrix.config.build-type }}
publish-artifact: ${{ matrix.config.publish-artifact }}
skip-tt-train: ${{ matrix.config.skip-tt-train || false }}
# We used to use this for post-commit, but we didn't have enough runners
# to support the number of developers running this workflow
# build-and-test-measure-perf:
# build-and-test-measure-perf-device: