Build windows (Win-latest) #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |