aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cirrus.tasks.yml8
-rwxr-xr-xsrc/tools/ci/gcp_freebsd_repartition.sh24
2 files changed, 14 insertions, 18 deletions
diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index 3b5b54df58f..1adfdfdd456 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -126,11 +126,9 @@ task:
name: FreeBSD - 13 - Meson
env:
- # FreeBSD on GCP is slow when running with larger number of CPUS /
- # jobs. Using one more job than cpus seems to work best.
- CPUS: 2
- BUILD_JOBS: 3
- TEST_JOBS: 3
+ CPUS: 4
+ BUILD_JOBS: 4
+ TEST_JOBS: 8
IMAGE_FAMILY: pg-ci-freebsd-13
DISK_SIZE: 50
diff --git a/src/tools/ci/gcp_freebsd_repartition.sh b/src/tools/ci/gcp_freebsd_repartition.sh
index 2d5e1738998..cc7f6bc35ef 100755
--- a/src/tools/ci/gcp_freebsd_repartition.sh
+++ b/src/tools/ci/gcp_freebsd_repartition.sh
@@ -3,26 +3,24 @@
set -e
set -x
-# The default filesystem on freebsd gcp images is very slow to run tests on,
-# due to its 32KB block size
-#
-# XXX: It'd probably better to fix this in the image, using something like
-# https://people.freebsd.org/~lidl/blog/re-root.html
-
# fix backup partition table after resize
gpart recover da0
gpart show da0
-# kill swap, so we can delete a partition
-swapoff -a || true
-# (apparently we can only have 4!?)
+
+# delete and re-add swap partition with expanded size
+swapoff -a
gpart delete -i 3 da0
-gpart add -t freebsd-ufs -l data8k -a 4096 da0
+gpart add -t freebsd-swap -l swapfs -a 4096 da0
gpart show da0
-newfs -U -b 8192 /dev/da0p3
+swapon -a
+
+# create a file system on a memory disk backed by swap, to minimize I/O
+mdconfig -a -t swap -s20g -u md1
+newfs -b 8192 -U /dev/md1
-# Migrate working directory
+# migrate working directory
du -hs $CIRRUS_WORKING_DIR
mv $CIRRUS_WORKING_DIR $CIRRUS_WORKING_DIR.orig
mkdir $CIRRUS_WORKING_DIR
-mount -o noatime /dev/da0p3 $CIRRUS_WORKING_DIR
+mount -o noatime /dev/md1 $CIRRUS_WORKING_DIR
cp -r $CIRRUS_WORKING_DIR.orig/* $CIRRUS_WORKING_DIR/