Skip to content

chore: Bump ReactiveUI.Avalonia from 12.0.3 to 12.1.1 #2426

chore: Bump ReactiveUI.Avalonia from 12.0.3 to 12.1.1

chore: Bump ReactiveUI.Avalonia from 12.0.3 to 12.1.1 #2426

Workflow file for this run

name: CI
on:
pull_request:
# Skip markdown-only PRs, EXCEPT under kcap/ — every file in the shipped plugin is a SKILL.md, so
# adding a skill is a markdown-only change. Ignoring those let two skills ship unlisted in
# AgentsSkillsInstaller.SourceNames without a red build; the guard that now catches it only helps
# if it runs on the PR that causes it. Order matters: later patterns re-include.
paths:
- '**'
- '!**.md'
- 'kcap/**'
push:
branches: [main]
paths-ignore:
- '**.md'
tags:
- 'v*'
jobs:
build-and-test:
name: Build and test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# linux-x64 + windows-x64. macOS is NOT in this matrix: the unit suite has
# a known cluster of macOS-local temp-path/parallel-load flakes that would
# make a macOS leg permanently red. macOS arm64 is covered by maintainer
# runs; macOS x64 is intentionally untested. Platform-sensitive daemon
# behavior that must hold everywhere (e.g. the borrowed-review capability
# advertisement, which no longer carries any OS/arch precondition) is
# additionally pinned by host-independent source guards in the unit suite —
# see DaemonRunnerCursorAvailabilityTests' platform coverage matrix.
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v7
- name: Setup .NET
uses: actions/setup-dotnet@v6
with:
cache: true
# No lock file to key on; CPM makes this the one file that pins every version.
cache-dependency-path: Directory.Packages.props
# Whole solution in every cached job: one OS-keyed immutable entry, so a job that
# restored a subset would win the race and freeze the cache on it.
- name: Restore solution
run: dotnet restore Capacitor.slnx
- name: Build solution
run: dotnet build Capacitor.slnx --no-restore
- name: Run npm wrapper tests
# Plain-Node assertion scripts for the npm launcher/refresh/resolve
# modules (no test framework, no npm install). `shell: bash` gives
# fail-fast -e semantics on both matrix legs.
shell: bash
run: |
node npm/kcap/bin/kcap.test.js
node npm/kcap/bin/resolve.test.js
node npm/kcap/bin/refresh.test.js
- name: Run tests
# --max-parallel-test-modules 1 runs one assembly at a time. TEMPORARY: the suites
# share process-global state through the filesystem (KCAP_CONFIG_DIR, temp roots),
# which no in-assembly [NotInParallel] key can serialise across assemblies. Re-enable
# module parallelism once those sharing points are gone.
# --maximum-parallel-tests 1 caps only TUnit's unkeyed bucket — keyed
# [NotInParallel] tests still run concurrently with disjoint-key classes, so
# anything touching process-global state must hold the SAME key as every other
# toucher. Local dev runs stay parallel; both flags live only in CI.
run: dotnet test --solution Capacitor.slnx --no-build --max-parallel-test-modules 1 -- --maximum-parallel-tests 1
lint-linear-ids:
name: No Linear issue IDs in C# source
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Check for Linear issue ID tokens in src/**/*.cs and test/**/*.cs
run: bash scripts/check-linear-ids.sh
aot-check:
name: AOT publish check
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project:
- src/Capacitor.Cli/Capacitor.Cli.csproj
- src/Capacitor.Cli.Daemon/Capacitor.Cli.Daemon.csproj
steps:
- uses: actions/checkout@v7
- name: Setup .NET
uses: actions/setup-dotnet@v6
with:
cache: true
# No lock file to key on; CPM makes this the one file that pins every version.
cache-dependency-path: Directory.Packages.props
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install -y clang zlib1g-dev
# Whole solution, and the RID pulls ILCompiler — a superset of build-and-test's set.
- name: Restore solution
run: dotnet restore Capacitor.slnx -r linux-x64
- name: Publish AOT (linux-x64)
run: dotnet publish ${{ matrix.project }} -c Release -r linux-x64 --no-restore
- name: Check for trimming warnings
run: |
OUTPUT=$(dotnet publish ${{ matrix.project }} -c Release -r linux-x64 --no-restore 2>&1)
if echo "$OUTPUT" | grep -E 'IL[23][01][0-9]{2}'; then
echo "::error::AOT/trimming warnings detected"
echo "$OUTPUT" | grep -E 'IL[23][01][0-9]{2}'
exit 1
fi