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:
|
||||
- x86
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
cache:
|
||||
- ../windows-build
|
||||
|
||||
@ -11,15 +19,47 @@ skip_commits:
|
||||
- '**/*.txt'
|
||||
|
||||
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:
|
||||
- cmd: cd "Visual Studio Projects" & vcbuild /M%NUMBER_OF_PROCESSORS% /useenv /rebuild Simh.sln "Release|Win32"
|
||||
- ps: mkdir C:\projects\simh\PACKAGES
|
||||
- ps: $id_line = Select-String -Path 'C:\projects\simh\Visual Studio Projects\.git-commit-id.h' -Pattern 'SIM_GIT_COMMIT_ID'
|
||||
- ps: $id_name_pos = $id_line.line.IndexOf("SIM_GIT_COMMIT_ID")
|
||||
- ps: $id = $id_line.Line.SubString($id_name_pos + 18, 8)
|
||||
- ps: $datetime = Get-Date -Format "yyyy-mm-dd_hh-mm-ss"
|
||||
- ps: Compress-Archive -Path C:\projects\simh\BIN\NT\Win32-Release\*.exe -DestinationPath C:\projects\simh\PACKAGES\simh-4.0-Current--$datetime-$id.zip
|
||||
- cmd: |
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
cd "Visual Studio Projects" & vcbuild /M%NUMBER_OF_PROCESSORS% /useenv /rebuild Simh.sln "Release|Win32"
|
||||
- ps: |
|
||||
if ($isWindows) {
|
||||
cd ..
|
||||
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:
|
||||
- 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.)
|
||||
endif
|
||||
endif
|
||||
MAKEIT = @$(MAKE) -f $(MAKEFILE_LIST) TARGET="$@" DEPS="$^"
|
||||
MAKEIT = @+$(MAKE) -f $(MAKEFILE_LIST) TARGET="$@" DEPS="$^"
|
||||
|
||||
#
|
||||
# Emulator source files and compile time options
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user