Skip to content
Draft
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
10 changes: 7 additions & 3 deletions .github/workflows/android-release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ on:
- cron: 0 10 * * *

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

check-if-aar-exists:
name: check-if-aar-exists
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -71,16 +75,16 @@ jobs:

build-aar:
name: build-aar
needs: check-if-aar-exists
needs: [docker-image, check-if-aar-exists]
if: ${{ !github.event.pull_request.head.repo.fork && needs.check-if-aar-exists.outputs.should-skip != 'true' }}
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
secrets: inherit
permissions:
id-token: write
contents: read
with:
secrets-env: EXECUTORCH_MAVEN_SIGNING_KEYID EXECUTORCH_MAVEN_SIGNING_PASSWORD EXECUTORCH_MAVEN_CENTRAL_PASSWORD EXECUTORCH_MAVEN_CENTRAL_USERNAME EXECUTORCH_MAVEN_SIGNING_GPG_KEY_CONTENTS
docker-image: ci-image:executorch-ubuntu-22.04-clang12-android
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-clang12-android-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: 'recursive'
ref: ${{ github.sha }}
timeout: 90
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/build-cadence-runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,31 @@ concurrency:
cancel-in-progress: true

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

# Same-repo PRs run on pull_request, which reads the PR's own workflow AND code
# -- so CI changes, new test jobs, code, and tests are all validated pre-merge.
# Fork PRs can't get credentials (OIDC) on pull_request, so Meta-exported forks
# (labeled CLA Signed + meta-exported) run on pull_request_target instead. The
# run condition is inlined per job (GitHub Actions has no YAML anchors and env
# is unavailable in job-level if), so keep the copies in sync.
cpu-build:
needs: docker-image
if: >-
github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' ||
(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) ||
(github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository &&
contains(github.event.pull_request.labels.*.name, 'CLA Signed') && contains(github.event.pull_request.labels.*.name, 'meta-exported'))
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
with:
job-name: build
runner: linux.2xlarge
docker-image: ci-image:executorch-ubuntu-22.04-clang12
runner: mt-l-x86iavx512-8-64
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-clang12-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: recursive
ref: ${{ (github.event_name == 'pull_request' || github.event_name == 'pull_request_target') && github.event.pull_request.head.sha || github.sha }}
timeout: 90
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/build-cmsis-pack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,20 @@ concurrency:
cancel-in-progress: true

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

build-cmsis-pack:
needs: docker-image
name: build-cmsis-pack
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
with:
runner: linux.2xlarge
docker-image: ci-image:executorch-ubuntu-22.04-arm-sdk
runner: mt-l-x86iavx512-8-64
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-arm-sdk-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: 'recursive'
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout: 60
Expand Down
32 changes: 22 additions & 10 deletions .github/workflows/build-presets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ concurrency:
cancel-in-progress: true

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

apple:
uses: pytorch/test-infra/.github/workflows/macos_job.yml@main
strategy:
Expand All @@ -34,16 +38,20 @@ jobs:
${CONDA_RUN} cmake --build cmake-out -j$(( $(sysctl -n hw.ncpu) - 1 ))

zephyr:
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
needs: docker-image
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
preset: [zephyr]
with:
job-name: build
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
runner: linux.2xlarge
docker-image: ci-image:executorch-ubuntu-22.04-zephyr-sdk
runner: mt-l-x86iavx512-8-64
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-zephyr-sdk-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: recursive
timeout: 90
script: |
Expand Down Expand Up @@ -73,26 +81,30 @@ jobs:
cmake --preset ${{ matrix.preset }}
cmake --build cmake-out -j$(( $(nproc) - 1 ))
linux:
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
needs: docker-image
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
preset: [linux, pybind, llm]
runner: [linux.2xlarge, linux.arm64.2xlarge]
runner: [mt-l-x86iavx512-8-64, mt-l-arm64g4-16-62]
docker-image: [executorch-ubuntu-22.04-clang12, executorch-ubuntu-22.04-gcc11-aarch64]
# Excluding specific runner + docker image combinations that don't make sense:
# - Excluding the ARM64 gcc image on the x86 runner (linux.2xlarge)
# - Excluding the x86 clang image on the ARM64 runner (linux.arm64.2xlarge)
# - Excluding the ARM64 gcc image on the x86 runner
# - Excluding the x86 clang image on the ARM64 runner
exclude:
- runner: linux.2xlarge
- runner: mt-l-x86iavx512-8-64
docker-image: executorch-ubuntu-22.04-gcc11-aarch64
- runner: linux.arm64.2xlarge
- runner: mt-l-arm64g4-16-62
docker-image: executorch-ubuntu-22.04-clang12
with:
job-name: build
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
runner: ${{ matrix.runner }}
docker-image: ci-image:${{ matrix.docker-image }}
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:${{ matrix.docker-image }}-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: recursive
timeout: 90
script: |
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,13 @@ concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

build:
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
needs: docker-image
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
Expand All @@ -29,8 +34,8 @@ jobs:
- build-tool: buck2
with:
job-name: Build doc
runner: linux.2xlarge
docker-image: ci-image:executorch-ubuntu-22.04-clang12-android
runner: mt-l-x86iavx512-8-64
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-clang12-android-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: 'recursive'
repository: pytorch/executorch
upload-artifact: docs
Expand Down Expand Up @@ -98,15 +103,14 @@ jobs:
permissions:
id-token: write
contents: write
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
secrets: inherit
with:
repository: pytorch/executorch
download-artifact: docs
ref: gh-pages
# Publish on the host so actions/checkout's persisted credentials are
# available to git push.
run-with-docker: false
timeout: 90
script: |
set -euo pipefail
Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/test-pico2-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,20 @@ concurrency:
cancel-in-progress: true

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

test-pico2-fp32-build:
needs: docker-image
name: test-pico2-fp32-build
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
with:
runner: linux.2xlarge.memory
docker-image: ci-image:executorch-ubuntu-22.04-arm-sdk
runner: mt-l-x86iavx512-8-64
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-arm-sdk-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: 'recursive'
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout: 120
Expand Down Expand Up @@ -89,14 +94,15 @@ jobs:
echo "PASS: FP32 firmware fits in Pico2 memory (SRAM: ${SRAM_USED}/532480, Flash: ${FLASH_USED}/4194304)"

test-pico2-cmsis-build:
needs: docker-image
name: test-pico2-cmsis-nn-build
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
with:
runner: linux.2xlarge.memory
docker-image: ci-image:executorch-ubuntu-22.04-arm-sdk
runner: mt-l-x86iavx512-8-64
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-arm-sdk-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: 'recursive'
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout: 120
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/test-webgpu-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,20 @@ concurrency:
cancel-in-progress: true

jobs:
docker-image:
name: Resolve CI docker image
uses: ./.github/workflows/_docker-image.yml

test-webgpu-native:
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
needs: docker-image
uses: pytorch/test-infra/.github/workflows/linux_job_v3.yml@main
permissions:
id-token: write
contents: read
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
runner: linux.4xlarge.memory
docker-image: ci-image:executorch-ubuntu-22.04-clang12
runner: mt-l-x86iavx512-16-128
docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/executorch/ci-image:executorch-ubuntu-22.04-clang12-${{ needs.docker-image.outputs.ci-docker-hash }}
submodules: recursive
# The test script alone runs about 60 minutes, and the checkout plus the
# Dawn and SwiftShader source builds in front of it have been measured
Expand Down
Loading