forked from toolshed/docs.coopcloud.tech
		
	docs: 022 publish
This commit is contained in:
		
							
								
								
									
										49
									
								
								docs/federation/resolutions/in-progress/022.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								docs/federation/resolutions/in-progress/022.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
---
 | 
			
		||||
title: "Resolution 022"
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- Topic: Budget 10: Abra integration suite automation
 | 
			
		||||
- Date: 04-04-2024
 | 
			
		||||
- Deadline: 18-04-2024
 | 
			
		||||
- Size: Medium
 | 
			
		||||
 | 
			
		||||
### Summary
 | 
			
		||||
 | 
			
		||||
Motivated by the collective release planning: [`#583`](https://git.coopcloud.tech/coop-cloud/organising/issues/583) under "Automate Integration Test Suite".
 | 
			
		||||
 | 
			
		||||
The latest `abra` release (`0.9.x`) was heavily delayed due to several issues.
 | 
			
		||||
One of those was the need to fix the integration test suite which wasn't run in
 | 
			
		||||
some time. Many breakages had crept into the test suite over time. This can
 | 
			
		||||
avoided in the future by automating the running of the integration test suite.
 | 
			
		||||
 | 
			
		||||
This proposal describes a way to do this and includes a budget for doing so.
 | 
			
		||||
 | 
			
		||||
### Details (Budget 10)
 | 
			
		||||
 | 
			
		||||
The `abra` test suite takes around 1.30 hrs to run on a modest machine.
 | 
			
		||||
Therefore, we propose to run it only once daily. Some parts of the tests are
 | 
			
		||||
slow, fast and only a few require public DNS. This means we can break up the
 | 
			
		||||
tests and run them in separate "builds" to speed things up. This involves some
 | 
			
		||||
research & experimentation.
 | 
			
		||||
 | 
			
		||||
Also, we need a server to run the tests on. This machine should be wiped clean
 | 
			
		||||
each day (`docker <command> prune ....`) and have the usual DNS machinery
 | 
			
		||||
attached to it, e.g. `int.coopcloud.tech`, `*.int.coopcloud.tech`. Ideally some
 | 
			
		||||
federation members will also be provided shell access with root permissions.
 | 
			
		||||
 | 
			
		||||
Once all this is wired up, we can implement the CI/CD configuration to make the
 | 
			
		||||
test suite run automatically once a day. This will be triggered via the
 | 
			
		||||
`.drone.yml` in the `abra` Git repository.
 | 
			
		||||
 | 
			
		||||
Budget details:
 | 
			
		||||
 | 
			
		||||
| Item | Cost | Who? |
 | 
			
		||||
| ---- | ---- | ---- |
 | 
			
		||||
| Server | Free (on donation) | `@mirsal` |
 | 
			
		||||
| Server setup & docs | 1 hrs | `@d1` |
 | 
			
		||||
| R & D for breaking up tests | 5 hrs | `@d1` | 
 | 
			
		||||
| Implementing CI/CD configs | 10 hrs | `@d1` |
 | 
			
		||||
 | 
			
		||||
**Total: 16 hrs * 20 EUR = 320 EUR**
 | 
			
		||||
 | 
			
		||||
Big thanks for `@mirsal` for donating the server 💘
 | 
			
		||||
		Reference in New Issue
	
	Block a user