-
Notifications
You must be signed in to change notification settings - Fork 0
71 lines (56 loc) · 2.24 KB
/
run-ctt-remote.yml
File metadata and controls
71 lines (56 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
name: Run CTT-Remote
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
run-ctt-remote:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 24
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'npm'
- name: Setup .NET Framework 4.8
shell: powershell
run: |
# Check if .NET Framework 4.8 is already installed
$dotNetVersion = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' | Get-ItemPropertyValue -Name Release -ErrorAction SilentlyContinue
if ($dotNetVersion -ge 528040) {
Write-Host ".NET Framework 4.8 or later is already installed"
} else {
Write-Host "Installing .NET Framework 4.8..."
# Download .NET Framework 4.8 installer
$installerUrl = "https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe"
$installerPath = "$env:TEMP\ndp48-installer.exe"
Invoke-WebRequest -Uri $installerUrl -OutFile $installerPath
# Install silently
Start-Process -FilePath $installerPath -ArgumentList "/q", "/norestart" -Wait -NoNewWindow
Write-Host ".NET Framework 4.8 installation completed"
}
- name: Verify .NET Framework installation
shell: powershell
run: |
$dotNetVersion = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' | Get-ItemPropertyValue -Release -ErrorAction SilentlyContinue
Write-Host ".NET Framework version: $dotNetVersion"
if ($dotNetVersion -ge 528040) {
Write-Host ".NET Framework 4.8 or later is installed"
} else {
Write-Error ".NET Framework 4.8 is not installed"
exit 1
}
- name: Build Docker image for Z-Wave stack
run: docker-compose build
- name: Install npm dependencies
run: npm install
- name: Start all services (Docker + CTT-Remote + WebSocket server)
run: npm start
timeout-minutes: 60
- name: Stop Docker container
if: always()
run: docker-compose down