mirror of
https://github.com/facebookresearch/faiss.git
synced 2026-10-12 02:13:36 +00:00
Summary: Pull Request resolved: https://github.com/facebookresearch/faiss/pull/5300 Add `workflow_dispatch` to the Faiss public nightly workflow so the OSS autofix sidecar can validate generated fixes on short-lived validation branches before asking a human to review them. The scheduled trigger only runs on GitHub's default branch at the cron time, so it does not validate an unlanded Phabricator diff or a candidate branch. `workflow_dispatch` does not run the nightly by itself; it adds a manual/API entry point. After the sidecar pushes a candidate branch such as `myclaw/<run_id>-<attempt>`, it calls the GitHub Actions workflow dispatch endpoint for `nightly.yml` with `ref` set to that branch. GitHub then checks out and runs the workflow at the commit currently pointed to by that ref. The dispatch request does not need a separate commit number when using a branch ref: the branch name resolves to its HEAD commit at dispatch time. If we ever want to pin an exact revision instead of a movable branch, the sidecar can dispatch with a more specific Git ref accepted by GitHub, but the current deterministic branch-per-attempt design makes the branch HEAD the validation candidate. Reviewed By: mnorris11 Differential Revision: D108214872 fbshipit-source-id: 47bfaf0a656e48c277721eec52b82b67f7a6ebb1
118 lines
3.3 KiB
YAML
118 lines
3.3 KiB
YAML
name: Nightly
|
|
on:
|
|
# The Faiss OSS autofix sidecar pushes generated fixes to short-lived
|
|
# validation branches and then dispatches this workflow on that branch. The
|
|
# scheduled trigger alone only tests the default branch, so it cannot validate
|
|
# a candidate fix before the sidecar asks a human to review it.
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '10 6 * * *'
|
|
env:
|
|
OMP_NUM_THREADS: '10'
|
|
MKL_THREADING_LAYER: GNU
|
|
jobs:
|
|
linux-x86_64-nightly:
|
|
name: Linux x86_64 nightlies
|
|
runs-on: 4-core-ubuntu
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: ./.github/actions/build_conda
|
|
env:
|
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
with:
|
|
label: nightly
|
|
linux-x86_64-GPU-CUDA-13-2-nightly:
|
|
name: Linux x86_64 GPU nightlies (CUDA 13.2)
|
|
runs-on: 4-core-ubuntu-gpu-t4
|
|
env:
|
|
CUDA_ARCHS: "75-real;80;86-real;90;100;120"
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: ./.github/actions/build_conda
|
|
env:
|
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
with:
|
|
label: nightly
|
|
cuda: "13.2"
|
|
linux-x86_64-GPU-CUVS-CUDA13-2-0-nightly:
|
|
name: Linux x86_64 GPU w/ cuVS nightlies (CUDA 13.2)
|
|
runs-on: 4-core-ubuntu-gpu-t4
|
|
env:
|
|
CUDA_ARCHS: "75-real;80;90;100;120"
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: ./.github/actions/build_conda
|
|
env:
|
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
with:
|
|
label: nightly
|
|
cuvs: "ON"
|
|
cuda: "13.2"
|
|
windows-x86_64-nightly:
|
|
name: Windows x86_64 nightlies
|
|
runs-on: windows-2022
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: ./.github/actions/build_conda
|
|
env:
|
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
with:
|
|
label: nightly
|
|
osx-arm64-nightly:
|
|
name: OSX arm64 nightlies
|
|
runs-on: macos-14
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: ./.github/actions/build_conda
|
|
env:
|
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
with:
|
|
label: nightly
|
|
linux-arm64-nightly:
|
|
name: Linux arm64 nightlies
|
|
runs-on: 2-core-ubuntu-arm
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
- uses: ./.github/actions/build_conda
|
|
env:
|
|
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
with:
|
|
label: nightly
|
|
auto-retry:
|
|
name: Auto retry on failure
|
|
if: fromJSON(github.run_attempt) < 2
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Start rerun workflow
|
|
env:
|
|
GH_REPO: ${{ github.repository }}
|
|
GH_TOKEN: ${{ github.token }}
|
|
GH_DEBUG: api
|
|
run: |
|
|
gh workflow run retry_build.yml \
|
|
-F run_id=${{ github.run_id }}
|