mirror of
https://github.com/simh/simh.git
synced 2026-01-11 23:52:58 +00:00
153 lines
7.0 KiB
YAML
153 lines
7.0 KiB
YAML
image:
|
|
- macos-bigsur
|
|
- Ubuntu1604
|
|
- Visual Studio 2015
|
|
|
|
platform:
|
|
- x86
|
|
|
|
environment:
|
|
access_token:
|
|
secure: Me2UWjTL1G91AfTT9ruasivTMxtSO0SZbv3wIFRS2RygMiZhU8r9sSQ3a9QB7h70wnl2W2Cv8o1v0Z2hONpltyxKxlSP4OqXeIIIx0ssRMgg8rkm2qlDWcCzZur3tM4v
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
|
|
cache:
|
|
- ../windows-build
|
|
|
|
skip_commits:
|
|
files:
|
|
- doc/*
|
|
- '**/*.md'
|
|
- '**/*.txt'
|
|
|
|
before_build:
|
|
- ps: |
|
|
Write-Output "Building repo '$env:APPVEYOR_REPO_NAME' branch: $env:APPVEYOR_REPO_BRANCH"
|
|
$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') {
|
|
$env:HOMEBREW_NO_AUTO_UPDATE=1; brew install pcre libedit sdl2 libpng zlib sdl2_ttf make git-lfs
|
|
}
|
|
}
|
|
git lfs install
|
|
|
|
build_script:
|
|
- cmd: |
|
|
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
|
echo Building with %NUMBER_OF_PROCESSORS% processors
|
|
cd "Visual Studio Projects" & vcbuild /M%NUMBER_OF_PROCESSORS% /useenv /rebuild simh.sln "Release|Win32" & cd ..
|
|
- ps: |
|
|
if ($isWindows) {
|
|
$platform = 'Windows'
|
|
$arch = 'Win32'
|
|
$commit_id_file = 'Visual Studio Projects\.git-commit-id.h'
|
|
} else {
|
|
$platform = uname -s
|
|
$arch = arch
|
|
if ($platform -eq 'Linux') {
|
|
$ncpus = nproc
|
|
$parallel = '-j' + $ncpus
|
|
Write-Host "Building with $ncpus processors"
|
|
} else {
|
|
$platform = 'macOS'
|
|
}
|
|
$commit_id_file = '.git-commit-id'
|
|
make QUIET=1 $parallel
|
|
}
|
|
|
|
on_success:
|
|
- ps: |
|
|
$id_line = Select-String -Path $commit_id_file -Pattern 'SIM_GIT_COMMIT_ID'
|
|
$id = $id_line.Line.SubString($id_line.line.IndexOf("SIM_GIT_COMMIT_ID") + 18, 8)
|
|
$datetime = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
|
|
$version_major = (Select-String -Path 'sim_rev.h' -Pattern '#define\s+SIM_MAJOR\s+(\d+)').Matches.Groups[1].Value
|
|
$version_minor = (Select-String -Path 'sim_rev.h' -Pattern '#define\s+SIM_MINOR\s+(\d+)').Matches.Groups[1].Value
|
|
$version_mode = (Select-String -Path 'sim_rev.h' -Pattern '#define\s+SIM_VERSION_MODE\s+"(.+?)"').Matches.Groups[1].Value
|
|
- git config --global credential.helper store
|
|
- ps: Set-Content -Path "$HOME\.git-credentials" -Value "https://$($env:access_token):x-oauth-basic@github.com`n" -NoNewline
|
|
- git config --global credential.helper store
|
|
- git config --global user.email "mark@infocomm.com"
|
|
- git config --global user.name "Mark Pizzolato"
|
|
- git config --global core.autocrlf false
|
|
# Linux & macOS use the shell to address this, Windows uses cmd. Powershell on Windows doesn't like git output to stderr
|
|
# - sh: |
|
|
# if test -d ../Development-Binaries
|
|
# then
|
|
# pushd ../Development-Binaries
|
|
# git pull origin master
|
|
# popd
|
|
# else
|
|
# pushd ..
|
|
# git clone -q "https://github.com/simh/Development-Binaries" Development-Binaries
|
|
# popd
|
|
# fi
|
|
# - cmd: |
|
|
# if NOT EXIST ..\Development-Binaries pushd .. & git clone -q "https://github.com/simh/Development-Binaries" Development-Binaries & popd
|
|
# pushd ..\Development-Binaries & git pull origin master & popd
|
|
# - ps: |
|
|
# cd ../Development-Binaries
|
|
# $pkg_filename = "simh-$datetime-$platform-$arch-$version_major.$version_minor-$version_mode-$id"
|
|
# if ($isWindows) {
|
|
# $pkg_filename = $pkg_filename + '.zip'
|
|
# Compress-Archive -Path $env:APPVEYOR_BUILD_FOLDER\BIN\NT\Win32-Release\*.exe -DestinationPath "$pkg_filename"
|
|
# } else {
|
|
# $pkg_filename = $pkg_filename + '.tgz'
|
|
# pushd $env:APPVEYOR_BUILD_FOLDER/BIN
|
|
# tar -cvzf ../../Development-Binaries/$pkg_filename --exclude=buildtools --exclude=NT '--exclude=*-build' *
|
|
# popd
|
|
# }
|
|
# "$platform Build results for simh Commit: https://github.com/simh/simh/commit/$id" | Out-File -FilePath ../pkg_commit_message -Encoding Ascii
|
|
# (Get-Content README.md) -replace ('(\['+$platform+' is here\]\(https\:\/\/github\.com\/simh\/Development-Binaries\/blob\/master\/)([a-zA-Z0-9._-]+)(.+\.)'),('$1'+$pkg_filename+'$3') | Out-File -FilePath README.md -Encoding Ascii
|
|
# $recent_saved_commit = git log -1 --grep="$platform Build" --pretty=format:%H
|
|
# $recent_saved_commit_time = git log -1 --pretty="%at" $recent_saved_commit
|
|
# $oneweek=$((60 * 60 * 24 * 7))
|
|
# # Only update the https://github.com/simh/DevelopmentBinaries repository
|
|
# # during CI/CD processing of direct commits pushed to the
|
|
# # https://github.com/simh/simh repository (i.e. don't update the
|
|
# # DevelopmentBinaries when CI/CD actions are being done on external
|
|
# # pull requests.
|
|
# # Additionally, only update the https://github.com/simh/DevelopmentBinaries
|
|
# # repository if the current build for this platform is one week or more
|
|
# # from the last saved build for this platform in the repository
|
|
# if (((Get-Date -UFormat %s) -gt $recent_saved_commit_time + $oneweek) -and
|
|
# ("$env:APPVEYOR_PULL_REQUEST_NUMBER" -eq "") -and 0) {
|
|
# ("$platform Build") | Out-File -FilePath ../Save-Build-Results
|
|
# }
|
|
# Write-Output "Building repo '$env:APPVEYOR_REPO_NAME' branch: $env:APPVEYOR_REPO_BRANCH"
|
|
# if ("$env:APPVEYOR_PULL_REQUEST_NUMBER" -ne "") {
|
|
# Write-Output "Skipping Saving binaries for pull request $env:APPVEYOR_PULL_REQUEST_NUMBER CI build"
|
|
# } else {
|
|
# if ((Get-Date -UFormat %s) -lt $recent_saved_commit_time + $oneweek) {
|
|
# Write-Output "Skipping Saving binaries since the last one was saved " + (([System.DateTimeOffset]::FromUnixTimeSeconds($recent_saved_commit_time)).DateTime).ToString()
|
|
# }
|
|
# }
|
|
# # Linux & macOS use the shell to perform git activities.
|
|
# # Windows uses cmd. Poweshell on Windows doesn't like git output to stderr
|
|
# - sh: |
|
|
# if [ -f ../Save-Build-Results ]
|
|
# then
|
|
# git add *
|
|
# git commit -F ../pkg_commit_message
|
|
# git push -u origin master
|
|
# else
|
|
# # clean up the un-committed pieces so the cache is maintained correctly
|
|
# git reset --hard
|
|
# fi
|
|
# - cmd: |
|
|
# if EXIST ..\Save-Build-Results git add *
|
|
# if EXIST ..\Save-Build-Results git commit -F ../pkg_commit_message
|
|
# if EXIST ..\Save-Build-Results git push -u origin master
|
|
# rem clean up the un-committed pieces so the cache is maintained correctly
|
|
# if NOT EXIST ..\Save-Build-Results git reset --hard
|
|
|
|
notifications:
|
|
- provider: Email
|
|
to:
|
|
- Mark@infocomm.com
|
|
on_build_success: false
|