diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 074340b..ad7a16f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -302,3 +302,75 @@ jobs: set: | t1.tags=localhost:5000/name/app:t1 t2.tags=localhost:5000/name/app:t2 + + 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@v4 + - + 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: + files: | + ./test/config.hcl + targets: app-proxy + + 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@v4 + - + 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: + files: | + ./test/config.hcl diff --git a/test/config.hcl b/test/config.hcl index 3148894..3d74018 100644 --- a/test/config.hcl +++ b/test/config.hcl @@ -37,3 +37,8 @@ target "app-plus" { IAMPLUS = "true" } } + +target "app-proxy" { + inherits = ["app"] + dockerfile = "proxy.Dockerfile" +} diff --git a/test/proxy.Dockerfile b/test/proxy.Dockerfile new file mode 100644 index 0000000..fa38863 --- /dev/null +++ b/test/proxy.Dockerfile @@ -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