Commit 59b9d5d3 authored by Bas Lijnse's avatar Bas Lijnse

Merge branch 'windows-ci' into 'master'

Add Windows CI

See merge request !436
parents f96ed050 61408065
Pipeline #43653 passed with stage
in 9 minutes and 57 seconds
test-x64:
linux-x64:
image: "camilstaps/clean:nightly"
before_script:
- install_clean.sh bundle-complete
- apt-get update -qq
- apt-get install -y -qq build-essential libsqlite3-dev libmariadbclient-dev-compat
script:
- bash ci-tests.bash
- bash Tests/posix.sh
artifacts:
when: always
paths:
......@@ -13,15 +13,40 @@ test-x64:
reports:
junit: Tests/Unit/*-junit.xml
test-x86:
linux-x86:
only:
- master
image: "camilstaps/clean:nightly"
before_script:
- CLEAN_PLATFORM=x86 install_clean.sh bundle-complete
- apt-get update -qq
- apt-get install -y -qq build-essential libsqlite3-dev:i386 libmariadbclient-dev-compat:i386
- sed -i 's/x64/x86/g' ci-tests.bash
- sed -i 's/x64/x86/g' Tests/posix.sh
script:
- bash ci-tests.bash
- bash Tests/posix.sh
artifacts:
when: always
paths:
- Tests/Unit/*-junit.xml
reports:
junit: Tests/Unit/*-junit.xml
windows-x64:
only:
- master
tags:
- windows
- x64
before_script:
- wget -UseBasicParsing -o clean.zip https://ftp.cs.ru.nl/Clean/builds/windows-x64/clean-bundle-complete-windows-x64-latest.zip
- 7z x clean.zip
- sed -n -i '/EnvironmentName:\tiTasks/q;p' clean-bundle-complete\Config\IDEEnvs
- $EscapedPwd = $Pwd -replace '\\', '\\\\'
- tail -n +3 Config\windows-x64\iTasks.env | sed "s/\{Application\}.*iTasks/$EscapedPwd\\\\Libraries/" | Out-File -encoding ASCII -Append clean-bundle-complete\Config\IDEEnvs
- $Env:CLEAN_HOME = "$Pwd\\clean-bundle-complete"
- $Env:Path += ";${Env:CLEAN_HOME}"
script:
- bash Tests/windows.sh
artifacts:
when: always
paths:
......
......@@ -27,7 +27,7 @@ Global
Time: False
Stack: False
Dynamics: True
GenericFusion: True
GenericFusion: False
DescExL: True
Output
Output: ShowConstructors
......
#!/bin/bash
set -e
cd "$(dirname "${BASH_SOURCE[0]}")/.."
#Update IDEEnvs
if [ -w "$CLEAN_HOME"/etc/IDEEnvs ]; then
cp -v "$CLEAN_HOME"/etc/IDEEnvs{,.bak2}
......
#!/bin/bash
set -e
cd "$(dirname "${BASH_SOURCE[0]}")/.."
FIND=/usr/bin/find
SORT=/usr/bin/sort
(
cd Examples
sed 's:[*/]lib[*/]:*Libraries*:' CreateBasicAPIExamples.prj.default > CreateBasicAPIExamples.prj
cpm CreateBasicAPIExamples.prj
./CreateBasicAPIExamples.exe > BasicAPIExamples.icl
)
# Try to compile everything
$FIND Examples Tests Tools -name "*.prj.default" | while read f; do
tof="$(dirname $f)/$(basename -s .prj.default $f)".prj
sed 's:[*/]lib[*/]:*Libraries*:' "$f" > "$tof"
done
# Without generic fusion
$FIND Examples Tests Tools -name "*.prj" -exec dirname {} \; | $SORT -u | xargs -I{} sh -c\
"cd {}; cpm make"
# With generic fusion
# NB: currently disabled because it breaks
#$FIND Examples Tests Tools -name "*.prj" -not -name "IncidoneCCC.prj" -not -name "examples.prj" -not -name "RemoteShareExamples.prj" -exec dirname {} \; | $SORT -u | xargs -I{} sh -c\
# "cd {}; sed -i.bak 's/GenericFusion: False/GenericFusion: True/g' *.prj && cpm make"
#Run the unit tests
$FIND Tests/Unit -name "*.prj.default" | sed "s/.prj.default//" | xargs -n 1 -I@ cleantest -f human --junit @-junit.xml -r @.exe
#Run the non-unit iTasks tests
$FIND Tests -maxdepth 1 -name "*.prj.default" | sed "s/.prj.default//" | xargs -n 1 -I@ cleantest -f human --junit @-junit.xml -r @.exe
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment