ci: Add Borland 5.5 and 5.8 nightly CI jobs

This commit is contained in:
Brad King 2021-10-13 12:44:52 -04:00
parent dde674122e
commit 45d02c9fdc
6 changed files with 100 additions and 0 deletions

View File

@ -754,3 +754,31 @@ test:windows-vs2019-x64:
- test:windows-vs2019-x64-ninja
needs:
- test:windows-vs2019-x64-ninja
test:windows-borland5.5:
extends:
- .windows_borland5.5
- .cmake_test_windows_borland
- .windows_builder_ext_tags
- .cmake_junit_artifacts
- .run_dependent
dependencies:
- test:windows-vs2019-x64-ninja
needs:
- test:windows-vs2019-x64-ninja
variables:
CMAKE_CI_JOB_NIGHTLY: "true"
test:windows-borland5.8:
extends:
- .windows_borland5.8
- .cmake_test_windows_borland
- .windows_builder_ext_tags
- .cmake_junit_artifacts
- .run_dependent
dependencies:
- test:windows-vs2019-x64-ninja
needs:
- test:windows-vs2019-x64-ninja
variables:
CMAKE_CI_JOB_NIGHTLY: "true"

37
.gitlab/ci/borland.ps1 Executable file
View File

@ -0,0 +1,37 @@
$erroractionpreference = "stop"
if ("$env:CMAKE_CONFIGURATION".Contains("borland5.5")) {
# Borland C++ 5.5 Free Command-line Tools
# https://web.archive.org/web/20110402064356/https://www.embarcadero.com/products/cbuilder/free-compiler
$filename = "bcc5.5-1"
$sha256sum = "895B76F8F1AD8030F31ACE239EBC623DC7379C121A540F55F611B93F3CB9AF52"
} elseif ("$env:CMAKE_CONFIGURATION".Contains("borland5.8")) {
# Borland C++ Builder 2006
# https://web.archive.org/web/20060303030019/https://www.borland.com/us/products/cbuilder/index.html
$filename = "bcc5.8-1"
$sha256sum = "C30981BFD540C933E76D82D873DEE05E7482F34F68E309065DE0D181C95F77E3"
} else {
throw ('unknown CMAKE_CONFIGURATION: ' + "$env:CMAKE_CONFIGURATION")
}
$tarball = "$filename.zip"
$outdir = $pwd.Path
$outdir = "$outdir\.gitlab"
$ProgressPreference = 'SilentlyContinue'
# This URL is only visible inside of Kitware's network. See above filename table.
Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
if ($hash.Hash -ne $sha256sum) {
exit 1
}
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
Move-Item -Path "$outdir\$filename" -Destination "$outdir\bcc"
$tools = "bcc32", "ilink32"
foreach ($tool in $tools) {
$cfg = Get-Content -path "$outdir\bcc\bin\$tool.cfg.in" -Raw
$cfg = $cfg -replace "@BCC_ROOT@","$outdir\bcc"
$cfg | Set-Content -path "$outdir\bcc\bin\$tool.cfg"
}

View File

@ -0,0 +1 @@
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_borland_common.cmake")

View File

@ -0,0 +1 @@
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_borland_common.cmake")

View File

@ -0,0 +1,2 @@
set(configure_no_sccache 1)
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

View File

@ -52,6 +52,26 @@
CMAKE_GENERATOR_TOOLSET: "v142,version=14.29.30133"
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
.windows_borland:
extends: .windows
variables:
CMAKE_GENERATOR: "Borland Makefiles"
CMAKE_CI_BUILD_TYPE: Release
CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true"
.windows_borland5.5:
extends: .windows_borland
variables:
CMAKE_CONFIGURATION: windows_borland5.5
.windows_borland5.8:
extends: .windows_borland
variables:
CMAKE_CONFIGURATION: windows_borland5.8
## Tags
.windows_builder_tags:
@ -123,3 +143,14 @@
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
interruptible: true
.cmake_test_windows_borland:
stage: test-ext
script:
- Invoke-Expression -Command .gitlab/ci/borland.ps1
- $pwdpath = $pwd.Path
- Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\bcc\bin;$env:PATH"
- build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake
interruptible: true