-
Notifications
You must be signed in to change notification settings - Fork 1
86 lines (75 loc) · 3.12 KB
/
build-windows.yml
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: Build windows (Win-latest)
on:
workflow_dispatch:
branches: [ master ]
jobs:
build:
runs-on: windows-latest
name: Build on ${{ matrix.distro }} ${{ matrix.arch }}
steps:
- name: Find VS
shell: pwsh
run: |
$installationPath = Get-VSSetupInstance `
| Select-VSSetupInstance -Require Microsoft.VisualStudio.Workload.NativeDesktop -Latest `
| Select-Object -ExpandProperty InstallationPath
Write-Output "VSDEVCMD=${installationPath}\Common7\Tools\VsDevCmd.bat" `
| Out-File -FilePath "${Env:GITHUB_ENV}" -Append
cat "${Env:GITHUB_ENV}"
- name: Checkout code
uses: actions/checkout@v4
- name: Download pre-built OpenSSL
shell: pwsh
run: |
cd .\microemacs\3rdparty
Invoke-WebRequest https://download.firedaemon.com/FireDaemon-OpenSSL/openssl-3.0.14.zip -OutFile openssl.zip
Expand-Archive -Path .\openssl.zip -DestinationPath .
dir .
- name: Compile windows100 mec
shell: pwsh
run: |
& "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x86 -host_arch=x64 -no_logo && set" `
| % { , ($_ -Split '=', 2) } `
| % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) }
nmake -f winmsvc.mak BTYP=c
working-directory: ./microemacs/src
- name: Compile windows100 mew
shell: pwsh
run: |
& "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x86 -host_arch=x64 -no_logo && set" `
| % { , ($_ -Split '=', 2) } `
| % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) }
nmake -f winmsvc.mak BTYP=w
working-directory: ./microemacs/src
- name: Create windows100 bin download
shell: pwsh
run: |
mkdir -Path downloads
cd .\microemacs\bin
Remove-Item .gitignore
Rename-Item -Path windows100-intel32-msvc17 -NewName windows100-intel32
cd ..
$env:MEVER=$(.\bin\windows100-intel32\mec -p @contribs/ver.emf)
Compress-Archive -Path bin -DestinationPath ..\downloads\Jasspa_MicroEmacs_${env:MEVER}_windows100_bin
- name: Compile windows100 static mew
shell: pwsh
run: |
& "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x86 -host_arch=x64 -no_logo && set" `
| % { , ($_ -Split '=', 2) } `
| % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) }
nmake -f winmsvc.mak BTYP=w LSTT=1
working-directory: ./microemacs/src
- name: Create windows100 mews
shell: pwsh
run: |
cd .\microemacs
$env:MEVER=$(.\bin\windows100-intel32\mec -p @contribs/ver.emf)
cd .\mesingle
mkdir -Path bin/windows100-intel32
..\bin\windows100-intel32\mec.exe -p "@mesgen" -f -p ..\bin\windows100-intel32-msvc17s\mew.exe -t ..\bin\windows100-intel32\tfs.exe -o bin\windows100-intel32\mews.exe
Compress-Archive -Path bin -DestinationPath ..\..\downloads\Jasspa_MicroEmacs_${env:MEVER}_windows100_mews
- name: Upload Packages
uses: actions/upload-artifact@v4
with:
name: windows100-downloads
path: downloads