mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2025-10-25 05:23:58 -07:00 
			
		
		
		
	Improve ArchLinux tests (#4291)
* Make sure that every test that uses package: requires setup_pkg_mgr. * Upgrade system packages for Arch Linux. * Re-enable java keytool tests on Arch.
This commit is contained in:
		
					parent
					
						
							
								0da8cb2e02
							
						
					
				
			
			
				commit
				
					
						274b8cceef
					
				
			
		
					 11 changed files with 49 additions and 2 deletions
				
			
		
							
								
								
									
										3
									
								
								tests/integration/targets/cargo/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/integration/targets/cargo/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
							
								
								
									
										3
									
								
								tests/integration/targets/django_manage/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/integration/targets/django_manage/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
|  | @ -0,0 +1,3 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
|  | @ -1,3 +1,4 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
|   - setup_postgresql_db | ||||
|  |  | |||
|  | @ -1,2 +1,3 @@ | |||
| dependencies: | ||||
|   - setup_remote_tmp_dir | ||||
|   - setup_pkg_mgr | ||||
|  |  | |||
|  | @ -4,12 +4,10 @@ | |||
| # and should not be used as examples of how to write Ansible roles # | ||||
| #################################################################### | ||||
| - set_fact: | ||||
|     # TODO: re-enable Archlinux! | ||||
|     has_java_keytool: >- | ||||
|       {{ | ||||
|         ansible_os_family not in ['Darwin', 'FreeBSD'] | ||||
|         and not (ansible_distribution == "CentOS" and ansible_distribution_version is version("7.0", "<")) | ||||
|         and not (ansible_distribution == "Archlinux") | ||||
|       }} | ||||
| 
 | ||||
| - name: Include OS-specific variables | ||||
|  |  | |||
|  | @ -1 +1,3 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
|  |  | |||
							
								
								
									
										19
									
								
								tests/integration/targets/setup_pkg_mgr/tasks/archlinux.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								tests/integration/targets/setup_pkg_mgr/tasks/archlinux.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| --- | ||||
| # Since Arch Linux is a rolling distribution, it regularly needs its packages upgraded, otherwise some tests might | ||||
| # stop working due to conflicts during package installation. Since there is no good way to do this on container | ||||
| # startup time, we use the setup_pkg_mgr setup role to do this once per CI run (hopefully). In case the Arch Linux | ||||
| # tests are run outside of a container, we're using a date-based tag (see below) to avoid this running more than | ||||
| # once per day. | ||||
| 
 | ||||
| - name: Create tag | ||||
|   copy: | ||||
|     dest: /tmp/.ansible_archlinux_sysupgrade_tag | ||||
|     content: | | ||||
|       Last ArchLinux system upgrade by integration tests was done on {{ ansible_facts.date_time.date }}. | ||||
|   register: archlinux_upgrade_tag | ||||
| 
 | ||||
| - name: Upgrade all packages | ||||
|   pacman: | ||||
|     update_cache: true | ||||
|     upgrade: true | ||||
|   when: archlinux_upgrade_tag is changed | ||||
|  | @ -16,9 +16,20 @@ | |||
|     cacheable: yes | ||||
|   when: ansible_os_family == "Suse" | ||||
| 
 | ||||
| - set_fact: | ||||
|     pkg_mgr: community.general.pacman | ||||
|     ansible_pkg_mgr: community.general.pacman | ||||
|     cacheable: yes | ||||
|   when: ansible_os_family == "Archlinux" | ||||
| 
 | ||||
| - shell: | ||||
|     cmd: | | ||||
|       sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*.repo | ||||
|       sed -i 's%#baseurl=http://mirror.centos.org/$contentdir/$releasever/%baseurl=https://vault.centos.org/8.4.2105/%g' /etc/yum.repos.d/CentOS-Linux-*.repo | ||||
|   ignore_errors: true  # This fails for CentOS Stream 8 | ||||
|   when: ansible_distribution in 'CentOS' and ansible_distribution_major_version == '8' | ||||
| 
 | ||||
| - when: ansible_os_family == "Archlinux" | ||||
|   block: | ||||
|     - name: ArchLinux specific setup | ||||
|       include: archlinux.yml | ||||
|  |  | |||
|  | @ -0,0 +1,3 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
							
								
								
									
										3
									
								
								tests/integration/targets/timezone/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/integration/targets/timezone/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - setup_pkg_mgr | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue