mirror of
				https://git.asonix.dog/asonix/relay.git
				synced 2025-10-29 12:31:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| TAG=$1
 | |
| 
 | |
| function require() {
 | |
|     if [ "$1" = "" ]; then
 | |
|         echo "input '$2' required"
 | |
|         print_help
 | |
|         exit 1
 | |
|     fi
 | |
| }
 | |
| 
 | |
| function print_help() {
 | |
|     echo "build.sh"
 | |
|     echo ""
 | |
|     echo "Usage:"
 | |
|     echo "      build.sh [tag]"
 | |
|     echo ""
 | |
|     echo "Args:"
 | |
|     echo "      tag: The git tag to create and publish"
 | |
| }
 | |
| 
 | |
| function build_image() {
 | |
|     repo=$1
 | |
|     tag=$2
 | |
|     arch=$3
 | |
| 
 | |
|     docker build \
 | |
|         --pull \
 | |
|         --build-arg TAG="${tag}" \
 | |
|         -f "Dockerfile.${arch}" \
 | |
|         -t "${repo}:${tag}-${arch}" \
 | |
|         -t "${repo}:latest-${arch}" \
 | |
|         .
 | |
| 
 | |
|     docker push "${repo}:${tag}-${arch}"
 | |
|     docker push "${repo}:latest-${arch}"
 | |
| }
 | |
| 
 | |
| require "$TAG" "tag"
 | |
| 
 | |
| if ! docker run --rm -it arm64v8/ubuntu:19.10 /bin/bash -c 'echo "docker is configured correctly"'; then
 | |
|     echo "docker is not configured to run on qemu-emulated architectures, fixing will require sudo"
 | |
|     sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
 | |
| fi
 | |
| 
 | |
| set -xe
 | |
| 
 | |
| git checkout main
 | |
| git commit -m "Version $TAG" || true
 | |
| git tag $TAG
 | |
| 
 | |
| git push origin $TAG
 | |
| git push
 | |
| 
 | |
| build_image "asonix/relay" "$TAG" "arm64v8"
 | |
| build_image "asonix/relay" "$TAG" "arm32v7"
 | |
| build_image "asonix/relay" "$TAG" "amd64"
 | |
| 
 | |
| ./manifest.sh "asonix/relay" "$TAG"
 | |
| ./manifest.sh "asonix/relay" "latest"
 | 
