mirror of
				https://github.com/nadoo/glider.git
				synced 2025-10-31 22:05:51 +08:00 
			
		
		
		
	ci: build docker image for riscv64 platform
This commit is contained in:
		
							parent
							
								
									341a309198
								
							
						
					
					
						commit
						decabcca6a
					
				
							
								
								
									
										65
									
								
								.Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								.Dockerfile
									
									
									
									
									
								
							| @ -1,39 +1,40 @@ | |||||||
| FROM alpine AS build-env | FROM --platform=$BUILDPLATFORM alpine as build-env | ||||||
| COPY ./dist /dist | COPY ./dist /dist | ||||||
| RUN arch="$(apk --print-arch)"; \ | RUN apk add --no-cache ca-certificates | ||||||
| 	case "$arch" in \ | 
 | ||||||
| 		'x86_64') \ | ARG TARGETPLATFORM | ||||||
| 			export FOLDER='default_linux_amd64_v1'; \ | RUN case $TARGETPLATFORM in \ | ||||||
| 			;; \ | 	'linux/386') \ | ||||||
| 		'armhf') \ | 		export FOLDER='default_linux_386'; \ | ||||||
| 			export FOLDER='default_linux_arm_6'; \ | 		;; \ | ||||||
| 			;; \ | 	'linux/amd64') \ | ||||||
| 		'armv7') \ | 		export FOLDER='default_linux_amd64_v1'; \ | ||||||
| 			export FOLDER='default_linux_arm_7'; \ | 		;; \ | ||||||
| 			;; \ | 	'linux/arm/v6') \ | ||||||
| 		'aarch64') \ | 		export FOLDER='default_linux_arm_6'; \ | ||||||
| 			export FOLDER='default_linux_arm64'; \ | 		;; \ | ||||||
| 			;; \ | 	'linux/arm/v7') \ | ||||||
| 		'x86') \ | 		export FOLDER='default_linux_arm_7'; \ | ||||||
| 			export FOLDER='default_linux_386'; \ | 		;; \ | ||||||
| 			;; \ | 	'linux/arm64') \ | ||||||
| 		*) echo >&2 "error: unsupported architecture '$arch'"; exit 1 ;; \ | 		export FOLDER='default_linux_arm64'; \ | ||||||
| 	esac \ | 		;; \ | ||||||
|     && mv /dist/$FOLDER /app ; \ | 	'linux/riscv64') \ | ||||||
|  | 		export FOLDER='default_linux_riscv64'; \ | ||||||
|  | 		;; \ | ||||||
|  | 	*) echo >&2 "error: unsupported architecture '$TARGETPLATFORM'"; exit 1 ;; \ | ||||||
|  | esac \ | ||||||
|  | 	&& mv /dist/$FOLDER /app ; \ | ||||||
|     rm /dist -rf |     rm /dist -rf | ||||||
| 
 | 
 | ||||||
| FROM alpine | 
 | ||||||
|  | FROM scratch | ||||||
| 
 | 
 | ||||||
| WORKDIR /app | WORKDIR /app | ||||||
| COPY --from=build-env /app /app | COPY --from=build-env \ | ||||||
|  |     /etc/ssl/certs/ca-certificates.crt \ | ||||||
|  |     /etc/ssl/certs/ca-certificates.crt | ||||||
|  | COPY --from=build-env --chown=1000:1000 /app /app | ||||||
| 
 | 
 | ||||||
| RUN apk -U upgrade --no-cache \ | USER 1000 | ||||||
|     && apk --no-cache add ca-certificates shadow tzdata \ |  | ||||||
|     && groupadd -g 1000 glider \ |  | ||||||
|     && useradd -r -u 1000 -g glider glider \ |  | ||||||
|     && apk --no-cache del shadow \ |  | ||||||
|     && chown -R glider:glider /app \ |  | ||||||
|     && chmod +x /app/glider |  | ||||||
|      |  | ||||||
| USER glider |  | ||||||
| ENTRYPOINT ["./glider"] | ENTRYPOINT ["./glider"] | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @ -11,7 +11,7 @@ env: | |||||||
|   APP_NAME: glider |   APP_NAME: glider | ||||||
|   DOCKERHUB_REPO: nadoo/glider |   DOCKERHUB_REPO: nadoo/glider | ||||||
|   GHCR_REPO: ghcr.io/nadoo/glider |   GHCR_REPO: ghcr.io/nadoo/glider | ||||||
|   PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 |   PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/riscv64 | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   build: |   build: | ||||||
| @ -97,9 +97,6 @@ jobs: | |||||||
|         env: |         env: | ||||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
| 
 | 
 | ||||||
|       - name: Docker - Set up QEMU |  | ||||||
|         uses: docker/setup-qemu-action@v1 |  | ||||||
| 
 |  | ||||||
|       - name: Docker - Set up Buildx |       - name: Docker - Set up Buildx | ||||||
|         id: buildx |         id: buildx | ||||||
|         uses: docker/setup-buildx-action@v1 |         uses: docker/setup-buildx-action@v1 | ||||||
|  | |||||||
| @ -428,7 +428,7 @@ Examples: | |||||||
|     ``` |     ``` | ||||||
|     docker run -d --name glider --net host --restart=always \ |     docker run -d --name glider --net host --restart=always \ | ||||||
|       -v /etc/glider:/etc/glider \ |       -v /etc/glider:/etc/glider \ | ||||||
|       -e "TZ=Europe/London" \ |       -v /etc/localtime:/etc/localtime:ro \ | ||||||
|       nadoo/glider -config=/etc/glider/glider.conf |       nadoo/glider -config=/etc/glider/glider.conf | ||||||
|     ``` |     ``` | ||||||
|   - run watchtower (if you need auto update for glider) |   - run watchtower (if you need auto update for glider) | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							| @ -12,7 +12,7 @@ require ( | |||||||
| 	github.com/nadoo/ipset v0.5.0 | 	github.com/nadoo/ipset v0.5.0 | ||||||
| 	github.com/xtaci/kcp-go/v5 v5.6.1 | 	github.com/xtaci/kcp-go/v5 v5.6.1 | ||||||
| 	golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 | 	golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 | ||||||
| 	golang.org/x/sys v0.0.0-20220412211240-33da011f77ad | 	golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| require ( | require ( | ||||||
| @ -26,7 +26,7 @@ require ( | |||||||
| 	github.com/templexxx/xorsimd v0.4.1 // indirect | 	github.com/templexxx/xorsimd v0.4.1 // indirect | ||||||
| 	github.com/tjfoc/gmsm v1.4.1 // indirect | 	github.com/tjfoc/gmsm v1.4.1 // indirect | ||||||
| 	github.com/u-root/uio v0.0.0-20220204230159-dac05f7d2cb4 // indirect | 	github.com/u-root/uio v0.0.0-20220204230159-dac05f7d2cb4 // indirect | ||||||
| 	golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2 // indirect | 	golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 // indirect | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Replace dependency modules with local developing copy | // Replace dependency modules with local developing copy | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								go.sum
									
									
									
									
									
								
							| @ -49,6 +49,7 @@ github.com/jsimonetti/rtnetlink v0.0.0-20201009170750-9c6f07d100c1/go.mod h1:hqo | |||||||
| github.com/jsimonetti/rtnetlink v0.0.0-20201110080708-d2c240429e6c/go.mod h1:huN4d1phzjhlOsNIjFsw2SVRbwIHj3fJDMEU2SDPTmg= | github.com/jsimonetti/rtnetlink v0.0.0-20201110080708-d2c240429e6c/go.mod h1:huN4d1phzjhlOsNIjFsw2SVRbwIHj3fJDMEU2SDPTmg= | ||||||
| github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= | github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= | ||||||
| github.com/klauspost/cpuid v1.2.4/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= | github.com/klauspost/cpuid v1.2.4/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= | ||||||
|  | github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s= | ||||||
| github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4= | github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4= | ||||||
| github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||||
| github.com/klauspost/cpuid/v2 v2.0.12 h1:p9dKCg8i4gmOxtv35DvrYoWqYzQrvEVdjQ762Y0OqZE= | github.com/klauspost/cpuid/v2 v2.0.12 h1:p9dKCg8i4gmOxtv35DvrYoWqYzQrvEVdjQ762Y0OqZE= | ||||||
| @ -138,6 +139,8 @@ golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwY | |||||||
| golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | ||||||
| golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2 h1:6mzvA99KwZxbOrxww4EvWVQUnN1+xEu9tafK5ZxkYeA= | golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2 h1:6mzvA99KwZxbOrxww4EvWVQUnN1+xEu9tafK5ZxkYeA= | ||||||
| golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= | golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= | ||||||
|  | golang.org/x/net v0.0.0-20220421235706-1d1ef9303861 h1:yssD99+7tqHWO5Gwh81phT+67hg+KttniBr6UnEXOY8= | ||||||
|  | golang.org/x/net v0.0.0-20220421235706-1d1ef9303861/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= | ||||||
| golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| @ -166,6 +169,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc | |||||||
| golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0= | golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0= | ||||||
| golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
|  | golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 h1:xHms4gcpe1YE7A3yIllJXP16CMAGuqwO2lX1mTyyRRc= | ||||||
|  | golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= | golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= | ||||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 nadoo
						nadoo