208 lines
9.0 KiB
JSON
208 lines
9.0 KiB
JSON
{
|
|
"schema": 1,
|
|
"msrv": "1.96.0",
|
|
"current": "stable",
|
|
"native_prerequisites": [
|
|
{
|
|
"id": "openjpeg-2.5.4",
|
|
"version": "2.5.4",
|
|
"purpose": "Opt-in raw J2K and JP2 codec"
|
|
},
|
|
{
|
|
"id": "skia-safe-0.99.0",
|
|
"version": "0.99.0",
|
|
"purpose": "Opt-in Skia image formats using the target-specific binary cache or source build"
|
|
},
|
|
{
|
|
"id": "libopus-1.3",
|
|
"version": ">=1.3",
|
|
"purpose": "System Opus codec used through the reviewed safe WebRTC adapter"
|
|
},
|
|
{
|
|
"id": "alsa-1.2",
|
|
"version": "1.2.x",
|
|
"purpose": "Linux CPAL real-audio adapter"
|
|
},
|
|
{
|
|
"id": "vorbis-rs-0.5.6",
|
|
"version": "0.5.6",
|
|
"purpose": "Opt-in PCM to Ogg Vorbis encoder"
|
|
}
|
|
],
|
|
"manual_gates": [
|
|
"Live grid credentials and reversible dedicated-account validation remain in the explicit live-grid smoke gate.",
|
|
"Physical audio input and output devices remain an explicit manual device gate; CI uses virtual peers.",
|
|
"Proprietary services, credentials, and redistributable platform packages are never inferred or downloaded by the matrix."
|
|
],
|
|
"profiles": [
|
|
{
|
|
"id": "linux-msrv-portable",
|
|
"platform": "linux",
|
|
"host": "ubuntu-latest",
|
|
"execution": "native",
|
|
"toolchain": "1.96.0",
|
|
"target": "x86_64-unknown-linux-gnu",
|
|
"feature_sets": ["no-default-features", "rust-j2k", "rust-skia"],
|
|
"prerequisites": ["libopus-1.3"],
|
|
"commands": [
|
|
{
|
|
"label": "Compile the portable public crates on the declared MSRV",
|
|
"args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k,libremetaverse-imaging-skia/rust-skia", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
|
},
|
|
{
|
|
"label": "Compile the safe native Opus boundary and WebRTC voice on the declared MSRV",
|
|
"args": ["check", "--locked", "-j", "1", "--all-targets", "--no-default-features", "-p", "libremetaverse-opus", "-p", "libremetaverse-voice-webrtc"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "linux-stable-default",
|
|
"platform": "linux",
|
|
"host": "ubuntu-latest",
|
|
"execution": "native",
|
|
"toolchain": "stable",
|
|
"target": "x86_64-unknown-linux-gnu",
|
|
"feature_sets": ["default", "tests", "examples", "docs"],
|
|
"prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3"],
|
|
"commands": [
|
|
{
|
|
"label": "Compile every default workspace target",
|
|
"args": ["check", "--workspace", "--all-targets", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Compile every default test without running live gates",
|
|
"args": ["test", "--workspace", "--no-run", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Build warning-free default API documentation",
|
|
"args": ["doc", "--workspace", "--no-deps", "--locked", "-j", "1"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "linux-stable-minimal",
|
|
"platform": "linux",
|
|
"host": "ubuntu-latest",
|
|
"execution": "native",
|
|
"toolchain": "stable",
|
|
"target": "x86_64-unknown-linux-gnu",
|
|
"feature_sets": ["no-default-features", "tests"],
|
|
"prerequisites": [],
|
|
"commands": [
|
|
{
|
|
"label": "Compile core and its tests without optional codecs",
|
|
"args": ["check", "-p", "libremetaverse", "--all-targets", "--no-default-features", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Run core tests without optional codecs",
|
|
"args": ["test", "-p", "libremetaverse", "--no-default-features", "--locked", "-j", "1"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "linux-stable-features",
|
|
"platform": "linux",
|
|
"host": "ubuntu-latest",
|
|
"execution": "native",
|
|
"toolchain": "stable",
|
|
"target": "x86_64-unknown-linux-gnu",
|
|
"feature_sets": ["all-features", "dds-bc67", "jpeg2000", "rust-j2k", "rust-skia", "skia", "vorbis", "real-audio", "tests"],
|
|
"prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3", "alsa-1.2", "vorbis-rs-0.5.6"],
|
|
"commands": [
|
|
{
|
|
"label": "Compile core with only pure Rust BC6H and BC7",
|
|
"args": ["check", "-p", "libremetaverse", "--no-default-features", "--features", "dds-bc67", "--all-targets", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test the OpenJPEG feature independently",
|
|
"args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "jpeg2000", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test the pure-Rust JPEG 2000 feature independently",
|
|
"args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "rust-j2k", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test OpenJPEG and pure-Rust JPEG 2000 interoperability",
|
|
"args": ["test", "-p", "libremetaverse-imaging", "--no-default-features", "--features", "jpeg2000,rust-j2k", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test the pure-Rust Skia-compatible feature independently",
|
|
"args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "rust-skia", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test the Skia feature independently",
|
|
"args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "skia", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test native Skia and pure-Rust codec interoperability",
|
|
"args": ["test", "-p", "libremetaverse-imaging-skia", "--no-default-features", "--features", "skia,rust-skia", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Test the Vorbis feature independently",
|
|
"args": ["test", "-p", "libremetaverse", "--no-default-features", "--features", "vorbis", "--lib", "--locked", "-j", "1", "--", "asset_pipeline_semantics"]
|
|
},
|
|
{
|
|
"label": "Compile the CPAL real-audio adapter",
|
|
"args": ["check", "-p", "libremetaverse-voice-webrtc", "--all-targets", "--features", "real-audio", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Compile complete feature unification across the workspace",
|
|
"args": ["check", "--workspace", "--all-targets", "--all-features", "--locked", "-j", "1"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "linux-stable-release-surface",
|
|
"platform": "linux",
|
|
"host": "ubuntu-latest",
|
|
"execution": "native",
|
|
"toolchain": "stable",
|
|
"target": "x86_64-unknown-linux-gnu",
|
|
"feature_sets": ["default", "tests", "examples", "docs"],
|
|
"prerequisites": ["openjpeg-2.5.4", "skia-safe-0.99.0", "libopus-1.3"],
|
|
"commands": [
|
|
{
|
|
"label": "Run all default documentation tests",
|
|
"args": ["test", "--workspace", "--doc", "--locked", "-j", "1"]
|
|
},
|
|
{
|
|
"label": "Build every shipped example program",
|
|
"args": ["build", "-p", "libremetaverse-programs", "--bins", "--locked", "-j", "1"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "windows-stable-portable",
|
|
"platform": "windows",
|
|
"host": "ubuntu-latest",
|
|
"execution": "cross",
|
|
"toolchain": "stable",
|
|
"target": "x86_64-pc-windows-gnu",
|
|
"feature_sets": ["no-default-features", "dds-bc67", "rust-j2k", "rust-skia"],
|
|
"prerequisites": [],
|
|
"commands": [
|
|
{
|
|
"label": "Cross-check portable crates for Windows GNU",
|
|
"args": ["check", "--locked", "-j", "1", "--target", "x86_64-pc-windows-gnu", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k,libremetaverse-imaging-skia/rust-skia", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "macos-stable-portable",
|
|
"platform": "macos",
|
|
"host": "ubuntu-latest",
|
|
"execution": "cross",
|
|
"toolchain": "stable",
|
|
"target": "x86_64-apple-darwin",
|
|
"feature_sets": ["no-default-features", "dds-bc67", "rust-j2k", "rust-skia"],
|
|
"prerequisites": [],
|
|
"commands": [
|
|
{
|
|
"label": "Cross-check portable crates for macOS",
|
|
"args": ["check", "--locked", "-j", "1", "--target", "x86_64-apple-darwin", "--all-targets", "--no-default-features", "--features", "libremetaverse-imaging/rust-j2k,libremetaverse-imaging-skia/rust-skia", "-p", "libremetaverse-types", "-p", "libremetaverse-structured-data", "-p", "libremetaverse-imaging", "-p", "libremetaverse-imaging-skia", "-p", "libremetaverse-prim-mesher", "-p", "libremetaverse-lsl-tools", "-p", "libremetaverse-rlv", "-p", "metacrate-ci-matrix"]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|