mirror of
https://github.com/Neo-Desktop/WindowsXPKg
synced 2025-09-08 02:40:59 +03:00
Compare commits
2 Commits
master
...
972eef88b6
Author | SHA1 | Date | |
---|---|---|---|
|
972eef88b6 | ||
|
3d94685209 |
118
.github/workflows/dos-djgpp.yml
vendored
118
.github/workflows/dos-djgpp.yml
vendored
@@ -188,121 +188,3 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: UMSKT-DOS-x86
|
name: UMSKT-DOS-x86
|
||||||
path: build/actions_upload
|
path: build/actions_upload
|
||||||
compress:
|
|
||||||
needs: build
|
|
||||||
if: success()
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
steps:
|
|
||||||
- name: Setup test environment
|
|
||||||
run: |
|
|
||||||
sudo apt -y update
|
|
||||||
sudo apt -y install dosbox
|
|
||||||
|
|
||||||
- name: Download artifact
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: UMSKT-DOS-x86
|
|
||||||
path: .
|
|
||||||
|
|
||||||
- name: Install UPX
|
|
||||||
uses: crazy-max/ghaction-upx@v3
|
|
||||||
with:
|
|
||||||
install-only: true
|
|
||||||
|
|
||||||
- name: Compress binary
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
upx umskt.exe --best --ultra-brute -v
|
|
||||||
|
|
||||||
- name: Setup DOSBox test environment
|
|
||||||
run: |
|
|
||||||
mkdir -p dosbox_test
|
|
||||||
cp umskt.exe dosbox_test/
|
|
||||||
# Download DPMI server directly
|
|
||||||
# wget https://github.com/UMSKT/winactiontest/raw/refs/heads/main/CWSDPMI.EXE -O dosbox_test/CWSDPMI.EXE
|
|
||||||
# Create test batch file
|
|
||||||
cat > dosbox_test/test.bat << EOL
|
|
||||||
@echo off
|
|
||||||
echo Running test 1...
|
|
||||||
umskt.exe -b 2C -c 365 -s 069420 > TEST1.TXT
|
|
||||||
if errorlevel 1 goto error
|
|
||||||
echo Running test 2...
|
|
||||||
umskt.exe -i 253286028742154311079061239762245184619981623171292574 > TEST2.TXT
|
|
||||||
if errorlevel 1 goto error
|
|
||||||
echo Tests completed > DONE.TXT
|
|
||||||
goto end
|
|
||||||
:error
|
|
||||||
echo Test failed > ERROR.TXT
|
|
||||||
:end
|
|
||||||
exit
|
|
||||||
EOL
|
|
||||||
# Create DOSBox configuration
|
|
||||||
cat > dosbox_test/dosbox.conf << EOL
|
|
||||||
[sdl]
|
|
||||||
nosound=true
|
|
||||||
[cpu]
|
|
||||||
cputype=386
|
|
||||||
core=dynamic
|
|
||||||
cycles=max
|
|
||||||
[autoexec]
|
|
||||||
mount c .
|
|
||||||
c:
|
|
||||||
test.bat
|
|
||||||
exit
|
|
||||||
EOL
|
|
||||||
|
|
||||||
- name: Run tests in DOSBox
|
|
||||||
|
|
||||||
run: |
|
|
||||||
cd dosbox_test
|
|
||||||
timeout 30s dosbox -conf dosbox.conf -nogui -exit
|
|
||||||
# Check if the test completed successfully
|
|
||||||
if [ ! -f DONE.TXT ]; then
|
|
||||||
echo "Tests did not complete successfully"
|
|
||||||
if [ -f ERROR.TXT ]; then
|
|
||||||
echo "Test execution failed"
|
|
||||||
fi
|
|
||||||
if [ -f TEST1.TXT ]; then
|
|
||||||
echo "Test 1 output:"
|
|
||||||
cat TEST1.TXT
|
|
||||||
fi
|
|
||||||
if [ -f TEST2.TXT ]; then
|
|
||||||
echo "Test 2 output:"
|
|
||||||
cat TEST2.TXT
|
|
||||||
fi
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# Verify test outputs
|
|
||||||
if [ ! -f TEST1.TXT ] || [ ! -f TEST2.TXT ]; then
|
|
||||||
echo "Test output files missing"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# Check test results - looking for key format patterns
|
|
||||||
if ! grep -qE '[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}' TEST1.TXT || \
|
|
||||||
! grep -qE '[0-9]{6}-[0-9]{6}-[0-9]{6}-[0-9]{6}-[0-9]{6}-[0-9]{6}-[0-9]{6}' TEST2.TXT; then
|
|
||||||
echo "Tests failed - unexpected output format"
|
|
||||||
echo "Test 1 output:"
|
|
||||||
cat TEST1.TXT
|
|
||||||
echo "Test 2 output:"
|
|
||||||
cat TEST2.TXT
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "All tests passed successfully"
|
|
||||||
echo "Test 1 output:"
|
|
||||||
cat TEST1.TXT
|
|
||||||
echo "Test 2 output:"
|
|
||||||
cat TEST2.TXT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Move executable to upload directory
|
|
||||||
run: |
|
|
||||||
mkdir actions_upload
|
|
||||||
mv umskt.exe actions_upload/
|
|
||||||
|
|
||||||
- name: Upload build artifact
|
|
||||||
uses: actions/upload-artifact@v4.6.2
|
|
||||||
with:
|
|
||||||
name: UMSKT-DOS-x86-Compressed
|
|
||||||
path: actions_upload
|
|
||||||
|
79
.github/workflows/windows-x86-x64.yml
vendored
79
.github/workflows/windows-x86-x64.yml
vendored
@@ -98,9 +98,9 @@ jobs:
|
|||||||
cd openssl-1.1.1
|
cd openssl-1.1.1
|
||||||
|
|
||||||
if [[ ${{ matrix.arch }} == "x86" ]]; then
|
if [[ ${{ matrix.arch }} == "x86" ]]; then
|
||||||
/usr/bin/perl Configure mingw --prefix=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-${{ matrix.arch }} --openssldir=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-32 no-tests no-sse2 no-asm no-threads -DOPENSSL_DEV_NO_ATOMICS -mno-mmx -mno-sse -mno-sse2 -march=i686 -mtune=generic -Os -s -fno-exceptions -fno-rtti -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -fno-stack-protector
|
/usr/bin/perl Configure mingw --prefix=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-${{ matrix.arch }} --openssldir=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-32 no-tests no-sse2 no-asm no-threads -DOPENSSL_DEV_NO_ATOMICS -mno-mmx -mno-sse -mno-sse2 -march=i686 -mtune=generic
|
||||||
else
|
else
|
||||||
/usr/bin/perl Configure mingw64 --prefix=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-${{ matrix.arch }} --openssldir=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-64 no-tests no-asm -DOPENSSL_DEV_NO_ATOMICS -mno-mmx -Os -s -fno-exceptions -fno-rtti -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -fno-stack-protector
|
/usr/bin/perl Configure mingw64 --prefix=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-${{ matrix.arch }} --openssldir=$(cygpath -u "$GITHUB_WORKSPACE")/OpenSSL-TDM-64 no-tests no-asm -DOPENSSL_DEV_NO_ATOMICS -mno-mmx
|
||||||
fi
|
fi
|
||||||
mingw32-make -j
|
mingw32-make -j
|
||||||
mingw32-make install_sw
|
mingw32-make install_sw
|
||||||
@@ -158,78 +158,3 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: UMSKT-WinNT-${{ matrix.arch }}
|
name: UMSKT-WinNT-${{ matrix.arch }}
|
||||||
path: umskt.exe
|
path: umskt.exe
|
||||||
|
|
||||||
compress:
|
|
||||||
needs: build
|
|
||||||
if: success()
|
|
||||||
runs-on: windows-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- arch: x86
|
|
||||||
- arch: x64
|
|
||||||
steps:
|
|
||||||
- name: Setup TDM-GCC
|
|
||||||
run: |
|
|
||||||
Write-Host Downloading TDM-GCC v10.3.0...
|
|
||||||
Invoke-WebRequest -Uri 'https://github.com/jmeubank/tdm-gcc/releases/download/v10.3.0-tdm64-2/tdm64-gcc-10.3.0-2.exe' -OutFile 'C:\Windows\temp\TDM-GCC-64.exe'
|
|
||||||
Write-Host Creating directory...
|
|
||||||
New-Item -ItemType Directory -Path 'C:\TDM-GCC-64'
|
|
||||||
Write-Host Copying files [Set 1/3]...
|
|
||||||
Start-Process '7z' -ArgumentList 'e C:\Windows\temp\TDM-GCC-64.exe -oC:\TDM-GCC-64 -y' -Wait
|
|
||||||
Write-Host Copying files [Set 2/3]...
|
|
||||||
Start-Process '7z' -ArgumentList 'e C:\TDM-GCC-64\*.tar.xz -oC:\TDM-GCC-64 -y' -Wait
|
|
||||||
Write-Host Copying files [Set 3/3]...
|
|
||||||
Start-Process '7z' -ArgumentList 'x C:\TDM-GCC-64\*.tar -oC:\TDM-GCC-64 -y' -Wait
|
|
||||||
Write-Host Adding environment variables...
|
|
||||||
$env:PATH = 'C:\TDM-GCC-64\bin;' + $env:PATH
|
|
||||||
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine)
|
|
||||||
|
|
||||||
- name: Setup UPX
|
|
||||||
run: |
|
|
||||||
Invoke-WebRequest -Uri 'https://github.com/upx/upx/releases/download/v5.0.2/upx-5.0.2-win64.zip' -OutFile 'C:\Windows\temp\upx.zip'
|
|
||||||
Write-Host Creating directory...
|
|
||||||
New-Item -ItemType Directory -Path 'C:\UPX'
|
|
||||||
Write-Host Copying files...
|
|
||||||
Expand-Archive -Path 'C:\Windows\temp\upx.zip' -DestinationPath 'C:\UPX'
|
|
||||||
Write-Host Adding environment variables...
|
|
||||||
$env:PATH = 'C:\UPX\upx-5.0.2-win64;' + $env:PATH
|
|
||||||
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine)
|
|
||||||
|
|
||||||
- name: Download ${{matrix.arch}} artifact
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: UMSKT-WinNT-${{ matrix.arch }}
|
|
||||||
path: .
|
|
||||||
- name: Compress binaries
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
# Strip symbols
|
|
||||||
strip .\umskt.exe
|
|
||||||
|
|
||||||
# Remove resources
|
|
||||||
llvm-objcopy --remove-section .rsrc umskt.exe umskt_comp.exe
|
|
||||||
|
|
||||||
# Compress with UPX
|
|
||||||
& "C:\UPX\upx-5.0.2-win64\upx.exe" --best --ultra-brute .\umskt_comp.exe
|
|
||||||
|
|
||||||
# Replace original EXE
|
|
||||||
Remove-Item .\umskt.exe
|
|
||||||
Rename-Item -Path .\umskt_comp.exe -NewName umskt.exe
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
shell: pwsh
|
|
||||||
run: |
|
|
||||||
Write-Host Test 1 - generating key
|
|
||||||
.\umskt.exe -b 2C -c 365 -s 069420 -v
|
|
||||||
Write-Host Test 2 - generatng confid
|
|
||||||
.\umskt.exe -i 253286028742154311079061239762245184619981623171292574
|
|
||||||
|
|
||||||
- name: Upload build artifact
|
|
||||||
uses: actions/upload-artifact@v4.6.2
|
|
||||||
with:
|
|
||||||
name: UMSKT-WinNT-${{ matrix.arch }}-Compressed
|
|
||||||
path: umskt.exe
|
|
||||||
|
Reference in New Issue
Block a user