Skip to content
Open
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
3 changes: 0 additions & 3 deletions .ci/scripts/test_backend.sh
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,6 @@ if [[ "$FLOW" == *nxp* ]]; then
export NXP_RUNNER_PATH="$(pwd)/examples/nxp/executor_runner/build/nxp_executor_runner"
fi

GOLDEN_DIR="${ARTIFACT_DIR}/golden-artifacts"
export GOLDEN_ARTIFACTS_DIR="${GOLDEN_DIR}"

EXIT_CODE=0
# An Ethos-U failure captures a few hundred thousand lines of Vela operator
# listings, and the runner agent throws System.OutOfMemoryException processing
Expand Down
17 changes: 9 additions & 8 deletions .github/workflows/_test_backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ on:
required: false
type: string
default: ci-image:executorch-ubuntu-22.04-clang12
save-goldens:
description: 'Write golden .pte/.bin files in the models suite and package them; only for regenerating the Android test fixture'
required: false
type: boolean
default: false

jobs:
docker-image:
Expand Down Expand Up @@ -77,10 +82,13 @@ jobs:
script: |
set -eux

if [[ "${{ inputs.save-goldens }}" == "true" && "${{ matrix.suite }}" == "models" ]]; then
export GOLDEN_ARTIFACTS_DIR="${RUNNER_ARTIFACT_DIR}/golden-artifacts"
fi
source .ci/scripts/test_backend.sh "${{ matrix.suite }}" "${{ matrix.flow }}" "${RUNNER_ARTIFACT_DIR}"

package-golden-artifacts:
if: ${{ inputs.run-linux }}
if: ${{ inputs.run-linux && inputs.save-goldens }}
needs: test-backend-linux
runs-on: linux.2xlarge
steps:
Expand Down Expand Up @@ -116,13 +124,6 @@ jobs:
echo "No golden artifacts found."
fi

- name: Upload combined golden artifacts
uses: actions/upload-artifact@v4
with:
name: golden-artifacts-${{ inputs.backend }}
path: golden_artifacts_*.zip
if-no-files-found: ignore

- name: Upload golden artifacts to S3
uses: seemethere/upload-artifact-s3@v5
if: ${{ hashFiles('golden_artifacts_*.zip') != '' }}
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/test-backend-xnnpack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ on:
- ciflow/nightly/*
pull_request:
workflow_dispatch:
inputs:
save-goldens:
description: 'Write and package the models-suite goldens (Android test fixture)'
type: boolean
default: false

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
Expand All @@ -31,3 +36,7 @@ jobs:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout: 120
run-linux: true
# The nightly keeps writing goldens: they are what the Android instrumentation
# test pins (android_test_setup.sh), and a fresh key must exist before the pin
# ages out of S3. Every other run skips them.
save-goldens: ${{ inputs.save-goldens == true || github.event_name == 'schedule' }}
Loading