mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	 dac0bae561
			
		
	
	
		dac0bae561
		
			
		
	
	
	
	
		
			
			The Github Action Runner got some new hardware metrics. We should use the provided and empty disk which is pre-mounted at /mnt now. Disk1: 89GiB -> rootfs + bootfs with ~80MB/s -> don't care Disk2: 64GiB -> /mnt with 420MB/s -> new testing ssd This commit will mount the new disk to /var/tmp and provide hopefully some speedups within our testings. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Andrew Innes <andrew.c12@gmail.com> Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de> Closes #15811
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -eu
 | |
| 
 | |
| function prerun() {
 | |
|   echo "::group::Install build dependencies"
 | |
|   # remove snap things, update+upgrade will be faster then
 | |
|   for x in lxd core20 snapd; do sudo snap remove $x; done
 | |
|   sudo apt-get purge snapd google-chrome-stable firefox
 | |
|   # https://github.com/orgs/community/discussions/47863
 | |
|   sudo apt-get remove grub-efi-amd64-bin grub-efi-amd64-signed shim-signed --allow-remove-essential
 | |
|   sudo apt-get update
 | |
|   sudo apt upgrade
 | |
|   sudo xargs --arg-file=.github/workflows/build-dependencies.txt apt-get install -qq
 | |
|   sudo apt-get clean
 | |
|   sudo dmesg -c > /var/tmp/dmesg-prerun
 | |
|   echo "::endgroup::"
 | |
| }
 | |
| 
 | |
| function mod_build() {
 | |
|   echo "::group::Generate debian packages"
 | |
|   ./autogen.sh
 | |
|   ./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan
 | |
|   make --no-print-directory --silent native-deb-utils native-deb-kmod
 | |
|   mv ../*.deb .
 | |
|   rm ./openzfs-zfs-dracut*.deb ./openzfs-zfs-dkms*.deb
 | |
|   echo "$ImageOS-$ImageVersion" > tests/ImageOS.txt
 | |
|   echo "::endgroup::"
 | |
| }
 | |
| 
 | |
| function mod_install() {
 | |
|   # install the pre-built module only on the same runner image
 | |
|   MOD=`cat tests/ImageOS.txt`
 | |
|   if [ "$MOD" != "$ImageOS-$ImageVersion" ]; then
 | |
|     rm -f *.deb
 | |
|     mod_build
 | |
|   fi
 | |
| 
 | |
|   echo "::group::Install and load modules"
 | |
|   # don't use kernel-shipped zfs modules
 | |
|   sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
 | |
|   sudo apt-get install --fix-missing ./*.deb
 | |
| 
 | |
|   # Native Debian packages enable and start the services
 | |
|   # Stop zfs-zed daemon, as it may interfere with some ZTS test cases
 | |
|   sudo systemctl stop zfs-zed
 | |
|   sudo depmod -a
 | |
|   sudo modprobe zfs
 | |
|   sudo dmesg
 | |
|   sudo dmesg -c > /var/tmp/dmesg-module-load
 | |
|   echo "::endgroup::"
 | |
| 
 | |
|   echo "::group::Report CPU information"
 | |
|   lscpu
 | |
|   cat /proc/spl/kstat/zfs/chksum_bench
 | |
|   echo "::endgroup::"
 | |
| 
 | |
|   echo "::group::Optimize storage for ZFS testings"
 | |
|   # remove swap and umount fast storage
 | |
|   # 89GiB -> rootfs + bootfs with ~80MB/s -> don't care
 | |
|   # 64GiB -> /mnt with 420MB/s -> new testing ssd
 | |
|   sudo swapoff -a
 | |
| 
 | |
|   # this one is fast and mounted @ /mnt
 | |
|   # -> we reformat with ext4 + move it to /var/tmp
 | |
|   DEV="/dev/disk/azure/resource-part1"
 | |
|   sudo umount /mnt
 | |
|   sudo mkfs.ext4 -O ^has_journal -F $DEV
 | |
|   sudo mount -o noatime,barrier=0 $DEV /var/tmp
 | |
|   sudo chmod 1777 /var/tmp
 | |
| 
 | |
|   # disk usage afterwards
 | |
|   sudo df -h /
 | |
|   sudo df -h /var/tmp
 | |
|   sudo fstrim -a
 | |
|   echo "::endgroup::"
 | |
| }
 | |
| 
 | |
| case "$1" in
 | |
|   build)
 | |
|     prerun
 | |
|     mod_build
 | |
|     ;;
 | |
|   tests)
 | |
|     prerun
 | |
|     mod_install
 | |
|     ;;
 | |
| esac
 |