From f8fa4f1ad7b718cc3724f5015d3fd4374cff75d4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 25 Sep 2023 11:10:08 -0400 Subject: ci: Add OrangeC 6.73.1 nightly CI job --- .gitlab-ci.yml | 14 +++++++++++++ .gitlab/.gitignore | 1 + .gitlab/ci/configure_windows_orangec6.73.1.cmake | 1 + .gitlab/ci/configure_windows_orangec_common.cmake | 5 +++++ .gitlab/ci/env_windows_orangec6.73.1.ps1 | 2 ++ .gitlab/ci/orangec-env.ps1 | 8 ++++++++ .gitlab/ci/orangec.ps1 | 24 +++++++++++++++++++++++ .gitlab/os-windows.yml | 14 +++++++++++++ 8 files changed, 69 insertions(+) create mode 100644 .gitlab/ci/configure_windows_orangec6.73.1.cmake create mode 100644 .gitlab/ci/configure_windows_orangec_common.cmake create mode 100755 .gitlab/ci/env_windows_orangec6.73.1.ps1 create mode 100755 .gitlab/ci/orangec-env.ps1 create mode 100755 .gitlab/ci/orangec.ps1 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5982c27..c13ba72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1392,6 +1392,20 @@ t:windows-openwatcom1.9: variables: CMAKE_CI_JOB_NIGHTLY: "true" +t:windows-orangec6.73.1: + extends: + - .windows_orangec6.73.1 + - .cmake_test_windows_external + - .windows_x86_64_tags_concurrent + - .cmake_junit_artifacts + - .run_dependent + dependencies: + - t:windows-vs2022-x64-ninja + needs: + - t:windows-vs2022-x64-ninja + variables: + CMAKE_CI_JOB_NIGHTLY: "true" + # Windows arm64 jobs b:windows-arm64-vs2022-ninja: diff --git a/.gitlab/.gitignore b/.gitlab/.gitignore index 852dfa6..19796ef 100644 --- a/.gitlab/.gitignore +++ b/.gitlab/.gitignore @@ -12,6 +12,7 @@ /ninja* /openmp /open-watcom* +/orangec /python* /qt* /sccache* diff --git a/.gitlab/ci/configure_windows_orangec6.73.1.cmake b/.gitlab/ci/configure_windows_orangec6.73.1.cmake new file mode 100644 index 0000000..e667b94 --- /dev/null +++ b/.gitlab/ci/configure_windows_orangec6.73.1.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_orangec_common.cmake") diff --git a/.gitlab/ci/configure_windows_orangec_common.cmake b/.gitlab/ci/configure_windows_orangec_common.cmake new file mode 100644 index 0000000..55dce1d --- /dev/null +++ b/.gitlab/ci/configure_windows_orangec_common.cmake @@ -0,0 +1,5 @@ +set(CMake_TEST_Java OFF CACHE BOOL "") + +set(configure_no_sccache 1) + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/env_windows_orangec6.73.1.ps1 b/.gitlab/ci/env_windows_orangec6.73.1.ps1 new file mode 100755 index 0000000..96e36a1 --- /dev/null +++ b/.gitlab/ci/env_windows_orangec6.73.1.ps1 @@ -0,0 +1,2 @@ +. .gitlab/ci/ninja-env.ps1 +. .gitlab/ci/orangec-env.ps1 diff --git a/.gitlab/ci/orangec-env.ps1 b/.gitlab/ci/orangec-env.ps1 new file mode 100755 index 0000000..3a5d232 --- /dev/null +++ b/.gitlab/ci/orangec-env.ps1 @@ -0,0 +1,8 @@ +Invoke-Expression -Command .gitlab/ci/orangec.ps1 +$pwdpath = $pwd.Path +Set-Item -Force -Path "env:PATH" -Value "$pwdpath\.gitlab\orangec\bin;$env:PATH" +Set-Item -Force -Path "env:ORANGEC" -Value "$pwdpath\.gitlab\orangec" + +$env:CC = "occ" +$env:CXX = "occ" +occ --version diff --git a/.gitlab/ci/orangec.ps1 b/.gitlab/ci/orangec.ps1 new file mode 100755 index 0000000..2201e12 --- /dev/null +++ b/.gitlab/ci/orangec.ps1 @@ -0,0 +1,24 @@ +$erroractionpreference = "stop" + +if ("$env:CMAKE_CONFIGURATION".Contains("orangec6.73.1")) { + # OrangeC 6.73.1 + $archive = "ZippedBinaries6738.zip" + $release = "Orange-C-v6.73.1" + $sha256sum = "29BC506AB105B2BF1002129C37826B2153DF1C8D0F22B9A2C38ACA3FB72A5B89" +} else { + throw ('unknown CMAKE_CONFIGURATION: ' + "$env:CMAKE_CONFIGURATION") +} + +$outdir = $pwd.Path +$outdir = "$outdir\.gitlab" +$ProgressPreference = 'SilentlyContinue' +Invoke-WebRequest -Uri "https://github.com/LADSoft/OrangeC/releases/download/$release/$archive" -OutFile "$outdir\$archive" +$hash = Get-FileHash "$outdir\$archive" -Algorithm SHA256 +if ($hash.Hash -ne $sha256sum) { + exit 1 +} + +Add-Type -AssemblyName System.IO.Compression.FileSystem +[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$archive", "$outdir") +# The archive contains directory 'orangec', placed at '$outdir\orangec'. +Remove-Item "$outdir\$archive" diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml index 81944cb..c449ab8 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -261,6 +261,20 @@ variables: CMAKE_CONFIGURATION: windows_openwatcom1.9 +.windows_orangec: + extends: .windows + + variables: + CMAKE_GENERATOR: "Ninja" + CMAKE_CI_BUILD_TYPE: Release + CMAKE_CI_NIGHTLY_IGNORE_DEPS: "true" + +.windows_orangec6.73.1: + extends: .windows_orangec + + variables: + CMAKE_CONFIGURATION: windows_orangec6.73.1 + .windows_arm64_vs2022: extends: .windows -- cgit v0.12