Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ansible/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
- role: buildkite_agent
priority: 5 # Higher priority agents are assigned work first
tags: buildkite_agent
- gcc-multilib # for 32-bit builds

- hosts: ci.dlang.io
roles:
Expand Down
29 changes: 29 additions & 0 deletions buildkite.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,35 @@ cat << 'EOF'
- wait
EOF

################################################################################
# Test bootstrapping with different compilers
################################################################################

case "${BUILDKITE_REPO:-x}" in
"https://github.com/dlang/dmd.git" | \
"https://github.com/dlang/druntime.git" | \
"https://github.com/dlang/phobos.git" | \
"https://github.com/dlang/ci.git")

for line in dmd-64 ; do
# TODO: dmd-32 (needs gcc-multilib)
# TODO: gdc-64 (needs binaries)
# TODO: ldc-64 (failing - see https://github.com/dlang/ci/pull/261)
IFS=- read -r compiler model <<< "$line"
cat << EOF
- command: |
${LOAD_CI_FOLDER}
DMD=$compiler MODEL=$model ./buildkite/test_bootstrap.sh
label: "Bootstrap ($compiler)"
${DEFAULT_COMMAND_PROPS}
EOF

done
;;
*)
;;
esac

################################################################################
# Style & coverage targets
# Must run after the 'wait' to avoid blocking the build_distribution step
Expand Down
38 changes: 38 additions & 0 deletions buildkite/test_bootstrap.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash

PS4="~> " # needed to avoid accidentally generating collapsed output
set -uexo pipefail

echo "--- Setting build variables"

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

"$DIR/clone_repositories.sh"

echo "--- Patching DMD and druntime (remove failing tests)"

# patch makefile which requires gdb 8 - see https://github.com/dlang/ci/pull/301
sed "s/TESTS+=rt_trap_exceptions_drt_gdb//" -i druntime/test/exceptions/Makefile

# remove tests which require gdb 8 for now (see https://github.com/dlang/ci/pull/291)
rm dmd/test/runnable/gdb{1,10311,14225,14276,14313,14330,4149,4181}.d
rm dmd/test/runnable/b18504.d
rm dmd/test/runnable/gdb15729.sh

echo "--- Exporting build variables"

export BRANCH="${BUILDKITE_PULL_REQUEST_BASE_BRANCH:-}"
export N=2
export OS_NAME=linux
export FULL_BUILD="${BUILDKITE_PULL_REQUEST+false}"

echo "--- Go to dmd and source ci.sh"

cd dmd
source ci.sh

echo "--- Installing $DMD"
install_d "$DMD" # Source a D compiler

echo "--- Running the testsuite"
testsuite