+++ /dev/null
----
-# The SATA controllers on the boards that are running the armhf
-# nodes are somewhat flaky, and the root filesystem often ends
-# up readonly due to errors. When the FS goes read-only, jobs
-# will fail so the easiest action is to have the node reboot.
-common_node_rootfs_readonly_reboot: true
--- /dev/null
+---
+# The SATA controllers on the boards that are running the armhf
+# nodes are somewhat flaky, and the root filesystem often ends
+# up readonly due to errors. When the FS goes read-only, jobs
+# will fail so the easiest action is to have the node reboot.
+common_node_rootfs_readonly_reboot: true
[infra_lava]
lava-master-03.internal.efficios.com
+[node_wandboard]
+ci-node-deb12-armhf-[01:08]
+
[node_armhf]
ci-node-deb12-armhf-01
ci-node-deb12-armhf-02
---
-- hosts: hosts
+- hosts: hosts:!windows
roles:
# Setup filesystem and network configuration before other roles
- zfs
- netplan
+- hosts: hosts
+ roles:
- common
+- hosts: hosts:!windows
+ roles:
- libvirt
- lxd
- rasdaemon
name: sshd
start_mode: auto
state: started
+- name: Allow Terminal Server connections
+ ansible.windows.win_regedit:
+ path: 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server'
+ name: 'fDenyTSConnections'
+ data: '0'
+ type: 'dword'
+- name: Run RDP automatically
+ ansible.windows.win_service:
+ name: 'TermService'
+ start_mode: 'auto'
+ state: 'started'
- name: Turn off standy
ansible.windows.win_command: 'C:\Windows\system32\powercfg.exe /change standby-timeout-ac 0'
- name: Turn off hibernation
ansible.windows.win_template:
src: 'authorized_keys.j2'
dest: 'c:\ProgramData\ssh\administrators_authorized_keys'
-
+# c.f. https://galaxy.ansible.com/ui/repo/published/community/windows/content/module/win_firewall_rule/
+- name: Firewall rule to alloc ICMP v4 on all type codes
+ community.windows.win_firewall_rule:
+ name: ICMP Allow incoming V4 echo request
+ enabled: true
+ state: present
+ profiles:
+ - domain
+ - private
+ - public
+ action: allow
+ direction: in
+ protocol: icmpv4
+ icmp_type_code: '*'
+- name: Firewall rule to allow RDP on TCP port 3389
+ community.windows.win_firewall_rule:
+ name: Remote Desktop
+ localport: 3389
+ action: allow
+ direction: in
+ protocol: tcp
+ profiles:
+ - domain
+ - private
+ state: present
+ enabled: true
- name: Reboot if domain changed
when: domain_state.reboot_required
ansible.windows.win_reboot:
- name: community.general
version: '>=5.4.0'
type: galaxy
+ - name: community.windows
+ version: '>=2.2.0'
+ type: galaxy
publishers:
- archive:
- artifacts: 'black.out,flake8.out,isort.out,clang-format.out,shellcheck.out'
+ artifacts: 'black.out,flake8.out,isort.out,clang-format.out,shellcheck.out,check-include-guards.out'
allow-empty: false
- workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
publishers:
- workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
- archive:
- artifacts: 'black.out,flake8.out,isort.out,clang-format.out,shellcheck.out'
+ artifacts: 'black.out,flake8.out,isort.out,clang-format.out,shellcheck.out,check-include-guards.out'
allow-empty: false
- ircbot: *babeltrace_publisher_ircbot_defaults
- email-ext: *babeltrace_publisher_email-ext_defaults
platforms: !!python/tuple [deb12-amd64]
target_boards: !!python/tuple ["unix", "native-gdbserver", "native-extended-gdbserver"]
- 'binutils-gdb_{version}_macosbuild':
- platforms: !!python/tuple [macos-amd64, macos-arm64]
+ platforms: !!python/tuple [macos-arm64]
target_boards: !!python/tuple ["unix"]
- project:
[ "$res" -ne "0" ]
}
+mktemp_compat() {
+ case "$platform" in
+ macos*)
+ # On MacOSX, mktemp doesn't respect TMPDIR in the same way as many
+ # other systems. Use the final positional argument to force the
+ # tempfile or tempdir to be created inside $TMPDIR, which must
+ # already exist.
+ if [ -n "${TMPDIR}" ] ; then
+ mktemp "${@}" "${TMPDIR}/tmp.XXXXXXXXXX"
+ else
+ mktemp "${@}"
+ fi
+ ;;
+ *)
+ mktemp "${@}"
+ ;;
+ esac
+}
+
print_header() {
set +x
print_header "Build: Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
"$SRCDIR/configure" "${CONF_OPTS[@]}" || failed_configure
$MAKE dist
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Extract the distribution tar in the build directory,
print_header "Build: Distribution Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Run configure out of tree and generate the tar file
"$SRCDIR/configure" || failed_configure
$MAKE dist
- dist_srcdir="$(mktemp -d)"
+ dist_srcdir="$(mktemp_compat -d)"
cd "$dist_srcdir"
# Extract the distribution tar in the new source directory,
$TAR xvf "$builddir"/*.tar.* --strip 1
# Create and enter a second temporary build directory
- builddir="$(mktemp -d)"
+ builddir="$(mktemp_compat -d)"
cd "$builddir"
# Run configure from the extracted distribution tar,
tools/shellcheck.sh | tee ../../shellcheck.out || exit_code=1
fi
+if [[ -f tools/check-include-guards.sh ]]; then
+ tools/check-include-guards.sh | tee ../../check-include-guards.out || exit_code=1
+fi
+
exit $exit_code
set -exu
+mktemp_compat() {
+ case "$platform" in
+ macos*)
+ # On MacOSX, mktemp doesn't respect TMPDIR in the same way as many
+ # other systems. Use the final positional argument to force the
+ # tempfile or tempdir to be created inside $TMPDIR, which must
+ # already exist.
+ if [ -n "${TMPDIR}" ] ; then
+ mktemp "${@}" "${TMPDIR}/tmp.XXXXXXXXXX"
+ else
+ mktemp "${@}"
+ fi
+ ;;
+ *)
+ mktemp "${@}"
+ ;;
+ esac
+}
+
+print_header() {
+ set +x
+
+ local message=" $1 "
+ local message_len
+ local padding_len
+
+ message_len="${#message}"
+ padding_len=$(( (80 - (message_len)) / 2 ))
+
+ printf '\n'; printf -- '#%.0s' {1..80}; printf '\n'
+ printf -- '-%.0s' {1..80}; printf '\n'
+ printf -- '#%.0s' $(seq 1 $padding_len); printf '%s' "$message"; printf -- '#%.0s' $(seq 1 $padding_len); printf '\n'
+ printf -- '-%.0s' {1..80}; printf '\n'
+ printf -- '#%.0s' {1..80}; printf '\n\n'
+
+ set -x
+}
+
failed_configure() {
# Assume we are in the configured build directory
echo "#################### BEGIN config.log ####################"
echo "Out of tree build"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
"$SRCDIR/configure" "${CONF_OPTS[@]}" || failed_configure
[ "$res" -ne "0" ]
}
+mktemp_compat() {
+ case "$platform" in
+ macos*)
+ # On MacOSX, mktemp doesn't respect TMPDIR in the same way as many
+ # other systems. Use the final positional argument to force the
+ # tempfile or tempdir to be created inside $TMPDIR, which must
+ # already exist.
+ if [ -n "${TMPDIR}" ] ; then
+ mktemp "${@}" "${TMPDIR}/tmp.XXXXXXXXXX"
+ else
+ mktemp "${@}"
+ fi
+ ;;
+ *)
+ mktemp "${@}"
+ ;;
+ esac
+}
+
print_header() {
set +x
print_header "Build: Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
"$SRCDIR/configure" "${CONF_OPTS[@]}" || failed_configure
$MAKE dist
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Extract the distribution tar in the build directory,
print_header "Build: Distribution Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Run configure out of tree and generate the tar file
"$SRCDIR/configure" || failed_configure
$MAKE dist
- dist_srcdir="$(mktemp -d)"
+ dist_srcdir="$(mktemp_compat -d)"
cd "$dist_srcdir"
# Extract the distribution tar in the new source directory,
$TAR xvf "$builddir"/*.tar.* --strip 1
# Create and enter a second temporary build directory
- builddir="$(mktemp -d)"
+ builddir="$(mktemp_compat -d)"
cd "$builddir"
# Run configure from the extracted distribution tar,
[ "$res" -ne "0" ]
}
+mktemp_compat() {
+ case "$platform" in
+ macos*)
+ # On MacOSX, mktemp doesn't respect TMPDIR in the same way as many
+ # other systems. Use the final positional argument to force the
+ # tempfile or tempdir to be created inside $TMPDIR, which must
+ # already exist.
+ if [ -n "${TMPDIR}" ] ; then
+ mktemp "${@}" "${TMPDIR}/tmp.XXXXXXXXXX"
+ else
+ mktemp "${@}"
+ fi
+ ;;
+ *)
+ mktemp "${@}"
+ ;;
+ esac
+}
+
print_header() {
set +x
print_header "Build: Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
"$SRCDIR/configure" "${CONF_OPTS[@]}" || failed_configure
$MAKE dist
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Extract the distribution tar in the build directory,
print_header "Build: Distribution Out of tree"
# Create and enter a temporary build directory
- builddir=$(mktemp -d)
+ builddir=$(mktemp_compat -d)
cd "$builddir"
# Run configure out of tree and generate the tar file
"$SRCDIR/configure" "${DIST_CONF_OPTS[@]}" || failed_configure
$MAKE dist
- dist_srcdir="$(mktemp -d)"
+ dist_srcdir="$(mktemp_compat -d)"
cd "$dist_srcdir"
# Extract the distribution tar in the new source directory,
$TAR xvf "$builddir"/*.tar.* --strip 1
# Create and enter a second temporary build directory
- builddir="$(mktemp -d)"
+ builddir="$(mktemp_compat -d)"
cd "$builddir"
# Run configure from the extracted distribution tar,