Merge pull request #872 from crazy-max/ci-proxy
display proxy configuration
This commit is contained in:
		
						commit
						be4bf1099e
					
				
							
								
								
									
										71
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										71
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -1001,3 +1001,74 @@ jobs: | ||||
|           file: ./test/named-context.Dockerfile | ||||
|           build-contexts: | | ||||
|             alpine=docker-image://localhost:5000/my-base-image:latest | ||||
| 
 | ||||
|   proxy-docker-config: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       squid-proxy: | ||||
|         image: ubuntu/squid:latest | ||||
|         ports: | ||||
|           - 3128:3128 | ||||
|     steps: | ||||
|       - | ||||
|         name: Check proxy | ||||
|         run: | | ||||
|           netstat -aptn | ||||
|           curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com | ||||
|       - | ||||
|         name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - | ||||
|         name: Set proxy config | ||||
|         run: | | ||||
|           mkdir -p ~/.docker | ||||
|           echo '{"proxies":{"default":{"httpProxy":"http://127.0.0.1:3128","httpsProxy":"http://127.0.0.1:3128"}}}' > ~/.docker/config.json | ||||
|       - | ||||
|         name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v2 | ||||
|         with: | ||||
|           version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} | ||||
|           driver-opts: | | ||||
|             image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }} | ||||
|             network=host | ||||
|           buildkitd-flags: --debug | ||||
|       - | ||||
|         name: Build | ||||
|         uses: ./ | ||||
|         with: | ||||
|           context: ./test | ||||
|           file: ./test/proxy.Dockerfile | ||||
| 
 | ||||
|   proxy-buildkitd: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       squid-proxy: | ||||
|         image: ubuntu/squid:latest | ||||
|         ports: | ||||
|           - 3128:3128 | ||||
|     steps: | ||||
|       - | ||||
|         name: Check proxy | ||||
|         run: | | ||||
|           netstat -aptn | ||||
|           curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com | ||||
|       - | ||||
|         name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - | ||||
|         name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v2 | ||||
|         with: | ||||
|           version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} | ||||
|           driver-opts: | | ||||
|             image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }} | ||||
|             network=host | ||||
|             env.http_proxy=http://127.0.0.1:3128 | ||||
|             env.https_proxy=http://127.0.0.1:3128 | ||||
|           buildkitd-flags: --debug | ||||
|       - | ||||
|         name: Build | ||||
|         uses: ./ | ||||
|         with: | ||||
|           context: ./test | ||||
|           file: ./test/Dockerfile | ||||
|  | ||||
							
								
								
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										16
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								src/main.ts
									
									
									
									
									
								
							| @ -34,6 +34,22 @@ actionsToolkit.run( | ||||
|       } | ||||
|     }); | ||||
| 
 | ||||
|     const dockerConfig = await Docker.configFile(); | ||||
|     if (dockerConfig && dockerConfig.proxies) { | ||||
|       await core.group(`Proxy configuration found`, async () => { | ||||
|         for (const host in dockerConfig.proxies) { | ||||
|           let prefix = ''; | ||||
|           if (dockerConfig.proxies.length > 1) { | ||||
|             prefix = '  '; | ||||
|             core.info(host); | ||||
|           } | ||||
|           for (const key in dockerConfig.proxies[host]) { | ||||
|             core.info(`${prefix}${key}: ${dockerConfig.proxies[host][key]}`); | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
| 
 | ||||
|     if (!(await toolkit.buildx.isAvailable())) { | ||||
|       core.setFailed(`Docker buildx is required. See https://github.com/docker/setup-buildx-action to set up buildx.`); | ||||
|       return; | ||||
|  | ||||
							
								
								
									
										9
									
								
								test/proxy.Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/proxy.Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| # syntax=docker/dockerfile:1 | ||||
| FROM alpine | ||||
| RUN apk add --no-cache curl net-tools | ||||
| ARG HTTP_PROXY | ||||
| ARG HTTPS_PROXY | ||||
| RUN printenv HTTP_PROXY | ||||
| RUN printenv HTTPS_PROXY | ||||
| RUN netstat -aptn | ||||
| RUN curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy $HTTP_PROXY -v --insecure --head https://www.google.com | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user