mirror of
https://github.com/infiniteCable2/openpilot.git
synced 2026-08-03 08:41:41 +08:00
59a16b9cdc
# Conflicts: # .github/workflows/auto_pr_review.yaml # .github/workflows/badges.yaml # .github/workflows/mici_raylib_ui_preview.yaml # .github/workflows/prebuilt.yaml # .github/workflows/raylib_ui_preview.yaml # .github/workflows/release.yaml # .github/workflows/repo-maintenance.yaml # .github/workflows/tests.yaml # .gitignore # Dockerfile.openpilot_base # SConstruct # docs/CARS.md # opendbc_repo # panda # release/build_release.sh # selfdrive/modeld/SConscript # selfdrive/modeld/modeld.py # selfdrive/pandad/panda_safety.cc # selfdrive/pandad/pandad.cc # selfdrive/pandad/pandad.py # selfdrive/test/process_replay/process_replay.py # selfdrive/ui/layouts/onboarding.py # selfdrive/ui/mici/layouts/home.py # selfdrive/ui/tests/diff/replay.py # selfdrive/ui/tests/test_ui/raylib_screenshots.py # tools/mac_setup.sh # uv.lock
79 lines
2.7 KiB
YAML
79 lines
2.7 KiB
YAML
name: cereal validation
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths:
|
|
- 'cereal/**'
|
|
workflow_dispatch:
|
|
workflow_call:
|
|
inputs:
|
|
run_number:
|
|
default: '1'
|
|
required: true
|
|
type: string
|
|
|
|
concurrency:
|
|
group: cereal-validation-ci-run-${{ inputs.run_number }}-${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
CI: 1
|
|
|
|
jobs:
|
|
generate_cereal_artifact:
|
|
name: Generate cereal validation artifacts
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
submodules: true
|
|
- uses: ./.github/workflows/setup-with-retry
|
|
- name: Build openpilot
|
|
run: scons -j$(nproc) cereal
|
|
- name: Generate the log file
|
|
run: |
|
|
export PYTHONPATH=${{ github.workspace }}
|
|
python3 cereal/messaging/tests/validate_sp_cereal_upstream.py -g -f schema_instances.bin
|
|
- name: 'Prepare artifact'
|
|
run: |
|
|
mkdir -p "cereal/messaging/tests/cereal_validations"
|
|
cp cereal/messaging/tests/validate_sp_cereal_upstream.py "cereal/messaging/tests/cereal_validations/validate_sp_cereal_upstream.py"
|
|
cp schema_instances.bin "cereal/messaging/tests/cereal_validations/schema_instances.bin"
|
|
- name: 'Upload Artifact'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: cereal_validations
|
|
path: cereal/messaging/tests/cereal_validations
|
|
|
|
validate_cereal_with_upstream:
|
|
name: Validate cereal with Upstream
|
|
runs-on: ubuntu-24.04
|
|
needs: generate_cereal_artifact
|
|
steps:
|
|
- name: Checkout sunnypilot
|
|
uses: actions/checkout@v6
|
|
- name: Checkout upstream openpilot
|
|
uses: actions/checkout@v6
|
|
with:
|
|
repository: 'commaai/openpilot'
|
|
path: openpilot
|
|
submodules: true
|
|
ref: "refs/heads/master"
|
|
- uses: ./.github/workflows/setup-with-retry
|
|
- name: Build openpilot
|
|
working-directory: openpilot
|
|
run: scons -j$(nproc) cereal
|
|
- name: Download build artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: cereal_validations
|
|
path: openpilot/cereal/messaging/tests/cereal_validations
|
|
- name: 'Run the validation'
|
|
run: |
|
|
export PYTHONPATH=${{ github.workspace }}/openpilot
|
|
chmod +x openpilot/cereal/messaging/tests/cereal_validations/validate_sp_cereal_upstream.py
|
|
python3 openpilot/cereal/messaging/tests/cereal_validations/validate_sp_cereal_upstream.py -r -f openpilot/cereal/messaging/tests/cereal_validations/schema_instances.bin
|