Skip to content

Conversation

chrisgleissner
Copy link
Owner

No description provided.

@chrisgleissner chrisgleissner changed the title e2e: fix local recording detection in report to handle c64_recording.* and recent mkv/mp4 Fix E2E on CI Oct 16, 2025
@chrisgleissner chrisgleissner changed the title Fix E2E on CI Fix E2E Test on CI Oct 16, 2025
- Change API query to look for successful push.yaml runs instead of build-project.yaml
- The push.yaml workflow calls build-project.yaml as a reusable workflow
- This should fix the 'Could not find latest successful build' error
- Move get_latest_build_run function inside the run block
- This fixes the YAML parsing errors that prevented workflow_dispatch from working
- Add check for /usr/lib/x86_64-linux-gnu/obs-plugins/c64stream.so
- The .deb package installs to the architecture-specific path, not /usr/lib/obs-plugins/
- This should fix the 'Plugin binary not found' error in the verification step
- Add libsimde-dev to system dependencies in manual E2E test
- This resolves the CMake configuration error when building udp_replay tool
- Matches the dependency installation in the automated E2E test workflow
The Manual E2E Test workflow already installs the plugin in the 'Download and Install Plugin' step,
so the e2e.sh script should not try to reinstall it when --skip-build is specified.

This fixes the error: cp: cannot stat '/home/runner/work/c64stream/c64stream/build_x86_64/c64stream.so': No such file or directory
The E2E test was failing because the plugin data directory didn't exist
when using --skip-build. The workflow should create this directory, but
if it doesn't exist, the E2E test should create it to be more robust.

This fixes the error: Plugin data directory not found, plugin may not be installed
The E2E properties were using /home/chris/ path but CI runs as 'runner' user.
This could cause issues with recording file paths and plugin configuration.

Updated to use /home/runner/ path for CI compatibility.
Instead of hardcoding absolute paths that break local testing,
use empty save_folder to let the plugin use its default
platform-specific path logic that works in both local and CI environments.
Added comprehensive debugging step before E2E test to show:
- OBS plugin directory structure (user and system)
- C64 Stream plugin directory contents
- Plugin binary details and file information

This will help identify if the plugin is installed in the wrong location
or if there are permission/file issues preventing OBS from loading it.
Added detailed logging to identify environmental differences between
local Kubuntu 24.04 and GitHub runner:

- TCP server binding diagnostics with netstat checks
- TCP connection handling with detailed connection info
- UDP packet sending diagnostics with connectivity tests
- Network port and socket status monitoring
- Packet transmission verification

This will help identify why the plugin connects locally but not on CI.
Added analysis of OBS logs to understand why the plugin is not
connecting to the TCP server. This will help identify if the plugin
is reading configuration correctly and what it's doing during
initialization.
Added analysis of error messages in OBS logs and verification that
the plugin properties file exists and is readable. This will help
identify if the plugin is reading configuration correctly.
The plugin is not auto-connecting when OBS starts recording. Added code to
manually trigger the plugin connection by updating the source settings
via OBS WebSocket API, which should call c64_update() and trigger
c64_start_streaming() to connect to the C64 Ultimate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant