Skip to content

Commit 1a17f8b

Browse files
committed
ci: prepare v1.5.0 release pipeline
1 parent b7ac502 commit 1a17f8b

10 files changed

Lines changed: 227 additions & 141 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @siddharthvaddem
1+
* @EtienneLescot

.github/workflows/build.yml

Lines changed: 153 additions & 100 deletions
Large diffs are not rendered by default.

.github/workflows/bump-nix-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jobs:
111111
- \`version\` → \`${VERSION}\`
112112
- \`npmDepsHash\` → \`${HASH}\` (computed via \`prefetch-npm-deps package-lock.json\`)
113113
114-
Merge this so Nix users (NixOS, Home Manager, \`nix run github:siddharthvaddem/openscreen\`) pick up the new release.
114+
Merge this so Nix users (NixOS, Home Manager, \`nix run github:${{ github.repository }}\`) pick up the new release.
115115
116116
> Note: PRs opened by \`GITHUB_TOKEN\` don't auto-trigger CI. The diff is two lines — review the change here, then merge. If you want CI to run, push an empty commit to this branch or close-and-reopen the PR.
117117
EOF

.github/workflows/publish-winget.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Publish release to WinGet
22

33
on:
44
release:
5-
types: [released]
5+
types: [published]
66
workflow_dispatch:
77
inputs:
88
tag:
@@ -13,14 +13,13 @@ on:
1313
jobs:
1414
publish:
1515
runs-on: windows-latest
16-
if: github.event_name == 'workflow_dispatch' || !github.event.release.prerelease
16+
if: (github.event_name == 'workflow_dispatch' || !github.event.release.prerelease) && vars.WINGET_IDENTIFIER != ''
1717
steps:
1818
- uses: vedantmgoyal9/winget-releaser@v2
1919
with:
20-
identifier: SiddharthVaddem.OpenScreen
21-
# Match the Windows installer asset attached to each release.
22-
# Today: "Openscreen.Setup.latest.exe". Adjust this regex if you
23-
# ever rename the installer to include a version (e.g. "Setup\.\d+\.\d+\.\d+\.exe").
20+
identifier: ${{ vars.WINGET_IDENTIFIER }}
21+
# Matches the Windows installer asset attached to each release,
22+
# e.g. "Openscreen.Setup.1.5.0.exe".
2423
installers-regex: 'Setup\..*\.exe$'
2524
release-tag: ${{ inputs.tag || github.event.release.tag_name }}
2625
token: ${{ secrets.WINGET_ACC_TOKEN }}

.github/workflows/update-homebrew-cask.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ permissions:
1616
jobs:
1717
update-cask:
1818
runs-on: ubuntu-latest
19-
if: github.event_name == 'workflow_dispatch' || !github.event.release.prerelease
19+
if: (github.event_name == 'workflow_dispatch' || !github.event.release.prerelease) && vars.HOMEBREW_TAP_OWNER != '' && vars.HOMEBREW_TAP_REPO != ''
2020
env:
21-
TAP_OWNER: siddharthvaddem
22-
TAP_REPO: homebrew-openscreen
23-
CASK_NAME: openscreen
21+
TAP_OWNER: ${{ vars.HOMEBREW_TAP_OWNER }}
22+
TAP_REPO: ${{ vars.HOMEBREW_TAP_REPO }}
23+
CASK_NAME: ${{ vars.HOMEBREW_CASK_NAME || 'openscreen' }}
2424
steps:
2525
- name: Resolve tag and version
2626
id: meta
@@ -143,10 +143,10 @@ jobs:
143143
144144
zap trash: [
145145
"~/Library/Application Support/Openscreen",
146-
"~/Library/Caches/com.siddharthvaddem.openscreen",
146+
"~/Library/Caches/com.etiennelescot.openscreen",
147147
"~/Library/Logs/Openscreen",
148-
"~/Library/Preferences/com.siddharthvaddem.openscreen.plist",
149-
"~/Library/Saved Application State/com.siddharthvaddem.openscreen.savedState",
148+
"~/Library/Preferences/com.etiennelescot.openscreen.plist",
149+
"~/Library/Saved Application State/com.etiennelescot.openscreen.savedState",
150150
]
151151
end
152152
EOF

README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ The goal of this continuation is to keep OpenScreen alive as a fully open-source
5454

5555
Download the latest installer for your platform from the [GitHub Releases](https://github.com/EtienneLescot/openscreen/releases) page.
5656

57-
> [!NOTE]
58-
> This fork is a continuation of the archived upstream project. Some package-manager distributions may still point to the original repository until the release pipeline is fully updated for this continuation.
59-
6057
### macOS
6158

6259
Download the `.dmg` installer directly from the [Releases page](https://github.com/EtienneLescot/openscreen/releases). If Gatekeeper blocks the app, you can bypass it by running the following command in your terminal after installation:

electron-builder.json5

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @see - https://www.electron.build/configuration/configuration
22
{
33
"$schema": "https://raw.githubusercontent.com/electron-userland/electron-builder/master/packages/app-builder-lib/scheme.json",
4-
"appId": "com.siddharthvaddem.openscreen",
4+
"appId": "com.etiennelescot.openscreen",
55
"asar": true,
66
// .node binaries can't be dlopen'd from inside an asar — must live unpacked.
77
"asarUnpack": [
@@ -74,24 +74,26 @@
7474
"NSCameraUseContinuityCameraDeviceType": true
7575
}
7676
},
77-
"linux": {
78-
"target": [
79-
"AppImage",
80-
"deb",
81-
"pacman"
82-
],
83-
"icon": "icons/icons/png",
84-
"artifactName": "${productName}-Linux-${version}.${ext}",
85-
"category": "AudioVideo"
86-
},
87-
"win": {
88-
"target": [
89-
"nsis"
90-
],
91-
"icon": "icons/icons/win/icon.ico",
92-
"extraResources": [
93-
{
94-
"from": "electron/native/bin",
77+
"linux": {
78+
"target": [
79+
"AppImage",
80+
"deb",
81+
"pacman"
82+
],
83+
"icon": "icons/icons/png",
84+
"artifactName": "${productName}-Linux-${version}.${ext}",
85+
"maintainer": "Etienne Lescot <etiennelescot@gmail.com>",
86+
"category": "AudioVideo"
87+
},
88+
"win": {
89+
"target": [
90+
"nsis"
91+
],
92+
"icon": "icons/icons/win/icon.ico",
93+
"artifactName": "${productName}.Setup.${version}.${ext}",
94+
"extraResources": [
95+
{
96+
"from": "electron/native/bin",
9597
"to": "electron/native/bin",
9698
"filter": ["win32-*/*"]
9799
}

electron/native/wgc-capture/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ target_compile_definitions(wgc-capture PRIVATE
3737
_WIN32_WINNT=0x0A00
3838
)
3939

40-
target_compile_options(wgc-capture PRIVATE /EHsc /W4 /utf-8 /await)
40+
target_compile_options(wgc-capture PRIVATE /EHsc /W4 /utf-8)
4141

4242
target_link_libraries(wgc-capture PRIVATE
4343
d3d11

package.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,15 @@
99
"npm": "10.9.4"
1010
},
1111
"author": {
12-
"name": "Sid",
13-
"email": "svaddem@asu.edu"
12+
"name": "Siddharth Vaddem",
13+
"url": "https://github.com/siddharthvaddem"
1414
},
15+
"maintainers": [
16+
{
17+
"name": "Etienne Lescot",
18+
"url": "https://github.com/EtienneLescot"
19+
}
20+
],
1521
"scripts": {
1622
"dev": "vite",
1723
"build": "tsc && vite build && electron-builder",

scripts/build-windows-wgc-helper.mjs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { spawn } from "node:child_process";
1+
import { spawn, spawnSync } from "node:child_process";
22
import fs from "node:fs";
33
import os from "node:os";
44
import path from "node:path";
@@ -18,8 +18,37 @@ function findVcVarsAll() {
1818
return explicit;
1919
}
2020

21+
const vswhere = "C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vswhere.exe";
22+
if (fs.existsSync(vswhere)) {
23+
const result = spawnSync(
24+
vswhere,
25+
[
26+
"-latest",
27+
"-products",
28+
"*",
29+
"-requires",
30+
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
31+
"-property",
32+
"installationPath",
33+
],
34+
{ encoding: "utf8", windowsHide: true },
35+
);
36+
const installPath = result.stdout?.trim();
37+
if (result.status === 0 && installPath) {
38+
const candidate = path.join(installPath, "VC", "Auxiliary", "Build", "vcvarsall.bat");
39+
if (fs.existsSync(candidate)) {
40+
return candidate;
41+
}
42+
}
43+
}
44+
2145
const roots = [
2246
process.env.VSINSTALLDIR,
47+
"C:\\Program Files\\Microsoft Visual Studio\\2026\\Community",
48+
"C:\\Program Files\\Microsoft Visual Studio\\2026\\Professional",
49+
"C:\\Program Files\\Microsoft Visual Studio\\2026\\Enterprise",
50+
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2026\\BuildTools",
51+
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2026\\Community",
2352
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community",
2453
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional",
2554
"C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise",

0 commit comments

Comments
 (0)