Skip to content

Daily Build

Daily Build #111

Workflow file for this run

#
# BSD 3-Clause License
# Copyright (C) 2026 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause
#
name: Daily Build
on:
schedule:
# Run at 10:00 PM UTC, Monday through Friday
- cron: '0 22 * * 1-5'
workflow_dispatch:
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Daily Build
runs-on: ubuntu-latest
timeout-minutes: 60
permissions:
contents: read
security-events: write # Required to upload SARIF results to GitHub Security tab
steps:
- name: Clean up previous run
env:
WORKSPACE: ${{ github.workspace }}
run: |
echo "Cleaning up previous run artifacts"
find "$WORKSPACE" -mindepth 1 -maxdepth 1 -exec rm -rf {} +
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.sha }}
fetch-depth: 0
persist-credentials: false
- name: Environment check
uses: ./.github/actions/environment-check
- name: Build
uses: ./.github/actions/build-dvledtx
- name: Smoke test
uses: ./.github/actions/smoke-tests
- name: Unit tests
uses: ./.github/actions/unit-tests
- name: ShellCheck
uses: ./.github/actions/analysis/shellcheck
- name: zizmor Scan
uses: ./.github/actions/analysis/zizmor
- name: cppcheck
uses: ./.github/actions/analysis/cppcheck
- name: Trivy Scan
uses: ./.github/actions/analysis/trivy
- name: checksec Analysis
uses: ./.github/actions/analysis/checksec
- name: Upload daily build reports
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: DVLED-SW-TK-DailyBuild-${{ github.run_id }}
path: ${{ github.workspace }}/reports/
retention-days: 30
afl-fuzz:
name: Daily AFL Fuzz
runs-on: ubuntu-latest
timeout-minutes: 25
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.sha }}
fetch-depth: 0
persist-credentials: false
- name: AFL Fuzz
uses: ./.github/actions/analysis/afl-fuzz
with:
max-seconds: '300'
- name: Upload AFL fuzzing results
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: afl-fuzz-results-${{ github.run_id }}
path: fuzz/findings/
retention-days: 14
libfuzzer:
name: Daily libFuzzer
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.sha }}
fetch-depth: 0
persist-credentials: false
- name: libFuzzer
uses: ./.github/actions/analysis/libfuzzer
with:
max-seconds: '300'
- name: Upload libFuzzer corpora
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: libfuzzer-results-${{ github.run_id }}
path: |
fuzz/libfuzzer_corpus/
fuzz/ubsan_corpus/
retention-days: 14