Repository navigation
ci: Build the release's AppImage with Rust libobs on a manual dispatch too - #670
Conversation
A manually dispatched release (run 38497010624) built the AppImage without ENABLE_RUST_LIBOBS: github.event_name was the caller's workflow_dispatch, so a dispatch-only input was read.
…GREEN)
appimage.yaml's workflow_call now declares rust_libobs (default true), and
ENABLE_RUST_LIBOBS follows the input alone instead of github.event_name,
which is the caller's event inside a called workflow. The test's input
regex also matches the input's last line.
Local-Gate: v1 tree=c36642c3aa06ad455dc2fbbab825a780f44ce060 secs=310 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791943297,"gate":"rust/all/fmt","host":"linux-x86_64","key":"aa67ea154927d5bb5e08ec23cd2eb6967c8ad3bde4301f4e56ebcdffc2e70b24","lane":"lint","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":17,"stamp":"ae78a4a2e25fb9c08c8591b15d3c02f2","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"aa67ea154927d5bb5e08ec23cd2eb6967c8ad3bde4301f4e56ebcdffc2e70b24","lane":"lint","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":17,"stamp":"3682da7c027180f9a0c020b279c435ca","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"f24977092d111992db75025707b4dc1b80f9bc01ec98a900a71b5a0d76982aa3","lane":"rust-test","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":81,"stamp":"ab721fb86b77becae71a9157560ec00c","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"9054e3000b85e7b1a206ebfba295dd73a9eee7d7d5871966c51fa7f5ad67e7c6","lane":"cross","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":63,"stamp":"edc8b470f80826506744fb889542d80a","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"9054e3000b85e7b1a206ebfba295dd73a9eee7d7d5871966c51fa7f5ad67e7c6","lane":"cross","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":63,"stamp":"db3a5617baa567f8afff110a828a2b62","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"9054e3000b85e7b1a206ebfba295dd73a9eee7d7d5871966c51fa7f5ad67e7c6","lane":"cross","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":63,"stamp":"f63416591aed3c915a5f0ee46ca319c7","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"9054e3000b85e7b1a206ebfba295dd73a9eee7d7d5871966c51fa7f5ad67e7c6","lane":"cross","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":63,"stamp":"f4f4aa4b304aabc842718c95f57bf381","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"9054e3000b85e7b1a206ebfba295dd73a9eee7d7d5871966c51fa7f5ad67e7c6","lane":"cross","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":63,"stamp":"092a285d56eaf9eab151f604839c3d4f","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"9054e3000b85e7b1a206ebfba295dd73a9eee7d7d5871966c51fa7f5ad67e7c6","lane":"cross","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":63,"stamp":"4afd098b52e810a6f7a591ba2bcd9034","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
Ci-Attestation: {"at":1791943297,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"18bb2349f50d2109c1dc30f6d9ae69d6286127e301fb987c3adc875461080bbb","lane":"tier2-linux","parents":["4df113ad421fcbad1feefc722d2937937f753600"],"secs":149,"stamp":"8ec07681c7cec47363417ea8ef724669","tree":"c36642c3aa06ad455dc2fbbab825a780f44ce060","v":1,"via":"run"}
|
The merged expression regresses direct push/PR/tag-style builds: GitHub's official @actions/expressions evaluator 0.3.61 evaluates I reproduced this with the actual source expression for push, pull_request, workflow_dispatch and schedule contexts: absent=false, explicit false=false, explicit true=true in each case. Absent input should preserve the ordinary Rust build default. The #664 AppImage-input work already owns this unit; I will integrate an actual evaluator regression and a fix that distinguishes absent input from explicit false there, avoiding a duplicate PR. Sources: https://docs.github.com/en/actions/reference/workflows-and-actions/expressions and https://github.com/actions/languageservices/tree/main/expressions. |
obs-rust#670 and d67c6da each added it; the merged file had it twice and GitHub refused to start release-rust.yaml ("'rust_libobs' is already defined"). Local-Gate: v1 tree=af38171a48b8091fd780264605dc8e5d8db2deb0 secs=359 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run Ci-Attestation: {"at":1791949341,"gate":"rust/all/fmt","host":"linux-x86_64","key":"1c8074fe33b0f2eb9c863442547fa5769b2e6cdcc5c9d068e270033dedd8acbd","lane":"lint","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":25,"stamp":"f5c1374bda3598adcd2c9c41c8bc42d1","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"1c8074fe33b0f2eb9c863442547fa5769b2e6cdcc5c9d068e270033dedd8acbd","lane":"lint","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":25,"stamp":"ca7cc8e371968107a88c7d4a94e18541","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"513b4c32cc9f78ca8d5be95035f00d41c6b8336f408b61e5a0838cbacbadf03d","lane":"rust-test","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":88,"stamp":"7cfe365a7db46b4587c35d39345c75c5","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"e32f7ed6a17e18de84d326056c30720bc31ae866d8faa989524de8c8768369c2","lane":"cross","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":64,"stamp":"97e06ea6c7dda7bd5d89cbefe8b55c2a","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"e32f7ed6a17e18de84d326056c30720bc31ae866d8faa989524de8c8768369c2","lane":"cross","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":64,"stamp":"5013f1fed83d719ed2f2a6697c14d512","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"e32f7ed6a17e18de84d326056c30720bc31ae866d8faa989524de8c8768369c2","lane":"cross","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":64,"stamp":"41cb8bae82d7689466febbf688ccbb49","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"e32f7ed6a17e18de84d326056c30720bc31ae866d8faa989524de8c8768369c2","lane":"cross","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":64,"stamp":"b5825c752d459f895c8fa8928ebbf218","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"e32f7ed6a17e18de84d326056c30720bc31ae866d8faa989524de8c8768369c2","lane":"cross","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":64,"stamp":"27ef93b5933e9c118bb4725532b3eab3","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"e32f7ed6a17e18de84d326056c30720bc31ae866d8faa989524de8c8768369c2","lane":"cross","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":64,"stamp":"70512522cb41fa3ff841748ad40fc166","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"} Ci-Attestation: {"at":1791949341,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"382817625e0b7da70536c929bd8be80044c5b93d371bd750c98cf97bdca88e6c","lane":"tier2-linux","parents":["9b1137a63ba9f32969b76ad067b2df20b91edbbf"],"secs":183,"stamp":"9c237c17ee4531228c8e822c4081dda9","tree":"af38171a48b8091fd780264605dc8e5d8db2deb0","v":1,"via":"run"}
Today's manually dispatched release (run 38497010624) failed every AppImage distro test:
expected 'OBS-Studio-Rust 0.1.0-beta.20261014 (based on OBS ...)' from --version, got: OBS Studio - 33.0.0-beta6-1045-ga7edb3bc9. The AppImage was built without ENABLE_RUST_LIBOBS. Inside a called workflowgithub.event_nameis the caller's event, sogithub.event_name != 'workflow_dispatch' || inputs.rust_libobsread a dispatch-only input that a workflow_call never sets. A scheduled release would have been fine.ci/test_appimage_call_inputs.pychecks that workflow_call declares rust_libobs (default true) and that RUST_LIBOBS doesn't depend on github.event_name.RUST_LIBOBS: ${{ inputs.rust_libobs != false }}treats an unset input (push, tag, pull_request) as on.