-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstart.bat
More file actions
64 lines (49 loc) · 1.83 KB
/
Copy pathstart.bat
File metadata and controls
64 lines (49 loc) · 1.83 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
@echo off
setlocal enabledelayedexpansion
set REPO=KrishnaSSH/autobumper
set DIR=bin
set FILE=%DIR%\autobumper.exe
set SUM=%DIR%\checksums.txt
set VERFILE=%DIR%\version.txt
if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" set ARCH=amd64
if /i "%PROCESSOR_ARCHITECTURE%"=="ARM64" set ARCH=arm64
if /i "%PROCESSOR_ARCHITECTURE%"=="x86" set ARCH=386
if not exist %DIR% mkdir %DIR%
echo fetching latest release...
for /f "delims=" %%i in ('powershell -Command "(Invoke-RestMethod https://api.github.com/repos/%REPO%/releases/latest).tag_name"') do set LATEST=%%i
set CURRENT=
if exist %VERFILE% set /p CURRENT=<%VERFILE%
echo current: %CURRENT%
echo latest: %LATEST%
if "%CURRENT%"=="%LATEST%" if exist %FILE% (
echo already up to date
%FILE%
exit /b 0
)
set ARCHIVE=autobumper-windows-%ARCH%-%LATEST%.tar.gz
set TMP_ARCHIVE=%DIR%\%ARCHIVE%
set URL=https://github.com/%REPO%/releases/download/%LATEST%/%ARCHIVE%
echo downloading files...
powershell -Command "Invoke-WebRequest https://github.com/%REPO%/releases/download/%LATEST%/checksums.txt -OutFile %SUM%"
powershell -Command "Invoke-WebRequest '%URL%' -OutFile '%TMP_ARCHIVE%'"
for /f "tokens=1,2" %%a in (%SUM%) do (
echo %%b | findstr /i "%ARCHIVE%" >nul
if !errorlevel! == 0 set EXPECTED=%%a
)
for /f %%h in ('powershell -Command "Get-FileHash '%TMP_ARCHIVE%' -Algorithm SHA256 | Select-Object -ExpandProperty Hash"') do set ACTUAL=%%h
echo expected: %EXPECTED%
echo actual: %ACTUAL%
if /i not "%EXPECTED%"=="%ACTUAL%" (
echo checksum failed
del "%TMP_ARCHIVE%"
exit /b 1
)
powershell -Command "tar -xzf '%TMP_ARCHIVE%' -C '%DIR%'"
del "%TMP_ARCHIVE%"
for /f "delims=" %%f in ('powershell -Command "Get-ChildItem %DIR%\autobumper-windows-%ARCH%*.exe | Select-Object -ExpandProperty Name"') do (
move /Y "%DIR%\%%f" "%FILE%" >nul
)
echo %LATEST% > %VERFILE%
echo running...
%FILE%
endlocal