fix: stabilize Windows CI on Node 24
Windows CI / verify (push) Failing after 42s

This commit is contained in:
Sucukdeluxe
2026-08-12 13:19:51 +02:00
parent 49033f9ff2
commit 2cd8d97a20
11 changed files with 19 additions and 14 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22.13.0'
node-version: '24.11.1'
cache: npm
- name: Clean install
run: npm ci
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22.13.0'
node-version: '24.11.1'
cache: npm
- name: Clean install
run: npm ci
+5
View File
@@ -1,5 +1,10 @@
# Changelog
## 1.0.8 - 2026-08-12
- Updated the Windows CI runtime to Node.js 24.11.1, resolving the SQLite native-module crash that interrupted verification workers on Node.js 22.13.0.
- Corrected the file-capability test expectation for canonical Windows output paths, including 8.3 temporary-directory aliases.
## 1.0.7 - 2026-08-12
- Replaced versioned Windows Start menu shortcuts with one stable application entry, migrated legacy shortcuts during upgrades and refreshed the Windows Shell registration.
+1 -1
View File
@@ -61,7 +61,7 @@ The application works in public mode without a Twitch login. Connecting a Twitch
## Installation
1. Open the [latest GitHub release](https://github.com/Sucukdeluxe/Twitch-VOD-Manager/releases/latest).
2. Download `Twitch-VOD-Manager-Setup-1.0.7.exe`.
2. Download `Twitch-VOD-Manager-Setup-1.0.8.exe`.
3. Run the installer and choose the installation directory.
4. Start Twitch VOD Manager and add a streamer.
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "twitch-vod-manager",
"version": "1.0.7",
"version": "1.0.8",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "twitch-vod-manager",
"version": "1.0.7",
"version": "1.0.8",
"license": "MIT",
"dependencies": {
"axios": "^1.16.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twitch-vod-manager",
"version": "1.0.7",
"version": "1.0.8",
"description": "Twitch VOD Manager - Download Twitch VODs easily",
"main": "dist/main.js",
"author": "Sucukdeluxe",
+1 -1
View File
@@ -93,7 +93,7 @@ if (process.platform === 'win32') {
sourcePath: electronSourceExecutable,
destinationPath: resolve(rootDirectory, 'node_modules', 'electron', 'dist', 'Twitch VOD Manager.exe'),
iconPath: resolve(rootDirectory, 'build', 'icon.ico'),
version: '1.0.7',
version: '1.0.8',
});
}
+1 -1
View File
@@ -48,7 +48,7 @@ for (const relativePath of ['.github/workflows/windows-ci.yml', '.gitea/workflow
];
check(/runs-on:\s*windows-latest/.test(source), `${relativePath} does not use a Windows runner`);
check(/node-version:\s*['"]?22\.13\.0['"]?/.test(source), `${relativePath} does not pin Node 22.13.0`);
check(/node-version:\s*['"]?24\.11\.1['"]?/.test(source), `${relativePath} does not pin Node 24.11.1`);
for (const command of requiredCommands) {
check(source.includes(`run: ${command}`), `${relativePath} is missing ${command}`);
}
+4 -4
View File
@@ -15,9 +15,9 @@ function check(condition, message) {
if (!condition) failures.push(message);
}
check(packageJson.version === '1.0.7', `package version is ${packageJson.version}`);
check(packageLock.version === '1.0.7', `lockfile version is ${packageLock.version}`);
check(packageLock.packages?.['']?.version === '1.0.7', `lockfile root package version is ${packageLock.packages?.['']?.version}`);
check(packageJson.version === '1.0.8', `package version is ${packageJson.version}`);
check(packageLock.version === '1.0.8', `lockfile version is ${packageLock.version}`);
check(packageLock.packages?.['']?.version === '1.0.8', `lockfile root package version is ${packageLock.packages?.['']?.version}`);
check(packageJson.build?.appId === 'io.github.sucukdeluxe.twitch-vod-manager', `appId is ${packageJson.build?.appId}`);
check(packageJson.build?.publish?.provider === 'generic', `publish provider is ${packageJson.build?.publish?.provider}`);
check(packageJson.build?.publish?.url === 'https://github.com/Sucukdeluxe/Twitch-VOD-Manager/releases/latest/download/', `publish URL is ${packageJson.build?.publish?.url}`);
@@ -62,7 +62,7 @@ check(mainSource.includes('GITHUB_RELEASES_DOWNLOAD_BASE_URL'), 'GitHub releases
check(mainSource.includes('https://api.github.com/repos/Sucukdeluxe/Twitch-VOD-Manager/releases/latest'), 'GitHub latest release API URL is missing');
check(mainSource.includes('https://github.com/Sucukdeluxe/Twitch-VOD-Manager/releases/download'), 'GitHub release download URL is missing');
check(!/storyboards\/\d{8,12}(?:-|\/)/.test(mainSource), 'numeric Twitch VOD example remains in the public source');
check(indexSource.includes('Version: v1.0.7'), 'initial version label is not 1.0.7');
check(indexSource.includes('Version: v1.0.8'), 'initial version label is not 1.0.8');
check(!indexSource.includes('Version: v4.1.13'), 'legacy version label is still present');
check(fs.existsSync(manifestPath), 'public release manifest is missing');
+1 -1
View File
@@ -940,7 +940,7 @@
<div class="settings-card" data-settings-pane="updates" hidden>
<h3 id="updateTitle">Updates</h3>
<p id="versionInfo" class="card-intro">Version: v1.0.7</p>
<p id="versionInfo" class="card-intro">Version: v1.0.8</p>
<button type="button" class="btn-secondary" id="checkUpdateBtn" onclick="checkUpdate()">Nach Updates suchen</button>
</div>
+1 -1
View File
@@ -92,7 +92,7 @@ describe('file capability boundary', () => {
expect(() => store.issue({ ownerId: 3, purpose: 'merge-output', path: directoryTarget, kind: 'output-file', extensions: ['mp4'] })).toThrow('Output target is not a file');
const output = store.issue({ ownerId: 3, purpose: 'merge-output', path: fixture.output, kind: 'output-file', extensions: ['mp4'] });
expect(store.consume(output.token, 3, 'merge-output')).toBe(fixture.output);
expect(store.consume(output.token, 3, 'merge-output')).toBe(join(realpathSync.native(fixture.directory), 'result.mp4'));
});
it('rejects an output capability that aliases a protected input', () => {