Skip to content

daily

daily #116

Workflow file for this run

# Copyright 2026 FlagOS Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Daily testing workflow
#
# This script is designed to be triggered on the provided cron time,
# and it can be manually triggered. The purposes of this script include:
#
# - running all unit tests against all operators for correctness verification;
# - running all performance tests (benchmarks) against all operators to
# validate if there are performance regress;
# - running all SVT tests where selected models are launched for E2E tests.
#
# TODO(Qiming): Enable daily tests for benchmark and all backends
name: daily
permissions:
contents: read
on:
workflow_dispatch:
schedule:
# Note that the time is in UTC, so we want this to start at 00:03+8:00
- cron: '3 16 * * *'
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
datetime: ${{ steps.get-date.outputs.CURRENT_DATE }}
steps:
- id: get-date
shell: bash
run: |
echo "CURRENT_DATE=$(date +'%Y%m%d')" >> "$GITHUB_OUTPUT"
cpp-op:
needs: prepare
uses: ./.github/workflows/cpp-op-test.yaml
python-op:
needs: prepare
concurrency:
group: python-op-${{ needs.prepare.outputs.datetime }}
cancel-in-progress: true
runs-on: jiuding
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
continue-on-error: true
- uses: ./.github/actions/checkout-retry
- shell: bash
run: tools/gpu_check_nvidia.sh
- shell: bash
env:
CHANGED_FILES: '__ALL__'
run: |
# Invoke script to run full-range unit tests,
# Use datetime timestamp as the fake PR ID, with optional affix if
# workflow is triggered manually
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
RUN_TAG="${{ needs.prepare.outputs.datetime}}-manual"
else
RUN_TAG="${{ needs.prepare.outputs.datetime}}"
fi
# Save RUN_TAG for next step to use
echo "RUN_TAG=${RUN_TAG}" >> $GITHUB_ENV
bash tools/test-op.sh ${RUN_TAG}
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: op-ut-coverage
path: coverage/
examples:
needs: prepare
concurrency:
group: examples-test-${{ needs.prepare.outputs.datetime }}
cancel-in-progress: true
runs-on: jiuding
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
continue-on-error: true
- uses: ./.github/actions/checkout-retry
- shell: bash
run: tools/gpu_check_nvidia.sh
- shell: bash
env:
CHANGED_FILES: '__ALL__'
run: |
# Invoke script to run full-range example tests,
# Use datetime timestamp as the fake PR ID, with optional affix if
# workflow is triggered manually
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
PR_ID="${{ needs.prepare.outputs.datetime}}-manual"
else
PR_ID="${{ needs.prepare.outputs.datetime}}"
fi
bash tools/test-examples.sh ${PR_ID}