Skip to content

All post-commit tests #22125

All post-commit tests

All post-commit tests #22125

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
push:
branches: ["main"]
permissions:
actions: read
contents: write
pull-requests: write
pages: write
id-token: write
packages: write
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]
arch: [grayskull, wormhole_b0]
uses: ./.github/workflows/_build-wheels-impl.yaml
with:
os: ${{ matrix.os }}
arch: ${{ matrix.arch }}
from-precompiled: true
secrets: inherit
test-wheels:
needs: build-wheels
uses: ./.github/workflows/_test-wheels-impl.yaml
with:
from-precompiled: true
secrets: inherit
build-docker-image-2004:
uses: ./.github/workflows/build-docker-artifact.yaml
secrets: inherit
with:
os: ubuntu-20.04-amd64
build-docker-image-2204:
uses: ./.github/workflows/build-docker-artifact.yaml
secrets: inherit
with:
os: ubuntu-22.04-amd64
build-artifact:
needs: build-docker-image-2004
uses: ./.github/workflows/build-artifact.yaml
secrets: inherit
with:
build-docker: false
build-type: ${{ inputs.build-type || 'Release' }}
build-artifact-profiler:
needs: build-docker-image-2004
uses: ./.github/workflows/build-artifact.yaml
with:
tracy: true
build-docker: false
build-type: ${{ inputs.build-type || 'Release' }}
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:
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:
needs: build-docker-image-2204
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 },
{ 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:
needs: [build-artifact, build-docker-image-2204]
uses: ./.github/workflows/build.yaml
secrets: inherit
# 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: