You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							50 lines
						
					
					
						
							1.6 KiB
						
					
					
				| #!/bin/bash | |
|  | |
| echo ">>> Building images..." | |
| 
 | |
| source ./hooks/arches.sh | |
| 
 | |
| if [[ -z "${SOURCE_COMMIT}" ]]; then | |
|     # This var is typically predefined by Docker Hub, but it won't be | |
|     # when testing locally. | |
|     SOURCE_COMMIT="$(git rev-parse HEAD)" | |
| fi | |
| 
 | |
| # Construct a version string in the style of `build.rs`. | |
| GIT_EXACT_TAG="$(git describe --tags --abbrev=0 --exact-match 2>/dev/null)" | |
| if [[ -n "${GIT_EXACT_TAG}" ]]; then | |
|     SOURCE_VERSION="${GIT_EXACT_TAG}" | |
| else | |
|     GIT_LAST_TAG="$(git describe --tags --abbrev=0)" | |
|     SOURCE_VERSION="${GIT_LAST_TAG}-${SOURCE_COMMIT:0:8}" | |
| fi | |
| 
 | |
| LABELS=( | |
|     # https://github.com/opencontainers/image-spec/blob/master/annotations.md | |
|     org.opencontainers.image.created="$(date --utc --iso-8601=seconds)" | |
|     org.opencontainers.image.documentation="https://github.com/dani-garcia/vaultwarden/wiki" | |
|     org.opencontainers.image.licenses="GPL-3.0-only" | |
|     org.opencontainers.image.revision="${SOURCE_COMMIT}" | |
|     org.opencontainers.image.source="${SOURCE_REPOSITORY_URL}" | |
|     org.opencontainers.image.url="https://hub.docker.com/r/${DOCKER_REPO#*/}" | |
|     org.opencontainers.image.version="${SOURCE_VERSION}" | |
| ) | |
| LABEL_ARGS=() | |
| for label in "${LABELS[@]}"; do | |
|     LABEL_ARGS+=(--label "${label}") | |
| done | |
| 
 | |
| # Check if DOCKER_BUILDKIT is set, if so, use the Dockerfile.buildx as template | |
| if [[ -n "${DOCKER_BUILDKIT}" ]]; then | |
|     buildx_suffix=.buildx | |
| fi | |
| 
 | |
| set -ex | |
| 
 | |
| for arch in "${arches[@]}"; do | |
|     docker build \ | |
|            "${LABEL_ARGS[@]}" \ | |
|            -t "${DOCKER_REPO}:${DOCKER_TAG}-${arch}" \ | |
|            -f docker/${arch}/Dockerfile${buildx_suffix}${distro_suffix} \ | |
|            . | |
| done
 | |
| 
 |