Skip to content

ci(netbsd): upgrade vmactions/netbsd-vm to v1.5.0 and fix SSH sync - #3697

Open
metux wants to merge 8 commits into
masterfrom
fix/netbsd-ci-ssh-fix
Open

metux wants to merge 8 commits into
masterfrom
fix/netbsd-ci-ssh-fix

Conversation

@metux

@metux metux commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Fixes NetBSD CI lane SSH connectivity failures.

Problem: vmactions/netbsd-vm@v1.2.3 was failing with SSH connectivity issues:

  • Run 34956549682: VM booted successfully but SSH failed with 'No route to host' to VM IP
  • Run 34979256982: All 3 attempts failed with 'ssh: Could not resolve hostname netbsd'

Root cause: The v1.2.3 action used default sync method that tried to resolve 'netbsd' hostname from Ubuntu host runner, which doesn't exist in GitHub Actions DNS.

Solution:

  • Upgrade to v1.5.0 (latest major version, recommended in action README)
  • Remove deprecated 'usesh: true' (ignored since v1 - scripts always run with sh)
  • Explicitly set 'sync: rsync' for reliable two-way file synchronization

The v1.5.0 action defaults to rsync which works reliably for code sync. DragonFlyBSD lane (vmactions/dragonflybsd-vm@v1.1.4) already succeeds with similar configuration.

stefan11111 and others added 8 commits September 15, 2026 12:08
…ssing

When `GL_EXT_unpack_subimage`, glamor increments src_line by `byte_stride / bytes_per_pixel`
This is correct, assuming `sizeof(*src_line)` is the byte size of a pixel.

src_line is a 32-bit int pointer, which is not a pointer to a pixel,
for 8 and 16 depth pixmaps.

Use a uint8_t pointer instead and increment it by `byte_stride`

`glamor_download_boxes` already does this

Signed-off-by: stefan11111 <stefan11111github@gmail.com>
- Upgrade from v1.2.3 to v1.5.0 (latest major version)
- Remove deprecated 'usesh: true' input (ignored since v1)
- Explicitly set 'sync: rsync' for reliable two-way file sync
- Fixes SSH connectivity issue where action tried to resolve 'netbsd' hostname
  from Ubuntu host runner which failed with 'Could not resolve hostname netbsd'

The v1.5.0 action uses rsync by default for code synchronization which is more
reliable than the default hostname-based SSH approach that was failing.
NetBSD and OpenBSD use wscons (WSCONS_SUPPORT) instead of syscons.
sys/console.h exists only on FreeBSD/DragonFlyBSD. The build system
incorrectly defined SYSCONS_SUPPORT for NetBSD in build_xorg_sdk mode,
causing the #else branch to be taken which included sys/console.h.

Fix: only include sys/console.h for non-NetBSD/OpenBSD systems.
…cros

- include/meson.build: Only define PCVT_SUPPORT and SYSCONS_SUPPORT for
  FreeBSD/DragonFlyBSD. NetBSD/OpenBSD use WSCONS_SUPPORT instead.
  Previously they were unconditionally set to 1 in build_xorg_sdk mode,
  causing NetBSD builds to incorrectly include sys/console.h.

- include/xf86_OSlib.h: Guard sys/console.h include with
  #if !defined(__NetBSD__) && !defined(__OpenBSD__) so it's only
  included on systems that actually have it (FreeBSD/DragonFly).

Together these fixes ensure NetBSD/OpenBSD builds use wscons paths
and don't try to include FreeBSD-specific sys/console.h.
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.

2 participants