mirror of
https://github.com/simh/simh.git
synced 2026-01-11 23:52:58 +00:00
AppVeyor: Multi-Platform Parallel build with artifacts with no GitHub actions
This commit is contained in:
parent
183a3f926c
commit
329a0f815b
67
.github/workflows/build.yml
vendored
67
.github/workflows/build.yml
vendored
@ -1,67 +0,0 @@
|
|||||||
name: Build
|
|
||||||
|
|
||||||
on: [pull_request, push]
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
make-unix:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [macos-12, ubuntu-20.04]
|
|
||||||
simulators:
|
|
||||||
# These are supposed to match ALL in makefile.
|
|
||||||
# Each job builds ~15 simulators.
|
|
||||||
- 3b2 3b2-700 alpha altair altairz80 b5500 besm6 cdc1700 eclipse gri h316 hp2100 hp3000
|
|
||||||
- i1401 i1620 i650 i701 i7010 i704 i7070 i7080 i7090 i7094 ibm1130 id16 id32 vaxstation4000m60 vaxstation4000vlc
|
|
||||||
- imlac infoserver100 infoserver1000 infoserver150vxt intel-mds lgp microvax1 microvax2 microvax2000 microvax3100 microvax3100e
|
|
||||||
- microvax3100m80 microvax3900 nd100 nova pdp1 pdp10 pdp10-ka pdp10-ki pdp10-kl pdp10-ks pdp11 pdp15 pdp4 pdp6 pdp7
|
|
||||||
- pdp8 pdp9 pdq3 rtvax1000 s3 sage scelbi sds sel32 sigma ssem swtp6800mp-a swtp6800mp-a2 tt2500 tx-0 uc15
|
|
||||||
- vax vax730 vax750 vax780 vax8200 vax8600 vaxstation3100m30 vaxstation3100m38 vaxstation3100m76
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{runner.os == 'macOS'}}
|
|
||||||
run: sh -ex .travis/deps.sh osx
|
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{runner.os == 'Linux'}}
|
|
||||||
run: sh -ex .travis/deps.sh linux
|
|
||||||
- name: Build
|
|
||||||
env:
|
|
||||||
SIM: ${{matrix.simulators}}
|
|
||||||
run: make LTO=1 OPTIMIZE=-O3 $SIM
|
|
||||||
|
|
||||||
make-vs2022xp:
|
|
||||||
name: VS 2022 XP-compatible
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [windows-latest]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Install v141_xp (XP toolkit)
|
|
||||||
shell: powershell
|
|
||||||
run: |
|
|
||||||
$packageParams = @( "--productId", "Microsoft.VisualStudio.Product.Enterprise",
|
|
||||||
"--channelId", "VisualStudio.17.Release",
|
|
||||||
"--add", "Microsoft.VisualStudio.Component.VC.v141.x86.x64",
|
|
||||||
"--add", "Microsoft.VisualStudio.Component.WinXP",
|
|
||||||
"--no-includeRecommended",
|
|
||||||
"--includeOptional",
|
|
||||||
"--quiet",
|
|
||||||
"--locale en-US" ) -join " "
|
|
||||||
choco install visualstudio2022-workload-nativedesktop --package-parameters $packageParams
|
|
||||||
|
|
||||||
- name: vs2022-xp build and save XP runnable binaries in a Zip file
|
|
||||||
shell: cmd
|
|
||||||
run: '"Visual Studio Projects\build_simulators.cmd"'
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Save Artifact ${{ env.ZIPPATH }}
|
|
||||||
path: ${{ env.ZIPPATH }}
|
|
||||||
56
appveyor.yml
56
appveyor.yml
@ -1,6 +1,14 @@
|
|||||||
|
image:
|
||||||
|
- Visual Studio 2015
|
||||||
|
- Ubuntu2004
|
||||||
|
- macos-monterey
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
- x86
|
- x86
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- ../windows-build
|
- ../windows-build
|
||||||
|
|
||||||
@ -11,15 +19,47 @@ skip_commits:
|
|||||||
- '**/*.txt'
|
- '**/*.txt'
|
||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
"\"C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\vcvarsall.bat\""
|
- ps: |
|
||||||
|
$platform = uname -s
|
||||||
|
if ($platform -eq 'Linux') {
|
||||||
|
sudo apt-get update -yqqm
|
||||||
|
sudo apt-get install -ym gcc libpcap-dev libvdeplug-dev libpcre3-dev libedit-dev libsdl2-dev libpng-dev libsdl2-ttf-dev
|
||||||
|
} else {
|
||||||
|
if ($platform -eq 'Darwin') {
|
||||||
|
brew install vde pcre libedit sdl2 libpng zlib sdl2_ttf make
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- cmd: cd "Visual Studio Projects" & vcbuild /M%NUMBER_OF_PROCESSORS% /useenv /rebuild Simh.sln "Release|Win32"
|
- cmd: |
|
||||||
- ps: mkdir C:\projects\simh\PACKAGES
|
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||||
- ps: $id_line = Select-String -Path 'C:\projects\simh\Visual Studio Projects\.git-commit-id.h' -Pattern 'SIM_GIT_COMMIT_ID'
|
cd "Visual Studio Projects" & vcbuild /M%NUMBER_OF_PROCESSORS% /useenv /rebuild Simh.sln "Release|Win32"
|
||||||
- ps: $id_name_pos = $id_line.line.IndexOf("SIM_GIT_COMMIT_ID")
|
- ps: |
|
||||||
- ps: $id = $id_line.Line.SubString($id_name_pos + 18, 8)
|
if ($isWindows) {
|
||||||
- ps: $datetime = Get-Date -Format "yyyy-mm-dd_hh-mm-ss"
|
cd ..
|
||||||
- ps: Compress-Archive -Path C:\projects\simh\BIN\NT\Win32-Release\*.exe -DestinationPath C:\projects\simh\PACKAGES\simh-4.0-Current--$datetime-$id.zip
|
mkdir PACKAGES
|
||||||
|
$platform = 'Windows'
|
||||||
|
$id_line = Select-String -Path 'Visual Studio Projects\.git-commit-id.h' -Pattern 'SIM_GIT_COMMIT_ID'
|
||||||
|
$id_name_pos = $id_line.line.IndexOf("SIM_GIT_COMMIT_ID")
|
||||||
|
$id = $id_line.Line.SubString($id_name_pos + 18, 8)
|
||||||
|
$datetime = Get-Date -Format "yyyy-mm-dd_hh-mm-ss"
|
||||||
|
Compress-Archive -Path BIN\NT\Win32-Release\*.exe -DestinationPath PACKAGES\simh-4.0-Current-$platform-$datetime-$id.zip
|
||||||
|
} else {
|
||||||
|
$platform = uname -s
|
||||||
|
if ($platform -eq 'Linux') {
|
||||||
|
$ncpus = nproc
|
||||||
|
$parallel = '-j' + $ncpus
|
||||||
|
} else {
|
||||||
|
$platform = 'macOS'
|
||||||
|
}
|
||||||
|
make QUIET=1 $parallel
|
||||||
|
mkdir PACKAGES
|
||||||
|
$id_line = Select-String -Path '.git-commit-id' -Pattern 'SIM_GIT_COMMIT_ID'
|
||||||
|
$id_name_pos = $id_line.line.IndexOf("SIM_GIT_COMMIT_ID")
|
||||||
|
$id = $id_line.Line.SubString($id_name_pos + 18, 8)
|
||||||
|
$datetime = Get-Date -Format "yyyy-mm-dd_hh-mm-ss"
|
||||||
|
Compress-Archive -Path BIN/* -DestinationPath PACKAGES/simh-4.0-Current-$platform-$datetime-$id.zip
|
||||||
|
}
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
- path: PACKAGES\*.zip
|
- path: PACKAGES\*.zip
|
||||||
|
|||||||
2
makefile
2
makefile
@ -1579,7 +1579,7 @@ ifneq (,$(and $(findstring 3.,$(GNUMakeVERSION)),$(BUILD_SEPARATE)))
|
|||||||
$(error of GNU make. A GNU make version 4 or later is required.)
|
$(error of GNU make. A GNU make version 4 or later is required.)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
MAKEIT = @$(MAKE) -f $(MAKEFILE_LIST) TARGET="$@" DEPS="$^"
|
MAKEIT = @+$(MAKE) -f $(MAKEFILE_LIST) TARGET="$@" DEPS="$^"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Emulator source files and compile time options
|
# Emulator source files and compile time options
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user