manual check of the latest version

- added manual checking of the latest version of Spotify using github actions
This commit is contained in:
amd64fox
2024-05-05 12:07:57 +03:00
parent 60f6b83e8a
commit a92a201108
2 changed files with 66 additions and 4 deletions

32
.github/workflows/check_spotx.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Check Spotx for the latest Spotify
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Spotx
shell: powershell
run: |
$jsonUrl = "https://raw.githubusercontent.com/amd64fox/LoaderSpot/main/versions.json"
$resp = Invoke-RestMethod -Uri $jsonUrl
# Get a link to the x86 installer for the first version
$firstVersion = $resp.PSObject.Properties.Name | Select-Object -First 1
$x86InstallerUrl = $resp.$firstVersion.links.win.x86
# Regex to find the desired part of the link
$regex = [regex]::Match($x86InstallerUrl, "spotify_installer-(.+?)\.exe")
$version = $regex.Groups[1].Value
# Incoming parameters
$parametrs = '-new_theme -v $version -dev -funnyprogressBar -homesub_off -sp-over -cache_limit 1000 -block_update_on -lyrics_stat spotify -urlform_goofy "https://docs.google.com/forms/formResponse" -idbox_goofy "9999999" -podcasts_off -adsections_off'
# Run Spotx
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1') } $parametrs"

38
run.ps1
View File

@@ -553,7 +553,38 @@ function DesktopFolder {
return $desktop_folder
}
taskkill /f /im Spotify.exe /t > $null 2>&1
function Kill-Spotify {
param (
[int]$maxAttempts = 5
)
for ($attempt = 1; $attempt -le $maxAttempts; $attempt++) {
$allProcesses = Get-Process -ErrorAction SilentlyContinue
$spotifyProcesses = $allProcesses | Where-Object { $_.ProcessName -like "*spotify*" }
if ($spotifyProcesses) {
foreach ($process in $spotifyProcesses) {
try {
Stop-Process -Id $process.Id -Force
}
catch {
# Ignore NoSuchProcess exception
}
}
Start-Sleep -Seconds 1
}
else {
break
}
}
if ($attempt -gt $maxAttempts) {
Write-Host "The maximum number of attempts to terminate a process has been reached."
}
}
Kill-Spotify
# Remove Spotify Windows Store If Any
if ($win10 -or $win11 -or $win8_1 -or $win8 -or $win12) {
@@ -822,7 +853,7 @@ if (-not $spotifyInstalled -or $upgrade_client) {
# Delete old version files of Spotify before installing, leave only profile files
$ErrorActionPreference = 'SilentlyContinue'
taskkill /f /im Spotify.exe /t > $null 2>&1
Kill-Spotify
Start-Sleep -Milliseconds 600
$null = Unlock-Folder
Start-Sleep -Milliseconds 200
@@ -839,8 +870,7 @@ if (-not $spotifyInstalled -or $upgrade_client) {
Start-Process -FilePath explorer.exe -ArgumentList $PWD\SpotifySetup.exe
while (-not (get-process | Where-Object { $_.ProcessName -eq 'SpotifySetup' })) {}
wait-process -name SpotifySetup
taskkill /f /im Spotify.exe /t > $null 2>&1
Kill-Spotify
# Upgrade check version Spotify offline
$offline = (Get-Item $spotifyExecutable).VersionInfo.FileVersion