Skip to content

updates

updates #1

Workflow file for this run

name: Native and Python Quality
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: "23 3 * * 2"
permissions:
contents: read
jobs:
release-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Checkout pinned vcpkg
uses: actions/checkout@v4
with:
repository: microsoft/vcpkg
ref: f87344cac03158cbf1467264565f1fd36b382a24
path: .vcpkg
- run: ./.vcpkg/bootstrap-vcpkg.sh -disableMetrics
- name: Generate SPDX document
run: >-
python oracle/generate_sbom.py --axklib-root .
--output build/native/audit/axklib.spdx.json
- name: Configure release audit
env:
VCPKG_ROOT: ${{ github.workspace }}/.vcpkg
AXK_PATH_REMAP_FROM: ${{ github.workspace }}
run: >-
cmake -S . -B build/native/audit -G Ninja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake
-DVCPKG_TARGET_TRIPLET=x64-linux-axk
-DVCPKG_OVERLAY_TRIPLETS=${{ github.workspace }}/cpp/cmake/triplets
-DAXK_SBOM_FILE=${{ github.workspace }}/build/native/audit/axklib.spdx.json
-DAXK_BUILD_CLI=OFF -DBUILD_TESTING=OFF -DAXK_BUILD_BENCHMARKS=ON
- run: cmake --build build/native/audit
- name: Benchmark and threshold check
run: |
build/native/audit/cpp/axk_workflow_benchmark \
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds \
build/native/audit/benchmark.json
python oracle/check_benchmark.py \
cpp/benchmarks/baseline-linux-x64.json build/native/audit/benchmark.json
- name: Install and inspect SDK
run: |
cmake --install build/native/audit --prefix build/native/audit-install
test -f build/native/audit-install/share/axklib/axklib.spdx.json
python oracle/inspect_package.py build/native/audit-install \
--allow-library libaxklib_c.so \
--allow-library libaxklib_c.so.0 \
--allow-library libaxklib_c.so.0.1.0
fuzz-smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout pinned vcpkg
uses: actions/checkout@v4
with:
repository: microsoft/vcpkg
ref: f87344cac03158cbf1467264565f1fd36b382a24
path: .vcpkg
- run: ./.vcpkg/bootstrap-vcpkg.sh -disableMetrics
- name: Configure fuzzers
env:
CC: clang
CXX: clang++
VCPKG_ROOT: ${{ github.workspace }}/.vcpkg
run: >-
cmake -S . -B build/native/fuzz -G Ninja
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake
-DAXK_BUILD_CLI=OFF -DBUILD_TESTING=OFF -DAXK_BUILD_FUZZERS=ON
- run: cmake --build build/native/fuzz
- name: Fixed-budget parser smoke
shell: bash
run: |
runs=200
if [[ "${{ github.event_name }}" == "schedule" ]]; then runs=20000; fi
targets=(
bytes sfs_superblock sfs_index sfs_directory object_header
object_smpl object_sbnk object_sbac object_prog object_sequ object_prf3
fat_record iso_record build_manifest transaction
)
for target in "${targets[@]}"; do
corpora=(cpp/fuzz/corpus/${target})
if [[ "$target" == sfs_* ]]; then
corpora+=(tests/fixtures/images/sampler-authored)
fi
build/native/fuzz/cpp/axk_${target}_fuzz \
"${corpora[@]}" -runs=${runs} -max_len=4194304
done
thread-sanitizer:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout pinned vcpkg
uses: actions/checkout@v4
with:
repository: microsoft/vcpkg
ref: f87344cac03158cbf1467264565f1fd36b382a24
path: .vcpkg
- run: ./.vcpkg/bootstrap-vcpkg.sh -disableMetrics
- name: Configure
env:
VCPKG_ROOT: ${{ github.workspace }}/.vcpkg
run: cmake --preset tsan
- run: cmake --build --preset tsan
- run: ctest --preset tsan -R 'CApi|Cancellation|Concurrent'
native:
env:
PYTHONPATH: ${{ github.workspace }}/oracle/python
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-14
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- run: uv sync --project oracle/python --locked
- name: Checkout pinned vcpkg
uses: actions/checkout@v4
with:
repository: microsoft/vcpkg
ref: f87344cac03158cbf1467264565f1fd36b382a24
path: .vcpkg
- name: Bootstrap vcpkg (Unix)
if: runner.os != 'Windows'
run: ./.vcpkg/bootstrap-vcpkg.sh -disableMetrics
- name: Bootstrap vcpkg (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: .\.vcpkg\bootstrap-vcpkg.bat -disableMetrics
- name: Configure
env:
VCPKG_ROOT: ${{ github.workspace }}/.vcpkg
run: cmake --preset debug
- name: Build
run: cmake --build --preset debug
- name: Test
run: ctest --preset debug
- name: Configure clang-tidy
if: runner.os == 'Linux'
env:
VCPKG_ROOT: ${{ github.workspace }}/.vcpkg
run: cmake --preset clang-tidy
- name: Run clang-tidy build
if: runner.os == 'Linux'
run: cmake --build --preset clang-tidy
- name: Python/C++ SFS differential (Unix)
if: runner.os != 'Windows'
run: >-
uv run --project oracle/python python oracle/run_sfs_differential.py
--cpp-cli build/native/debug/cpp/axklib
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
- name: Python/C++ SFS differential (Windows)
if: runner.os == 'Windows'
run: >-
uv run --project oracle/python python oracle/run_sfs_differential.py
--cpp-cli build/native/debug/cpp/axklib.exe
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
- name: Python/C++ object differential (Unix)
if: runner.os != 'Windows'
run: |
uv run --project oracle/python python oracle/generate_current_object_fixture.py --output build/native-oracle/current-objects.hds
uv run --project oracle/python python oracle/run_object_differential.py \
--cpp-cli build/native/debug/cpp/axklib \
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds \
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds \
build/native-oracle/current-objects.hds
- name: Python/C++ object differential (Windows)
if: runner.os == 'Windows'
run: |
uv run --project oracle/python python oracle/generate_current_object_fixture.py --output build/native-oracle/current-objects.hds
uv run --project oracle/python python oracle/run_object_differential.py `
--cpp-cli build/native/debug/cpp/axklib.exe `
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds `
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds `
build/native-oracle/current-objects.hds
- name: Python/C++ semantic differential (Unix)
if: runner.os != 'Windows'
run: |
uv run --project oracle/python python oracle/run_semantic_differential.py \
--cpp-cli build/native/debug/cpp/axklib \
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds \
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds \
build/native-oracle/current-objects.hds
- name: Python/C++ semantic differential (Windows)
if: runner.os == 'Windows'
run: |
uv run --project oracle/python python oracle/run_semantic_differential.py `
--cpp-cli build/native/debug/cpp/axklib.exe `
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds `
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds `
build/native-oracle/current-objects.hds
- name: Python/C++ exact WAV differential (Unix)
if: runner.os != 'Windows'
run: >-
uv run --project oracle/python python oracle/run_audio_differential.py
--cpp-cli build/native/debug/cpp/axklib
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
build/native-oracle/current-objects.hds
- name: Python/C++ exact WAV differential (Windows)
if: runner.os == 'Windows'
run: >-
uv run --project oracle/python python oracle/run_audio_differential.py
--cpp-cli build/native/debug/cpp/axklib.exe
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
build/native-oracle/current-objects.hds
- name: Generate stereo export input
run: >-
uv run --project oracle/python python oracle/generate_stereo_export_fixture.py
--output build/native-oracle/stereo-export.hds
- name: Python/C++ structured audio and SFZ differential (Unix)
if: runner.os != 'Windows'
run: >-
uv run --project oracle/python python oracle/run_structured_audio_differential.py
--cpp-cli build/native/debug/cpp/axklib
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
build/native-oracle/current-objects.hds
build/native-oracle/stereo-export.hds
- name: Python/C++ structured audio and SFZ differential (Windows)
if: runner.os == 'Windows'
run: >-
uv run --project oracle/python python oracle/run_structured_audio_differential.py
--cpp-cli build/native/debug/cpp/axklib.exe
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
build/native-oracle/current-objects.hds
build/native-oracle/stereo-export.hds
- name: Python/C++ preview differential (Unix)
if: runner.os != 'Windows'
run: >-
uv run --project oracle/python python oracle/run_preview_differential.py
--cpp-cli build/native/debug/cpp/axklib
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
build/native-oracle/stereo-export.hds
- name: Python/C++ preview differential (Windows)
if: runner.os == 'Windows'
run: >-
uv run --project oracle/python python oracle/run_preview_differential.py
--cpp-cli build/native/debug/cpp/axklib.exe
tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
tests/fixtures/images/sampler-authored/HD00_512_multi_sbnk_authored.hds
build/native-oracle/stereo-export.hds
- name: Remaining Python/C++ differential matrix (Unix)
if: runner.os != 'Windows'
run: >-
uv run --project oracle/python python oracle/run_remaining_differential.py
--cpp-cli build/native/debug/cpp/axklib
--fixture tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
--output-dir build/native-oracle/remaining
- name: Remaining Python/C++ differential matrix (Windows)
if: runner.os == 'Windows'
run: >-
uv run --project oracle/python python oracle/run_remaining_differential.py
--cpp-cli build/native/debug/cpp/axklib.exe
--fixture tests/fixtures/images/sampler-authored/HD00_512_single_sbnk_authored.hds
--output-dir build/native-oracle/remaining
python:
env:
PYTHONPATH: ${{ github.workspace }}/oracle/python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- run: uv sync --project oracle/python --locked --all-groups
- run: uv run --project oracle/python ruff check oracle/python/axklib oracle/python/tests oracle
- run: cd oracle/python && uv run mypy --explicit-package-bases axklib
- run: uv run --project oracle/python pytest oracle/python/tests
- run: uv run --project oracle/python --group docs mkdocs build --strict
- run: python oracle/check_production_boundary.py .