mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-10-31 02:17:47 +00:00 
			
		
		
		
	Fix version detection in version.sh and add testing for it (#225)
* fix version syntax * commander: verify output of version.sh * commander: exit setup.sh with code 1 when .env exists * add commander to travis * minimal test for commander in core container
This commit is contained in:
		
							parent
							
								
									237b09b449
								
							
						
					
					
						commit
						de66536525
					
				| @ -11,6 +11,7 @@ env: | |||||||
|     - DOCKER_COMPOSE_VERSION=1.23.2 |     - DOCKER_COMPOSE_VERSION=1.23.2 | ||||||
|     - TRIVY_VERSION=0.1.1 |     - TRIVY_VERSION=0.1.1 | ||||||
|     - GOSS_VERSION=0.3.7 |     - GOSS_VERSION=0.3.7 | ||||||
|  |     - COMMANDER_VERSION=1.1.0 | ||||||
|     - secure: iSwQW1ytg9/ntqlF1nMzYcg0ouT3TifuAzauu//vWMiRfRthAi0bLuz3nBvlkQwtUk/iF3+smdOtwvjlmW7wWdwdf9tzpsyVKVYcS/+1MbxnGXE4OyNLkUJ7KASRk4otfsujMDNO95q/m04sOLJ721dsOWR6dv+5MNJ3LrushsbFfuStHmM1cNyUR6NuPy4g/x4oppv23rbSXU/qS7ULUsOTEUuTsmgvvKQRZiiOFaOgzeHCIEdrX6Dpsx6DPtYQ5az88q6CrkkTaw7GhP1qBXAGNX03NeHPd7YZvsgePoZJEJ/jTRsZVx9LxwkmnVTJDqthgqTGXTBJIvow3oICjKLf/DhURvkHaAJPu+Nxyvxo2xgYaa0Zbau5fmhEblyKU8Q9g+ZXsdjC5uy/vqJjg1rZD9BZjbKXRP9nb5VpxLdzcWE80XpEj7tHMfF4bN7LvIHZ81wINtZdZeFLVW53YzIO0NAoRCDk1SmR6N11T1uE8FrBzO80oETUMud2zYTx9U+J0m/qsNK+fOz2GtxwI3mlU0/bgVlcFE6865lOPuRwcTOhDwGqeWsLbBYsYXaJhqktn6XKiZ/BEeJLx6Z/CvyNXbzexn1i4wyVZAK7xxkhjxFPnWFU9WPan4ibkGLsS9sFsUTLVa4oBszkTO6q5NU7vIycdgJpfZlkdL2V0EA= |     - secure: iSwQW1ytg9/ntqlF1nMzYcg0ouT3TifuAzauu//vWMiRfRthAi0bLuz3nBvlkQwtUk/iF3+smdOtwvjlmW7wWdwdf9tzpsyVKVYcS/+1MbxnGXE4OyNLkUJ7KASRk4otfsujMDNO95q/m04sOLJ721dsOWR6dv+5MNJ3LrushsbFfuStHmM1cNyUR6NuPy4g/x4oppv23rbSXU/qS7ULUsOTEUuTsmgvvKQRZiiOFaOgzeHCIEdrX6Dpsx6DPtYQ5az88q6CrkkTaw7GhP1qBXAGNX03NeHPd7YZvsgePoZJEJ/jTRsZVx9LxwkmnVTJDqthgqTGXTBJIvow3oICjKLf/DhURvkHaAJPu+Nxyvxo2xgYaa0Zbau5fmhEblyKU8Q9g+ZXsdjC5uy/vqJjg1rZD9BZjbKXRP9nb5VpxLdzcWE80XpEj7tHMfF4bN7LvIHZ81wINtZdZeFLVW53YzIO0NAoRCDk1SmR6N11T1uE8FrBzO80oETUMud2zYTx9U+J0m/qsNK+fOz2GtxwI3mlU0/bgVlcFE6865lOPuRwcTOhDwGqeWsLbBYsYXaJhqktn6XKiZ/BEeJLx6Z/CvyNXbzexn1i4wyVZAK7xxkhjxFPnWFU9WPan4ibkGLsS9sFsUTLVa4oBszkTO6q5NU7vIycdgJpfZlkdL2V0EA= | ||||||
|     - secure: kj/KcPck6RHSQdcN29+OoxSufHX8KgMXs/ekVUsgcXfWb8iwo0UbfGwyPf+oy1vvjO65e0xsdGHN6Vk++opJT1qaAMpIInfh3+otXmDrT4Uq0s+vBkyQ/EPNeTy6oWK28y5+IVrR3Nd4FMK8CQ4FKzqKAAOQDkusI1182tRL9wDPnCbUD92cNcTPh7aHccSflkBOzw0G6d0v3RFIseOdYMA4DN72YfUV6RHVgOz7PSPmZ9p9lza1Fdbd1fBYoqBapzm3tIWiaU20OkyYNorZzsT+afTTpfHIb5ku+emNCiKDORuX4XQHDiS+PtqDNJRL2WsOsudVf9ckd9wpTkDj5rFnVex7GtS4z47kLDahzNWMQs4gnpDVUi3jbGeU/62EXdiAmuWs0A2kUSPYZwAKVbfIDlp3tAy0dzGivnBfTdN/TYVRm0IDRJZZNp964Tu3rGLazbRCYpGTIYz4KlMRrIN4QJj8JMmvcaOidp/xQJL+MkZTNY653VFHYeu61XEUV3RkGkkhZL967w+VuhkULDppslKExsJzXXX6ITauLu6hqAj+fWrn0WDxn/Km+sx9aJaBNqg4egT8mX5+WeDdoV+3NyODjbYUaEPKSuUkW/Skm+VGlYeyc9apahTSDe1H/W2KUcramkMT17IdPqXTqvlo+HSR97IGoE37OWKdoVM= |     - secure: kj/KcPck6RHSQdcN29+OoxSufHX8KgMXs/ekVUsgcXfWb8iwo0UbfGwyPf+oy1vvjO65e0xsdGHN6Vk++opJT1qaAMpIInfh3+otXmDrT4Uq0s+vBkyQ/EPNeTy6oWK28y5+IVrR3Nd4FMK8CQ4FKzqKAAOQDkusI1182tRL9wDPnCbUD92cNcTPh7aHccSflkBOzw0G6d0v3RFIseOdYMA4DN72YfUV6RHVgOz7PSPmZ9p9lza1Fdbd1fBYoqBapzm3tIWiaU20OkyYNorZzsT+afTTpfHIb5ku+emNCiKDORuX4XQHDiS+PtqDNJRL2WsOsudVf9ckd9wpTkDj5rFnVex7GtS4z47kLDahzNWMQs4gnpDVUi3jbGeU/62EXdiAmuWs0A2kUSPYZwAKVbfIDlp3tAy0dzGivnBfTdN/TYVRm0IDRJZZNp964Tu3rGLazbRCYpGTIYz4KlMRrIN4QJj8JMmvcaOidp/xQJL+MkZTNY653VFHYeu61XEUV3RkGkkhZL967w+VuhkULDppslKExsJzXXX6ITauLu6hqAj+fWrn0WDxn/Km+sx9aJaBNqg4egT8mX5+WeDdoV+3NyODjbYUaEPKSuUkW/Skm+VGlYeyc9apahTSDe1H/W2KUcramkMT17IdPqXTqvlo+HSR97IGoE37OWKdoVM= | ||||||
|     - secure: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I= |     - secure: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I= | ||||||
| @ -24,10 +25,12 @@ before_install: | |||||||
|   - sudo tar zxvf trivy_${TRIVY_VERSION}_Linux-64bit.tar.gz -C /usr/local/bin trivy |   - sudo tar zxvf trivy_${TRIVY_VERSION}_Linux-64bit.tar.gz -C /usr/local/bin trivy | ||||||
|   - sudo curl -L https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/goss-linux-amd64 -o /usr/local/bin/goss |   - sudo curl -L https://github.com/aelsabbahy/goss/releases/download/v$GOSS_VERSION/goss-linux-amd64 -o /usr/local/bin/goss | ||||||
|   - sudo curl -L https://raw.githubusercontent.com/fbartels/goss/dcgoss-v2/extras/dcgoss/dcgoss -o /usr/local/bin/dcgoss |   - sudo curl -L https://raw.githubusercontent.com/fbartels/goss/dcgoss-v2/extras/dcgoss/dcgoss -o /usr/local/bin/dcgoss | ||||||
|  |   - sudo curl -L https://github.com/SimonBaeumer/commander/releases/download/v$COMMANDER_VERSION/commander-linux-amd64 -o /usr/local/bin/commander | ||||||
|   - sudo chmod +rx /usr/local/bin/hadolint |   - sudo chmod +rx /usr/local/bin/hadolint | ||||||
|   - sudo chmod +rx /usr/local/bin/docker-compose |   - sudo chmod +rx /usr/local/bin/docker-compose | ||||||
|   - sudo chmod +rx /usr/local/bin/goss |   - sudo chmod +rx /usr/local/bin/goss | ||||||
|   - sudo chmod +rx /usr/local/bin/dcgoss |   - sudo chmod +rx /usr/local/bin/dcgoss | ||||||
|  |   - sudo chmod +rx /usr/local/bin/commander | ||||||
|   - sudo apt update && sudo apt install -y expect |   - sudo apt update && sudo apt install -y expect | ||||||
|   - sudo pip install --upgrade pip && sudo pip install yamllint |   - sudo pip install --upgrade pip && sudo pip install yamllint | ||||||
|   - npm install -g eclint |   - npm install -g eclint | ||||||
| @ -36,6 +39,7 @@ install: | |||||||
|   - make lint |   - make lint | ||||||
|   - "./test.exp" |   - "./test.exp" | ||||||
|   - "./version.sh" |   - "./version.sh" | ||||||
|  |   - commander test tests/commander.yaml | ||||||
|   - make lint # rerun lint to see if output is different with .env in place |   - make lint # rerun lint to see if output is different with .env in place | ||||||
|   - echo "docker_repo=$docker_repo" >> .env |   - echo "docker_repo=$docker_repo" >> .env | ||||||
|   - echo "DOCKERREADME=yes" >> .env # add DOCKERREADME env var so that make publish also updates readme files on docker hub |   - echo "DOCKERREADME=yes" >> .env # add DOCKERREADME env var so that make publish also updates readme files on docker hub | ||||||
|  | |||||||
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							| @ -379,6 +379,9 @@ test-goss: ## Test configuration of containers with goss | |||||||
| 	GOSS_FILES_PATH=core/goss/spooler dcgoss run kopano_spooler | 	GOSS_FILES_PATH=core/goss/spooler dcgoss run kopano_spooler | ||||||
| 	GOSS_FILES_PATH=webapp dcgoss run kopano_webapp | 	GOSS_FILES_PATH=webapp dcgoss run kopano_webapp | ||||||
| 
 | 
 | ||||||
|  | test-commander: ## Test scripts with commander
 | ||||||
|  | 	COMMANDER_FILES_PATH=core/commander/server dccommander run kopano_server | ||||||
|  | 
 | ||||||
| test-security: ## Scan containers with Trivy for known security risks (not part of CI workflow for now).
 | test-security: ## Scan containers with Trivy for known security risks (not part of CI workflow for now).
 | ||||||
| 	cat $(TAG_FILE) | xargs -I % sh -c 'trivy --exit-code 0 --severity HIGH --quiet --auto-refresh %' | 	cat $(TAG_FILE) | xargs -I % sh -c 'trivy --exit-code 0 --severity HIGH --quiet --auto-refresh %' | ||||||
| 	cat $(TAG_FILE) | xargs -I % sh -c 'trivy --exit-code 1 --severity CRITICAL --quiet --auto-refresh %' | 	cat $(TAG_FILE) | xargs -I % sh -c 'trivy --exit-code 1 --severity CRITICAL --quiet --auto-refresh %' | ||||||
|  | |||||||
| @ -6,7 +6,7 @@ set -eu | |||||||
| function urldecode { : "${*//+/ }"; echo -e "${_//%/\\x}"; } | function urldecode { : "${*//+/ }"; echo -e "${_//%/\\x}"; } | ||||||
| 
 | 
 | ||||||
| function version_from_filename { | function version_from_filename { | ||||||
| 	echo "$1" | sed -r 's#[a-z]+-([0-9_.+]+)-.*#\1#' | 	echo "$1" | awk -F"-" '{print $2}' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function h5ai_query { | function h5ai_query { | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								core/commander/server/commander.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								core/commander/server/commander.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | tests: | ||||||
|  |   /kopano/start-service.sh: | ||||||
|  |     exit-code: 1 | ||||||
|  |     stderr: '/kopano/start-service.sh: line 7: DEBUG: unbound variable' | ||||||
							
								
								
									
										1
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								setup.sh
									
									
									
									
									
								
							| @ -347,4 +347,5 @@ else | |||||||
| 
 | 
 | ||||||
| 	echo ".env already exists with initial configuration" | 	echo ".env already exists with initial configuration" | ||||||
| 	echo "If you want to change the configuration, please edit .env directly" | 	echo "If you want to change the configuration, please edit .env directly" | ||||||
|  | 	exit 1 | ||||||
| fi | fi | ||||||
|  | |||||||
							
								
								
									
										33
									
								
								tests/commander.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								tests/commander.yaml
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | tests: | ||||||
|  |   setup with existing .env: | ||||||
|  |     command: ./setup.sh | ||||||
|  |     exit-code: 1 | ||||||
|  |     stdout: |- | ||||||
|  |       Creating individual env files for containers (if they do not exist already) | ||||||
|  |       .env already exists with initial configuration | ||||||
|  |       If you want to change the configuration, please edit .env directly | ||||||
|  |   ./version.sh: | ||||||
|  |     exit-code: 0 | ||||||
|  |   ./version.sh core: | ||||||
|  |     exit-code: 0 | ||||||
|  |     stdout: | ||||||
|  |       not-contains: | ||||||
|  |         - core- | ||||||
|  |         - Debian | ||||||
|  |         - amd64 | ||||||
|  |         - tar.gz | ||||||
|  |   ./version.sh webapp: | ||||||
|  |     exit-code: 0 | ||||||
|  |     stdout: | ||||||
|  |       not-contains: | ||||||
|  |         - webapp- | ||||||
|  |         - Debian | ||||||
|  |         - amd64 | ||||||
|  |         - tar.gz | ||||||
|  |   ./version.sh zpush: | ||||||
|  |     exit-code: 0 | ||||||
|  |     stdout: | ||||||
|  |       not-contains: | ||||||
|  |         - Debian | ||||||
|  |         - amd64 | ||||||
|  |         - tar.gz | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user