83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
| name: Test build quickemu 🚧
 | |
| 
 | |
| on:
 | |
|   pull_request:
 | |
|     branches:
 | |
|       - master
 | |
|     paths:
 | |
|       - quickemu
 | |
|       - quickget
 | |
|       - debian/**
 | |
|       - flake.nix
 | |
|       - package.nix
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
|     paths:
 | |
|       - quickemu
 | |
|       - quickget
 | |
|       - debian/**
 | |
|       - flake.nix
 | |
|       - package.nix
 | |
|   workflow_dispatch:
 | |
| 
 | |
| # TODO: arm64 runner
 | |
| # https://github.blog/changelog/2024-06-03-actions-arm-based-linux-and-windows-runners-are-now-in-public-beta/
 | |
| 
 | |
| jobs:
 | |
|   test-deb-build:
 | |
|     runs-on: ubuntu-22.04
 | |
|     steps:
 | |
|     - name: "Checkout 🥡"
 | |
|       uses: actions/checkout@v4
 | |
|     - name: "Build & Test .deb 🍥"
 | |
|       env:
 | |
|         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|       run: |
 | |
|         sudo apt-get -y update
 | |
|         sudo apt-get -y install debhelper devscripts
 | |
|         REL_VER=$(grep "^readonly VERSION" quickemu | cut -d'"' -f2)
 | |
|         rm debian/changelog
 | |
|         dch --package quickemu --newversion="${REL_VER}-1" --distribution=unstable "New upstream release." --create
 | |
|         dpkg-buildpackage --build=binary --no-check-builddeps --compression=gzip
 | |
|         sudo apt-get -y install ../quickemu_${REL_VER}-1_all.deb
 | |
|         quickemu --help
 | |
|         quickget --help        
 | |
| 
 | |
|   test-nix-build:
 | |
|     runs-on: ubuntu-22.04
 | |
|     permissions:
 | |
|       id-token: "write"
 | |
|       contents: "read"
 | |
|     steps:
 | |
|       - name: "Checkout 🥡"
 | |
|         uses: "actions/checkout@v4"
 | |
|       - name: "Install Nix ❄️"
 | |
|         uses: "DeterminateSystems/nix-installer-action@v16"
 | |
|       - name: "Enable Magic Nix Cache 🪄"
 | |
|         uses: "DeterminateSystems/magic-nix-cache-action@v9"
 | |
|       - name: "Build & Test .nix ❄️"
 | |
|         run: |
 | |
|           nix build .#quickemu
 | |
|           tree ./result
 | |
|           ./result/bin/quickemu --help
 | |
|           ./result/bin/quickget --help
 | |
|           ./result/bin/quickreport
 | |
|           # Text a VM if the Nix Installer successfully enabled KVM
 | |
|           if [ $DETERMINATE_NIX_KVM -eq 1 ]; then
 | |
|             ./result/bin/quickget alpine v3.20
 | |
|             ./result/bin/quickemu --vm alpine-v3.20.conf --display none
 | |
|             sleep 5
 | |
|             if pgrep -F ./alpine-v3.20/alpine-v3.20.pid; then
 | |
|               echo "Test VM is running"
 | |
|             else
 | |
|               echo "Test VM is not running"
 | |
|               exit 1
 | |
|             fi
 | |
|             # Test a few more quickemu commands to clean up
 | |
|             ./result/bin/quickemu --vm alpine-v3.20.conf --kill
 | |
|             ./result/bin/quickemu --vm alpine-v3.20.conf --delete-disk
 | |
|             ./result/bin/quickemu --vm alpine-v3.20.conf --delete-vm
 | |
|           fi          
 | |
| 
 |