镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Fix: restore Linux CI dependency installation - #446

Merged
ScarletBytesDev merged 7 commits into
InfiniLore:corefrom
JoarEliasson:fix/linux-ci-dependencies
Nov 10, 2026
Merged

ScarletBytesDev merged 7 commits into
InfiniLore:corefrom
JoarEliasson:fix/linux-ci-dependencies

Conversation

@JoarEliasson

Copy link
Copy Markdown
Contributor

Summary

Both Linux builds in the failing run reached CMake without libnotify after the cached APT install failed. The fallback installed GTK and WebKitGTK, but left libnotify missing.

Type of change

  • Bug fix (non-breaking change fixing an issue)

Affected modules / scope

  • Other: Linux CI dependency setup in .github/actions/setup-dependencies/action.yml

This is based on core and can be reviewed separately from #444.

Changes introduced

  • Replace the cached APT install and partial fallback with apt-get update followed by a direct install. Keep the full package list and normal APT recommendations, and stop the step if installation fails.
  • Use libgdk-pixbuf-2.0-dev, which is available on both runner distributions. The old name is transitional on Ubuntu 24.04 and absent from Ubuntu 26.04.
  • Check gtk+-3.0, webkit2gtk-4.1 and libnotify together before the native build, so GTK being present cannot hide a missing dependency.

Related issues

Fixes #445.

Checklist

  • Follows the existing YAML and shell conventions.
  • Includes only changes relevant to this issue.
  • Full hosted workflow and downstream managed tests pass (not rerun yet).

Additional context

I ran the action's exact Linux shell block in clean Ubuntu 26.04 x64 and Ubuntu 24.04 ARM64 containers, with ARM64 running under emulation. Both passed dependency installation, all three module checks and GUI smoke checks. Native Release builds with test exports also passed on both architectures, using CMake 4.4.0 and Node 24.22.2.

Actionlint 1.7.12, Bash syntax checks and failure-propagation checks passed as well. The latter confirmed that APT update/install errors and a missing required module stop the step.

These were local container checks. The full workflow still needs a run on GitHub's hosted runners.

@ScarletBytesDev

Copy link
Copy Markdown
Member

Is there a particular reason why you choose to step away from the cached approach?
The reason why I originally cached them was due to longer config times without the caching

@JoarEliasson

Copy link
Copy Markdown
Contributor Author

Fair point, and no good reason. The cached step was the part that failed, so I swapped it for a plain install without checking what that costs.

I looked at the logs again and I think the cache can stay. On x64 the action choked on libgdk-pixbuf2.0-dev, which no longer exists on Ubuntu 26.04. On ARM64 the package lists were stale, so the downloads 404'd. Renaming that package and running apt-get update before the cached step should cover both. I'd keep the check for all three libraries as a safety net, since the action reports success even when it installs nothing.

I'll rework the PR that way if that sounds OK to you.

@ScarletBytesDev ScarletBytesDev changed the title Fix: restore Linux CI dependency installation Fix: restore Linux CI dependency installation and fix Nuget caching Nov 10, 2026
@ScarletBytesDev
ScarletBytesDev self-requested a review November 10, 2026 13:58
@ScarletBytesDev ScarletBytesDev self-assigned this Nov 10, 2026
@ScarletBytesDev ScarletBytesDev added this to the v1.0.0 milestone Nov 10, 2026
@ScarletBytesDev ScarletBytesDev changed the title Fix: restore Linux CI dependency installation and fix Nuget caching Fix: restore Linux CI dependency installation Nov 10, 2026
@ScarletBytesDev

Copy link
Copy Markdown
Member

I'll leave the nuget caching issue for another day, as it is a bit too difficult to setup in a project like this on a whim

@github-actions

Copy link
Copy Markdown
Contributor

📊 Code Coverage Report

Language Coverage Delta Trend
TypeScript 94.1% 0.0% ➡️ unchanged
C# 71.9% 0.0% ➡️ unchanged
Python 87.2% 0.0% ➡️ unchanged

C# Project Breakdown

Project Coverage Lines Covered
InfiniFrame.Security 100.0% 500 500
InfiniFrame.Blazor 92.8% 460 427
InfiniFrame.Shared 90.5% 5456 4940
InfiniFrame.Js 86.4% 1440 1244
InfiniFrame.WebServer 85.9% 368 316
InfiniFrame.StaticAssets 77.2% 508 392
InfiniFrame.Application 73.3% 1912 1402
InfiniFrame.Window 70.1% 25516 17875
InfiniFrame.NativeBridge 64.5% 10484 6758
InfiniFrame.BlazorWebView 63.7% 3472 2212
InfiniFrame.SingleFile 60.7% 364 221

@ScarletBytesDev
ScarletBytesDev merged commit 35041b4 into InfiniLore:core Nov 10, 2026
45 checks passed
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.

Bug: Current CICD pipeline is broken due to missing dependencies

2 participants