Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
3e584bb
chore(quest): claim quest/m1/lite-legacy-close-drain.md
kixelated Oct 30, 2026
4c1cdf2
fix(net): lite-05/06 close waits for the subscriber's FIN
kixelated Oct 30, 2026
eb6c7cd
fix(net): satisfy check: fmt, test types, Dart bindings
kixelated Oct 30, 2026
672b538
Merge remote-tracking branch 'origin/main' into quest/m1/lite-legacy-…
kixelated Oct 30, 2026
55bbc93
quest: delete lite-legacy-close-drain, lite-01..04 keep the ACK drain
kixelated Oct 30, 2026
5e45e1b
Merge base and adapt close tests to kio clock rename
Nov 1, 2026
b64224b
Merge remote-tracking branch 'origin/main' into pr-7296
kixelated Nov 1, 2026
469ce00
docs(nvenc): record upstream and NVIDIA SDK audit (#7464)
kixelated Nov 1, 2026
5d5bd9b
docs(rtmp): record rust-media-libs upstream audit (#7465)
kixelated Nov 1, 2026
5d6343d
perf(moq-uring): demux reads wire counters once per receive (#7502)
kixelated Nov 2, 2026
d9d02b9
quest: land main through GitHub's merge queue again, with the async f…
kixelated Nov 2, 2026
1eaff23
feat(qmux)!: a session is one caller-spawned driver that owns its soc…
kixelated Nov 2, 2026
075c410
bench(auth): attribute JWT verification cost and run it nightly (#7512)
kixelated Nov 2, 2026
58afd93
perf(net): stop a front's first-seen track record holding retired rou…
kixelated Nov 2, 2026
f4cb311
perf(net): cut the JS publisher's per-frame races and rank streams wi…
kixelated Nov 2, 2026
42bf49a
quest: keep @moq/qmux; npm refuses the unscoped qmux (#7584)
kixelated Nov 2, 2026
e384cd5
perf(kio): split channel waiters off the value lock and add Watch (#7…
kixelated Nov 2, 2026
d7f8841
feat(bindings)!: exact {value, scale} timestamps in every binding (#6…
kixelated Nov 2, 2026
7c2d1dd
fix(mux,hang): a backlog join starts within the max delay in Rust and…
kixelated Nov 2, 2026
3e1137d
quest: delete adapter-waker-alloc, measured no-win (#7556)
kixelated Nov 2, 2026
1f27d41
chore(quest): plan dispatch.sh's tests passing without KVM (#7587)
kixelated Nov 2, 2026
44979f4
ci: pin binding generators by commit; pin NASM and nextest; tighten w…
kixelated Nov 2, 2026
78d0305
perf(quic): send groups leave their round robin without a scan (#7527)
kixelated Nov 2, 2026
7274ba2
Probe scenario seeds randomize the media's start (#7538)
kixelated Nov 2, 2026
21d6da9
fix(moq-audio): keep a track's start when decoding from its first pac…
kixelated Nov 2, 2026
e3bd4b2
fix(js): validate room metadata; bound and cancel the fingerprint fet…
kixelated Nov 2, 2026
d1a4382
refactor(gst): moqsrc playback helpers share one session context (#7558)
kixelated Nov 2, 2026
f45f5cd
fix(watch): accept structural read-side origins (#7251)
kixelated Nov 2, 2026
ce59772
feat: one UDP port for QUIC and the WebRTC media path (#7095)
kixelated Nov 2, 2026
8f830b4
feat(c)!: close epoch and audio query gaps (#7246)
kixelated Nov 2, 2026
d8288e6
fix(mux)!: a broadcast stamps everything from one clock (#7218)
kixelated Nov 2, 2026
5c1ffe0
ci(queue): test merge groups on the self-hosted runner (#7612)
kixelated Nov 2, 2026
76a659c
fix(net): key the WebSocket preference by server and clear it on a We…
kixelated Nov 2, 2026
0009389
fix(net): finish closed JS readers within their range (#7486)
kixelated Nov 2, 2026
071211f
perf(net): lite coverage checks before START cost what changed (#7499)
kixelated Nov 2, 2026
a546cac
A quick finish keeps its pre-draft-22 join (#7306)
kixelated Nov 2, 2026
1977272
chore(quest): complete the recorded pre-cut security audit (#7611)
kixelated Nov 2, 2026
2cdde81
fix(mux): finish accepted MKV tracks after truncated input (#7608)
kixelated Nov 2, 2026
c4cfcd5
fix(relay): keep the resolved configuration off the stack (#7595)
kixelated Nov 2, 2026
d52d55a
chore(quest): finish paired benchmark baseline wait (#7592)
kixelated Nov 2, 2026
fd0b0cb
quest: report the replica spike, a conditional win (#7533)
kixelated Nov 2, 2026
bcaaef1
quest: plan Check on ready main PRs as a signal (#7572)
kixelated Nov 2, 2026
4372e25
test(bindings): cover MoqBroadcastConsumer.closed in Kotlin, Swift, a…
kixelated Nov 2, 2026
da5c2af
test(rs): run kio and moq-net's in-memory unsafe under Miri nightly (…
kixelated Nov 2, 2026
bc2468e
quest: plan follow-ups from the 2026-10-31 /quest-complete requeue se…
kixelated Nov 2, 2026
f6de612
ci: land main through GitHub's merge queue (#7613)
kixelated Nov 2, 2026
a82c673
feat(tokio)!: forward QUIC packets to their owner by QUIC-LB server I…
kixelated Nov 2, 2026
1afff75
ci(queue): dispatch Queue onto a branch head (#7617)
kixelated Nov 2, 2026
0fb8416
ci(queue): a dispatch on main reports Queue on a PR's head (#7619)
kixelated Nov 2, 2026
4fb80d8
feat(net): expose a one-shot session's GOAWAY as `draining` (#7457)
wrangelvid Nov 2, 2026
a09f7c7
quest: only library dependents promote a 0.0.x crate (#7585)
kixelated Nov 2, 2026
0f27edb
docs: allow bench-only backports to release (#7581)
kixelated Nov 2, 2026
54f0c35
docs(quest): settle 30 s authored max-age defaults (#7567)
kixelated Nov 2, 2026
1cc8571
ci(queue): dispatches for different heads don't cancel each other (#7…
kixelated Nov 2, 2026
23ad655
fix(publish): park unread video capture and resume file sources at th…
kixelated Nov 2, 2026
305f90a
test(net): check refusal state cheaply and benchmark its scaling (#7549)
kixelated Nov 2, 2026
af1a0ce
feat(congestion): GCC candidate, GoogCC refreshed to WebRTC 556f7eec2…
kixelated Nov 2, 2026
543449b
quest: borrow-free QUIC state, mechanism prototypes and measurements …
kixelated Nov 2, 2026
64cba13
feat(net)!: end bounded reads and owe cached backfill (fetch as a ran…
kixelated Nov 2, 2026
e8cb170
feat(watch): run a min-delay and a max-delay decoder for warmup rendi…
kixelated Nov 2, 2026
4679619
perf(net): copy small whole frames out of shared receive buffers (#7522)
kixelated Nov 2, 2026
2eec576
quest(no-spawn): split into an epic with four children (#7519)
kixelated Nov 2, 2026
d6beb59
test(relay): finish auth leases before reusing the test listener (#7550)
kixelated Nov 2, 2026
bb58687
fix(nix): treat R2 service failures as cache misses (#7537)
kixelated Nov 2, 2026
1b85866
perf(kio): index task wakes so a poll skips capacity a burst left beh…
kixelated Nov 2, 2026
b8f13fa
docs(quest): retire the superseded unknown-range marker quest (#7503)
kixelated Nov 2, 2026
a66c8a7
perf(moq-net): fanout subscribers stop contending the shared track lo…
kixelated Nov 2, 2026
d721eed
quest(m1): lite-07 ranges wait for fetch-range (#7487)
kixelated Nov 2, 2026
e7a5c10
chore(quest): checkpoint VA-API audit and release dependency (#7463)
kixelated Nov 2, 2026
26732b9
refactor(publish): keep each network broadcast's renditions and encod…
kixelated Nov 2, 2026
a9b696b
fix(net): answer a draft-18 TRACK_STATUS followed at once by a FIN (#…
michaelstuurman Nov 2, 2026
3dede33
quest: pin the restart a follower gets when the serving epochless rou…
Dryvnt Nov 2, 2026
3942c96
feat(watch): one support probe for audio and video (#7359)
kixelated Nov 2, 2026
29a56f8
test(js/net): age the stalled-consumer eviction test past the cache w…
kixelated Nov 2, 2026
1f02db7
test: halve the slowest tests' CPU (#6987)
kixelated Nov 2, 2026
7a36f1b
refactor(ci): declare each check module once in the dispatcher (#7356)
kixelated Nov 2, 2026
274d322
test: browser tests expect current element behavior (#7060)
kixelated Nov 2, 2026
cadfbe7
feat(cli): an interrupted mp4 recording keeps its buffering fragment …
kixelated Nov 2, 2026
b51eb8c
feat(relay)!: enforce bitrate caps on QUIC sessions (#7535)
kixelated Nov 2, 2026
7ad8d42
feat(net): pace relay ingest by the group's fastest reader (#7388)
kixelated Nov 2, 2026
2ec2f1d
feat(net)!: resolve archive time ranges through a fill lookup (#7310)
kixelated Nov 2, 2026
b1d70e7
fix(ietf): cancel an unclaimed fill head when a subscription ends (#7…
kixelated Nov 2, 2026
f8c608a
feat(hang,publish): publish HLS segment records from the browser by d…
kixelated Nov 2, 2026
7168b8f
feat(cli): moq repair finishes a cut-short mp4 recording (#7560)
kixelated Nov 2, 2026
4a82a6a
test(net): cover draft 20 joins with the supported version matrix (#7…
kixelated Nov 2, 2026
8e53bf3
ci: unify dependency features with a cargo-hakari workspace-hack (#6985)
kixelated Nov 2, 2026
35b0bc1
ci(nightly): delete unreported relay measurements (#7603)
kixelated Nov 2, 2026
6b2d9c3
refactor(moq-mux): parse H.264 SPS with h264-reader and config bits w…
kixelated Nov 2, 2026
f882be3
fix(moq-mux): keep fMP4 decode times increasing in sub-GOP fragments …
kixelated Nov 2, 2026
33eca67
Merge origin/main with lite legacy close drain
kixelated Nov 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .config/hakari.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file contains settings for `cargo hakari`.
# See https://docs.rs/cargo-hakari/latest/cargo_hakari/config for a full list of options.

hakari-package = "workspace-hack"

# Format version for hakari's output. Version 4 requires cargo-hakari 0.9.22 or above.
dep-format-version = "4"

# Setting workspace.resolver = "2" or higher in the root Cargo.toml is HIGHLY recommended.
# Hakari works much better with the v2 resolver. (The v2 and v3 resolvers are identical from
# hakari's perspective, so you're welcome to set either.)
#
# For more about the new feature resolver, see:
# https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html#cargos-new-feature-resolver
resolver = "2"

# Add triples corresponding to platforms commonly used by developers here.
# https://doc.rust-lang.org/rustc/platform-support.html
platforms = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-pc-windows-msvc", "x86_64-unknown-linux-gnu"]

# Write out exact versions rather than a semver range. (Defaults to false.)
# exact-versions = true

[traversal-excludes]
workspace-members = ["moq-net-fuzz", "moq-quic-fuzz"]

[final-excludes]
workspace-members = ["kio-macros"]
9 changes: 9 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,12 @@ slow-timeout = { period = "60s", terminate-after = 2 }
retries = 0
# Repeat each failure at the end of the run, so it isn't buried in the log.
failure-output = "immediate-final"

# `just rs miri` interprets every instruction, orders of magnitude slower than
# native, so a test that takes a second here takes minutes there. The cap still
# turns a lost wakeup into a TIMEOUT; keep a test under it by shrinking its
# workload under `cfg(miri)`, as with the native ceiling above.
[profile.miri]
slow-timeout = { period = "300s", terminate-after = 3 }
retries = 0
failure-output = "immediate-final"
4 changes: 4 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
self-hosted-runner:
# The host's merge queue runner (kixelated/nixos modules/ci-runners.nix).
labels:
- moq-queue
paths:
# GitHub's `queue: max` on the shared Pages writers. actionlint learns it in
# https://github.com/rhysd/actionlint/pull/661, unreleased after 1.7.12.
Expand Down
13 changes: 13 additions & 0 deletions .github/actions/nasm/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Install NASM
description: Install the pinned NASM on a Windows runner, where aws-lc-rs assembles its x86_64 crypto with it.

runs:
using: composite
steps:
# The Chocolatey package version, not NASM's own (3.2.0 installs NASM 3.02).
# GITHUB_PATH gets a constant directory, nothing an event can steer.
- name: Install NASM
shell: pwsh
run: | # zizmor: ignore[github-env]
choco install nasm --version=3.2.0 -y --no-progress
"C:\Program Files\NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
10 changes: 6 additions & 4 deletions .github/actions/rust-cache/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,16 @@ inputs:
runs:
using: composite
steps:
- name: Require the landing gate on self-hosted runners
if: runner.environment == 'self-hosted' && (github.workflow != 'Land' || github.ref != 'refs/heads/main')
# Only main's merge queue builds on the self-hosted runner: a maintainer
# picked each group's PR, so nothing unreviewed writes its persistent caches.
- name: Require main's merge queue on self-hosted runners
if: runner.environment == 'self-hosted' && !(github.workflow == 'Queue' && github.event_name == 'merge_group' && startsWith(github.ref, 'refs/heads/gh-readonly-queue/main/'))
shell: bash
run: |
echo "::error::Persistent self-hosted caches require Land on main." >&2
echo "::error::Persistent self-hosted caches require Queue on main's merge queue." >&2
exit 1

# Hosted runs on `main` write; everything else reads. The landing worker
# Hosted runs on `main` write; everything else reads. The merge queue
# uses only its local store and receives no remote credentials.
#
# The write key is the boundary. It lives in the `cache-write`
Expand Down
35 changes: 35 additions & 0 deletions .github/actions/uniffi-bindgen/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Install a uniffi binding generator
description: Build the pinned uniffi-bindgen-cpp or uniffi-bindgen-go for jobs outside the nix dev shell, which already provides both.

inputs:
generator:
description: "`cpp` for uniffi-bindgen-cpp (which also renders C) or `go` for uniffi-bindgen-go."
required: true

runs:
using: composite
steps:
# The one CI pin for each generator. A tag can be moved and `--locked` pins
# only the dependencies, so each pin is the commit its flake.nix tag peels
# to: `git ls-remote <repo> 'refs/tags/<tag>^{}'`. Bump it with the tag in
# flake.nix; see the comments there.
- name: Install uniffi-bindgen-${{ inputs.generator }}
shell: bash
env:
GENERATOR: ${{ inputs.generator }}
run: |
case "$GENERATOR" in
cpp)
repo=https://github.com/kixelated/uniffi-bindgen-cpp
rev=a5a1ac411772b3f589859edf50aef7bc7538100b # v0.11.0-kixelated.7+v0.32.2
;;
go)
repo=https://github.com/kixelated/uniffi-bindgen-go
rev=374a887fea3cde238ac3c5646dbd2963de7a6a83 # v0.10.0-kixelated.1+v0.32.0
;;
*)
echo "::error::unknown uniffi generator: $GENERATOR"
exit 1
;;
esac
cargo install --locked "uniffi-bindgen-$GENERATOR" --git "$repo" --rev "$rev"
9 changes: 9 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ concurrency:

env:
CARGO_NDK_VERSION: 4.1.2
CARGO_HAKARI_VERSION: 0.9.39

jobs:
android:
Expand Down Expand Up @@ -58,5 +59,13 @@ jobs:
- name: Install cargo-ndk
run: cargo install --locked "cargo-ndk@$CARGO_NDK_VERSION"

# The host dev-dependencies in the workspace-hack need the Nix shell's
# native libraries, which this cross-build deliberately runs without.
- name: Disable the workspace-hack
run: |
cargo install --locked "cargo-hakari@$CARGO_HAKARI_VERSION"
cargo hakari disable
cargo update --workspace

- name: Check
run: just rs android
5 changes: 3 additions & 2 deletions .github/workflows/c.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ jobs:

- uses: ./.github/actions/just

- name: Install uniffi-bindgen-cpp
run: cargo install uniffi-bindgen-cpp --locked --git https://github.com/kixelated/uniffi-bindgen-cpp --tag v0.11.0-kixelated.7+v0.32.2
- uses: ./.github/actions/uniffi-bindgen
with:
generator: cpp

- name: Check
run: just c check
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Check
permissions:
contents: read

# Main PRs report Check as skipped; Land tests their combined prefix.
# Main PRs report Check as skipped; the merge queue tests each one (queue.yml).
# Release PRs run the same gate over every package.
on:
pull_request:
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ jobs:

- uses: ./.github/actions/just

- name: Install uniffi-bindgen-cpp
run: cargo install uniffi-bindgen-cpp --locked --git https://github.com/kixelated/uniffi-bindgen-cpp --tag v0.11.0-kixelated.7+v0.32.2
- uses: ./.github/actions/uniffi-bindgen
with:
generator: cpp

- name: Check
run: just cpp check
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,10 @@ jobs:
private-key: ${{ secrets.APP_PRIVATE_KEY }}
owner: moq-dev
repositories: moq
# Only the permissions needed to pin and request a landing.
# Only the permissions needed to pin and enqueue a landing.
permission-contents: write
permission-pull-requests: write
permission-merge-queues: write

- name: Request checked landing
env:
Expand All @@ -77,5 +78,4 @@ jobs:
PR_HEAD: ${{ github.event.pull_request.head.sha }}
run: |
export GH_TOKEN="$BOT_TOKEN"
hold=$(quest merge "$PR_URL")
quest merge "$PR_URL" "$hold" --land "$PR_HEAD"
quest merge "$PR_URL" --land "$PR_HEAD"
5 changes: 5 additions & 0 deletions .github/workflows/features.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ jobs:
with:
access-key-id: ${{ secrets.MBX_R2_ACCESS_KEY_ID }}
secret-access-key: ${{ secrets.MBX_R2_SECRET_ACCESS_KEY }}
# The workspace-hack unifies third-party features so the gate's builds
# share a cache, which would hide a crate using a feature it does not
# declare. Every build here checks declarations, so it runs without it.
- name: Disable the workspace-hack
run: nix develop --command bash -c 'cargo hakari disable && cargo update --workspace'
- name: Check feature and profile variants
run: nix develop --command just ${{ matrix.recipe }}
env:
Expand Down
34 changes: 14 additions & 20 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:
# cross-night history on the benchmark site stays informational.
nightly:
name: Nightly (${{ matrix.name }})
runs-on: ${{ matrix.runner || 'ubuntu-24.04-arm' }}
runs-on: ubuntu-24.04-arm
# Hosted `main` jobs write the Rust cache; see .github/actions/rust-cache.
environment: ${{ github.ref == 'refs/heads/main' && 'cache-write' || '' }}
timeout-minutes: 60
Expand All @@ -104,21 +104,9 @@ jobs:
strategy:
fail-fast: false
matrix:
# Unset keys default to the ARM runner, the plain dev shell, the Rust
# cache, no perf sampling, and nextest's default profile.
# Unset keys default to the plain dev shell, the Rust cache, and
# nextest's default profile.
include:
- name: Audio grouping relay benchmark
recipe: bench-audio
- name: Relay shard sweep
recipe: bench-shard
# Smoke-tests each capture path: exact off-CPU waits, CPU stacks, and
# heap snapshots, each refused without resolved relay stacks.
# x86: on the SVE-capable ARM runner, perf's DWARF unwinding asks for the SVE VG
# register, which the kernel refuses for the software context-switches event.
- name: Relay profiles
recipe: bench-profile "lock cpu heap" fanout-heavy 4
perf: true
runner: ubuntu-24.04
- name: Rust benchmark tests
recipe: gh nightly rust-test
- name: Binding benchmark runners
Expand Down Expand Up @@ -221,11 +209,6 @@ jobs:
access-key-id: ${{ secrets.MBX_R2_ACCESS_KEY_ID }}
secret-access-key: ${{ secrets.MBX_R2_SECRET_ACCESS_KEY }}

# perf samples the relay in kernel context into large buffers; bench-profile refuses without it.
- name: Allow perf kernel sampling
if: matrix.perf
run: sudo sysctl -w kernel.perf_event_paranoid=-1

- name: Run workload
id: workload
run: nix develop ${{ matrix.shell }} --command just ${{ matrix.recipe }}
Expand Down Expand Up @@ -369,6 +352,11 @@ jobs:
# virtual camera, a module load no pull request job should make.
# `js worklet-matrix` loads `?worklet` output through the bundlers pinned in test/worklet.
recipe: ["gate", "rs doctest --workspace", "rs send-depth", "test drill-sensitivity", "rs uring", "test drain", "test json-properties", "test resume-model", "rs quic-sim", "test drill impaired", "rs cli-export", "rs quic-stress", "rs audio-devices", "rs multicast", "rs render-sw", "test qmux", "rs v4l2", "js worklet-matrix"]
include:
# Miri interprets kio's and moq-net's in-memory unsafe; too slow for the merge gate.
- recipe: rs miri
nightly: true
components: miri
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -380,6 +368,12 @@ jobs:
with:
access-key-id: ${{ secrets.MBX_R2_ACCESS_KEY_ID }}
secret-access-key: ${{ secrets.MBX_R2_SECRET_ACCESS_KEY }}
- name: Install nightly Rust
if: matrix.nightly
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: nightly
components: ${{ matrix.components }}
- name: Add a second IPv6 loopback address
if: matrix.recipe == 'rs uring'
# moq-uring's local address test reaches a wildcard socket on it.
Expand Down
18 changes: 8 additions & 10 deletions .github/workflows/platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,9 @@ jobs:
fetch-depth: 0
- name: Install Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
- name: Install NASM
shell: pwsh
run: |
choco install nasm -y --no-progress
"C:\Program Files\NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- uses: ./.github/actions/nasm
- uses: ./.github/actions/just
# Bump with the macOS job's copy and .oss-scanner/Dockerfile's NEXTEST_VERSION.
- name: Install nextest
if: needs.scope.outputs.rs == 'true'
uses: taiki-e/install-action@1e29709c0ec63babbe8f266397a465f29a825f91 # v2.87.31
Expand All @@ -104,10 +101,10 @@ jobs:
with:
access-key-id: ${{ secrets.MBX_R2_ACCESS_KEY_ID }}
secret-access-key: ${{ secrets.MBX_R2_SECRET_ACCESS_KEY }}
- name: Install uniffi-bindgen-cpp
- uses: ./.github/actions/uniffi-bindgen
if: needs.scope.outputs.c == 'true' || needs.scope.outputs.cpp == 'true' || needs.scope.outputs.obs == 'true'
shell: bash
run: cargo install uniffi-bindgen-cpp --locked --git https://github.com/kixelated/uniffi-bindgen-cpp --tag v0.11.0-kixelated.7+v0.32.2
with:
generator: cpp
- name: Rust compile and tests
if: needs.scope.outputs.rs == 'true'
shell: bash
Expand Down Expand Up @@ -155,9 +152,10 @@ jobs:
with:
access-key-id: ${{ secrets.MBX_R2_ACCESS_KEY_ID }}
secret-access-key: ${{ secrets.MBX_R2_SECRET_ACCESS_KEY }}
- name: Install uniffi-bindgen-cpp
- uses: ./.github/actions/uniffi-bindgen
if: needs.scope.outputs.obs == 'true'
run: cargo install uniffi-bindgen-cpp --locked --git https://github.com/kixelated/uniffi-bindgen-cpp --tag v0.11.0-kixelated.7+v0.32.2
with:
generator: cpp
- name: Rust compile and tests
if: needs.scope.outputs.rs == 'true'
env:
Expand Down
Loading
Loading