Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Merge pull request #948 from softworkz/submit_extend_test_matrix#67

Merge pull request #948 from softworkz/submit_extend_test_matrix

Merge pull request #948 from softworkz/submit_extend_test_matrix #67

name:Tests
on:
push:
branches:[ develop, main ]
pull_request:
branches:[ develop, main ]
concurrency:
group:integration-tests-${{ github.ref }}
cancel-in-progress:true
jobs:
tests:
name:Integration Tests (${{ matrix.os }} / Electron ${{ matrix.electronVersion }})
runs-on:${{ matrix.os }}
strategy:
fail-fast:false
matrix:
os:[ubuntu-22.04, ubuntu-24.04, windows-2022, windows-2025, macos-14, macos-26]
electronVersion:['30.4.0', '38.2.2']
include:
-os:ubuntu-22.04
rid:linux-x64
-os:ubuntu-24.04
rid:linux-x64
-os:windows-2022
rid:win-x64
-os:windows-2025
rid:win-x64
-os:macos-14
rid:osx-arm64
-os:macos-26
rid:osx-arm64
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE:1
DOTNET_NOLOGO:1
CI:true
ELECTRON_ENABLE_LOGGING:1
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Setup .NET
uses:actions/setup-dotnet@v4
with:
dotnet-version:'10.0.x'
-name:Setup Node.js
uses:actions/setup-node@v4
with:
node-version:'22'
-name:Restore
run:dotnet restore -r ${{ matrix.rid }} -p:RuntimeIdentifier=${{ matrix.rid }} -p:ElectronVersion=${{ matrix.electronVersion }} src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj
-name:Build
run:dotnet build --no-restore -c Release -r ${{ matrix.rid }} -p:RuntimeIdentifier=${{ matrix.rid }} -p:ElectronVersion=${{ matrix.electronVersion }} src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj
-name:Install Linux GUI dependencies
if:runner.os == 'Linux'
run:|
set -e
sudo apt-get update
. /etc/os-release
if [ "$VERSION_ID" = "24.04" ]; then ALSA_PKG=libasound2t64; else ALSA_PKG=libasound2; fi
echo "Using ALSA package: $ALSA_PKG"
sudo apt-get install -y xvfb \
libgtk-3-0 libnss3 libgdk-pixbuf-2.0-0 libdrm2 libgbm1 libxss1 libxtst6 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libx11-xcb1 "$ALSA_PKG"
-name:Run tests (Linux)
if:runner.os == 'Linux'
continue-on-error:true
run:|
mkdir -p test-results
xvfb-run -a dotnet test src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj \
-c Release --no-build -r ${{ matrix.rid }} -p:RuntimeIdentifier=${{ matrix.rid }} -p:ElectronVersion=${{ matrix.electronVersion }} \
--logger "trx;LogFileName=${{ matrix.os }}-electron-${{ matrix.electronVersion }}.trx" \
--logger "console;verbosity=detailed" \
--results-directory test-results
-name:Run tests (Windows)
if:runner.os == 'Windows'
continue-on-error:true
run:|
New-Item -ItemType Directory -Force -Path test-results | Out-Null
dotnet test src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj -c Release --no-build -r ${{ matrix.rid }} -p:RuntimeIdentifier=${{ matrix.rid }} -p:ElectronVersion=${{ matrix.electronVersion }} --logger "trx;LogFileName=${{ matrix.os }}-electron-${{ matrix.electronVersion }}.trx" --logger "console;verbosity=detailed" --results-directory test-results
-name:Run tests (macOS)
if:runner.os == 'macOS'
continue-on-error:true
run:|
mkdir -p test-results
dotnet test src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj -c Release --no-build -r ${{ matrix.rid }} -p:RuntimeIdentifier=${{ matrix.rid }} -p:ElectronVersion=${{ matrix.electronVersion }} --logger "trx;LogFileName=${{ matrix.os }}-electron-${{ matrix.electronVersion }}.trx" --logger "console;verbosity=detailed" --results-directory test-results
-name:Upload raw test results
if:always()
uses:actions/upload-artifact@v4
with:
name:test-results-${{ matrix.os }}-electron-${{ matrix.electronVersion }}
path:test-results/*.trx
retention-days:7
summary:
name:Test Results
runs-on:ubuntu-24.04
if:always()
needs:[tests]
permissions:
actions:read
contents:read
checks:write
pull-requests:write
steps:
-name:Download all test results
uses:actions/download-artifact@v4
with:
path:test-results
-name:Setup .NET (for CTRF conversion)
uses:actions/setup-dotnet@v4
with:
dotnet-version:'10.0.x'
-name:Install CTRF TRX→CTRF converter (dotnet tool)
run:|
dotnet new tool-manifest
dotnet tool install DotnetCtrfJsonReporter --local
-name:Convert TRX → CTRF and clean names (filePath=OS|Electron X.Y.Z)
shell:bash
run:|
set -euo pipefail
mkdir -p ctrf
shopt -s globstar nullglob
conv=0
for trx in test-results/**/*.trx; do
base="$(basename "$trx" .trx)" # e.g. ubuntu-22.04-electron-30.4.0
os="${base%%-electron-*}"
electron="${base#*-electron-}"
label="$os|Electron $electron"
outdir="ctrf/${label}"
mkdir -p "$outdir"
out="${outdir}/ctrf-report.json"
dotnet tool run DotnetCtrfJsonReporter -p "$trx" -d "$outdir" -f "ctrf-report.json"
jq --arg fp "$label" '.results.tests |= map(.filePath = $fp)' "$out" > "${out}.tmp" && mv "${out}.tmp" "$out"
echo "Converted & normalized $trx -> $out"
conv=$((conv+1))
done
echo "Processed $conv TRX file(s)"
-name:Publish Test Report
if:always()
uses:ctrf-io/github-test-reporter@v1
with:
report-path:'ctrf/**/*.json'
summary:true
pull-request:false
status-check:false
status-check-name:'Integration Tests'
use-suite-name:true
update-comment:true
always-group-by:true
overwrite-comment:true
exit-on-fail:true
group-by:'suite'
upload-artifact:true
fetch-previous-results:true
summary-report:false
summary-delta-report:true
github-report:true
test-report:false
test-list-report:false
failed-report:true
failed-folded-report:false
skipped-report:true
suite-folded-report:true
suite-list-report:false
file-report:true
previous-results-report:true
insights-report:true
flaky-report:true
flaky-rate-report:true
fail-rate-report:false
slowest-report:false
report-order:'summary-delta-report,failed-report,skipped-report,suite-folded-report,file-report,previous-results-report,github-report'
env:
GITHUB_TOKEN:${{ github.token }}
-name:Save PR Number
if:github.event_name == 'pull_request'
run:echo "PR_NUMBER=${{ github.event.pull_request.number }}" >> $GITHUB_ENV
-name:Write PR Number to File
if:github.event_name == 'pull_request'
run:echo "$PR_NUMBER" > pr_number.txt
shell:bash
-name:Upload PR Number Artifact
if:github.event_name == 'pull_request'
uses:actions/upload-artifact@v4
with:
name:pr_number
path:pr_number.txt
-name:Summary
run:echo "All matrix test jobs completed."

[8]ページ先頭

©2009-2025 Movatter.jp