mirror of
				https://github.com/docker/setup-buildx-action.git
				synced 2025-11-04 06:34:19 +08:00 
			
		
		
		
	Compare commits
	
		
			No commits in common. "master" and "v3.8.0" have entirely different histories.
		
	
	
		
	
		
							
								
								
									
										115
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										115
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@ -5,7 +5,6 @@ concurrency:
 | 
			
		||||
  cancel-in-progress: true
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron: '0 10 * * *'
 | 
			
		||||
  push:
 | 
			
		||||
@ -32,7 +31,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        id: buildx
 | 
			
		||||
@ -51,7 +50,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx 1
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -64,7 +63,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Stop docker
 | 
			
		||||
        run: |
 | 
			
		||||
@ -92,7 +91,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Create Dockerfile
 | 
			
		||||
        run: |
 | 
			
		||||
@ -120,7 +119,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -142,7 +141,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -165,7 +164,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -178,7 +177,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -211,7 +210,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Create context
 | 
			
		||||
        run: |
 | 
			
		||||
@ -233,7 +232,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Create buildkitd conf
 | 
			
		||||
        run: |
 | 
			
		||||
@ -265,7 +264,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Create Dockerfile
 | 
			
		||||
        run: |
 | 
			
		||||
@ -301,7 +300,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up QEMU
 | 
			
		||||
        uses: docker/setup-qemu-action@v3
 | 
			
		||||
@ -330,7 +329,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -353,7 +352,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Uninstall docker cli
 | 
			
		||||
        run: |
 | 
			
		||||
@ -381,7 +380,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Uninstall docker cli
 | 
			
		||||
        run: |
 | 
			
		||||
@ -412,7 +411,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Uninstall docker cli
 | 
			
		||||
        run: |
 | 
			
		||||
@ -442,7 +441,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Create dummy contexts
 | 
			
		||||
        run: |
 | 
			
		||||
@ -471,7 +470,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up QEMU
 | 
			
		||||
        uses: docker/setup-qemu-action@v3
 | 
			
		||||
@ -486,7 +485,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Create Docker context
 | 
			
		||||
        run: |
 | 
			
		||||
@ -509,7 +508,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
@ -517,21 +516,22 @@ jobs:
 | 
			
		||||
          cleanup: ${{ matrix.cleanup }}
 | 
			
		||||
 | 
			
		||||
  k3s:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    runs-on: ubuntu-20.04
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        version:
 | 
			
		||||
          - latest
 | 
			
		||||
          - v0.11.0
 | 
			
		||||
          - v0.10.5
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Install k3s
 | 
			
		||||
        uses: crazy-max/.github/.github/actions/install-k3s@a94383ec9e125b23907fb6fcebf7ff87964595e5
 | 
			
		||||
        uses: crazy-max/.github/.github/actions/install-k3s@605d30d5ae97f6680578ace4b56645af79343e60
 | 
			
		||||
        with:
 | 
			
		||||
          version: "v1.21.2-k3s1"
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        id: buildx
 | 
			
		||||
@ -576,73 +576,10 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
        with:
 | 
			
		||||
          version: v0.11.2
 | 
			
		||||
          cache-binary: ${{ matrix.cache }}
 | 
			
		||||
 | 
			
		||||
  windows-error:
 | 
			
		||||
    runs-on: windows-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        id: buildx
 | 
			
		||||
        continue-on-error: true
 | 
			
		||||
        uses: ./
 | 
			
		||||
      -
 | 
			
		||||
        name: Check
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "${{ toJson(steps.buildx) }}"
 | 
			
		||||
          if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
 | 
			
		||||
            echo "::error::Should have failed"
 | 
			
		||||
            exit 1
 | 
			
		||||
          fi
 | 
			
		||||
        shell: bash
 | 
			
		||||
 | 
			
		||||
  keep-state:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
        with:
 | 
			
		||||
          name: foo
 | 
			
		||||
          keep-state: true
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
        with:
 | 
			
		||||
          name: foo
 | 
			
		||||
          keep-state: true
 | 
			
		||||
 | 
			
		||||
  keep-state-error:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        id: buildx
 | 
			
		||||
        continue-on-error: true
 | 
			
		||||
        uses: ./
 | 
			
		||||
        with:
 | 
			
		||||
          driver: docker
 | 
			
		||||
          keep-state: true
 | 
			
		||||
      -
 | 
			
		||||
        name: Check
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "${{ toJson(steps.buildx) }}"
 | 
			
		||||
          if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
 | 
			
		||||
            echo "::error::Should have failed"
 | 
			
		||||
            exit 1
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										17
									
								
								.github/workflows/pr-assign-author.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/pr-assign-author.yml
									
									
									
									
										vendored
									
									
								
							@ -1,17 +0,0 @@
 | 
			
		||||
name: pr-assign-author
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  contents: read
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types:
 | 
			
		||||
      - opened
 | 
			
		||||
      - reopened
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  run:
 | 
			
		||||
    uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@1b673f36fad86812f538c1df9794904038a23cbf
 | 
			
		||||
    permissions:
 | 
			
		||||
      contents: read
 | 
			
		||||
      pull-requests: write
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/publish.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/publish.yml
									
									
									
									
										vendored
									
									
								
							@ -15,7 +15,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Publish
 | 
			
		||||
        uses: actions/publish-immutable-action@v0.0.4
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							@ -17,13 +17,13 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Set up Docker Buildx
 | 
			
		||||
        uses: ./
 | 
			
		||||
      -
 | 
			
		||||
        name: Test
 | 
			
		||||
        uses: docker/bake-action@v6
 | 
			
		||||
        uses: docker/bake-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          targets: test
 | 
			
		||||
      -
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								.github/workflows/validate.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/validate.yml
									
									
									
									
										vendored
									
									
								
							@ -15,17 +15,16 @@ jobs:
 | 
			
		||||
  prepare:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    outputs:
 | 
			
		||||
      targets: ${{ steps.generate.outputs.targets }}
 | 
			
		||||
      targets: ${{ steps.targets.outputs.matrix }}
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: List targets
 | 
			
		||||
        id: generate
 | 
			
		||||
        uses: docker/bake-action/subaction/list-targets@v6
 | 
			
		||||
        with:
 | 
			
		||||
          target: validate
 | 
			
		||||
        name: Targets matrix
 | 
			
		||||
        id: targets
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
 | 
			
		||||
 | 
			
		||||
  validate:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
@ -36,8 +35,11 @@ jobs:
 | 
			
		||||
      matrix:
 | 
			
		||||
        target: ${{ fromJson(needs.prepare.outputs.targets) }}
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        name: Validate
 | 
			
		||||
        uses: docker/bake-action@v6
 | 
			
		||||
        uses: docker/bake-action@v5
 | 
			
		||||
        with:
 | 
			
		||||
          targets: ${{ matrix.target }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										541
									
								
								.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										541
									
								
								.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										12
									
								
								.yarnrc.yml
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								.yarnrc.yml
									
									
									
									
									
								
							@ -1,9 +1,3 @@
 | 
			
		||||
# https://yarnpkg.com/configuration/yarnrc
 | 
			
		||||
 | 
			
		||||
compressionLevel: mixed
 | 
			
		||||
enableGlobalCache: false
 | 
			
		||||
enableHardenedMode: true
 | 
			
		||||
 | 
			
		||||
logFilters:
 | 
			
		||||
  - code: YN0013
 | 
			
		||||
    level: discard
 | 
			
		||||
@ -11,7 +5,9 @@ logFilters:
 | 
			
		||||
    level: discard
 | 
			
		||||
  - code: YN0076
 | 
			
		||||
    level: discard
 | 
			
		||||
  - code: YN0086
 | 
			
		||||
    level: discard
 | 
			
		||||
 | 
			
		||||
nodeLinker: node-modules
 | 
			
		||||
 | 
			
		||||
plugins:
 | 
			
		||||
  - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
 | 
			
		||||
    spec: "@yarnpkg/plugin-interactive-tools"
 | 
			
		||||
 | 
			
		||||
@ -42,7 +42,7 @@ jobs:
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
        name: Checkout
 | 
			
		||||
        uses: actions/checkout@v5
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
      -
 | 
			
		||||
        # Add support for more platforms with QEMU (optional)
 | 
			
		||||
        # https://github.com/docker/setup-qemu-action
 | 
			
		||||
@ -86,9 +86,8 @@ The following inputs can be used as `step.with` keys:
 | 
			
		||||
> ```
 | 
			
		||||
 | 
			
		||||
| Name                         | Type     | Default            | Description                                                                                                                                                                  |
 | 
			
		||||
|------------------------------|----------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | 
			
		||||
|------------------------------|----------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | 
			
		||||
| `version`                    | String   |                    | [Buildx](https://github.com/docker/buildx) version. (eg. `v0.3.0`, `latest`, `https://github.com/docker/buildx.git#master`)                                                  |
 | 
			
		||||
| `name`                       | String   |                    | Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one                                         |
 | 
			
		||||
| `driver`                     | String   | `docker-container` | Sets the [builder driver](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver) to be used                                                             |
 | 
			
		||||
| `driver-opts`                | List     |                    | List of additional [driver-specific options](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver-opt) (eg. `image=moby/buildkit:master`)              |
 | 
			
		||||
| `buildkitd-flags`            | String   |                    | [BuildKit daemon flags](https://docs.docker.com/engine/reference/commandline/buildx_create/#buildkitd-flags)                                                                 |
 | 
			
		||||
@ -97,9 +96,8 @@ The following inputs can be used as `step.with` keys:
 | 
			
		||||
| `install`                    | Bool     | `false`            | Sets up `docker build` command as an alias to `docker buildx`                                                                                                                |
 | 
			
		||||
| `use`                        | Bool     | `true`             | Switch to this builder instance                                                                                                                                              |
 | 
			
		||||
| `endpoint`                   | String   |                    | [Optional address for docker socket](https://docs.docker.com/engine/reference/commandline/buildx_create/#description) or context from `docker context ls`                    |
 | 
			
		||||
| `platforms`                  | List/CSV |                    | Fixed [platforms](https://docs.docker.com/engine/reference/commandline/buildx_create/#platform) for current node. If not empty, values take priority over the detected ones |
 | 
			
		||||
| `platforms`                  | List/CSV |                    | Fixed [platforms](https://docs.docker.com/engine/reference/commandline/buildx_create/#platform) for current node. If not empty, values take priority over the detected ones. |
 | 
			
		||||
| `append`                     | YAML     |                    | [Append additional nodes](https://docs.docker.com/build/ci/github-actions/configure-builder/#append-additional-nodes-to-the-builder) to the builder                          |
 | 
			
		||||
| `keep-state`                 | Bool     | `false`            | Keep BuildKit state on `cleanup`. This is only useful on persistent self-hosted runners                                                                                     |
 | 
			
		||||
| `cache-binary`               | Bool     | `true`             | Cache buildx binary to GitHub Actions cache backend                                                                                                                          |
 | 
			
		||||
| `cleanup`                    | Bool     | `true`             | Cleanup temp files and remove builder at the end of a job                                                                                                                    |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -56,7 +56,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -75,7 +74,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -94,7 +92,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['driver-opts', 'image=moby/buildkit:master\nnetwork=host'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -115,7 +112,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -136,7 +132,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -156,7 +151,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['driver-opts', `"env.no_proxy=localhost,127.0.0.1,.mydomain"`],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -175,7 +169,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['platforms', 'linux/amd64\n"linux/arm64,linux/arm/v7"'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -194,7 +187,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['driver', 'unknown'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -211,7 +203,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['buildkitd-config', path.join(fixturesDir, 'buildkitd.toml')],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -230,7 +221,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['buildkitd-config-inline', 'debug = true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -250,7 +240,6 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        ['buildkitd-flags', '--allow-insecure-entitlement network.host'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
@ -258,45 +247,7 @@ describe('getCreateArgs', () => {
 | 
			
		||||
        '--driver', 'cloud',
 | 
			
		||||
        '--buildkitd-flags', '--allow-insecure-entitlement network.host',
 | 
			
		||||
      ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      11,
 | 
			
		||||
      'v0.10.3',
 | 
			
		||||
      new Map<string, string>([
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['keep-state', 'false'],
 | 
			
		||||
        ['name', 'test-builder-name'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
        '--name', 'test-builder-name',
 | 
			
		||||
        '--driver', 'docker-container',
 | 
			
		||||
        '--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
 | 
			
		||||
        '--use'
 | 
			
		||||
    ]
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      12,
 | 
			
		||||
      'v0.10.3',
 | 
			
		||||
      new Map<string, string>([
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['keep-state', 'true'],
 | 
			
		||||
        ['name', 'test-builder-name'],
 | 
			
		||||
      ]),
 | 
			
		||||
      [
 | 
			
		||||
        'create',
 | 
			
		||||
        '--name', 'test-builder-name',
 | 
			
		||||
        '--driver', 'docker-container',
 | 
			
		||||
        '--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
 | 
			
		||||
        '--use',
 | 
			
		||||
      ]
 | 
			
		||||
    ],
 | 
			
		||||
  ])(
 | 
			
		||||
    '[%d] given buildx %s and %p as inputs, returns %p',
 | 
			
		||||
    async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
 | 
			
		||||
@ -334,7 +285,6 @@ describe('getAppendArgs', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      {
 | 
			
		||||
        "name": "aws_graviton2",
 | 
			
		||||
@ -393,7 +343,6 @@ describe('getVersion', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      ''
 | 
			
		||||
    ],
 | 
			
		||||
@ -405,8 +354,7 @@ describe('getVersion', () => {
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
        ['cleanup', 'true']
 | 
			
		||||
      ]),
 | 
			
		||||
      'latest'
 | 
			
		||||
    ],
 | 
			
		||||
@ -418,8 +366,7 @@ describe('getVersion', () => {
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
        ['cleanup', 'true']
 | 
			
		||||
      ]),
 | 
			
		||||
      'edge'
 | 
			
		||||
    ],
 | 
			
		||||
@ -431,8 +378,7 @@ describe('getVersion', () => {
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
        ['cleanup', 'true']
 | 
			
		||||
      ]),
 | 
			
		||||
      'v0.19.2'
 | 
			
		||||
    ],
 | 
			
		||||
@ -445,8 +391,7 @@ describe('getVersion', () => {
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
        ['cleanup', 'true']
 | 
			
		||||
      ]),
 | 
			
		||||
      'cloud:latest'
 | 
			
		||||
    ],
 | 
			
		||||
@ -459,8 +404,7 @@ describe('getVersion', () => {
 | 
			
		||||
        ['install', 'false'],
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
        ['cleanup', 'true']
 | 
			
		||||
      ]),
 | 
			
		||||
      'cloud:edge'
 | 
			
		||||
    ],
 | 
			
		||||
@ -473,7 +417,6 @@ describe('getVersion', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      'cloud:latest'
 | 
			
		||||
    ],
 | 
			
		||||
@ -487,7 +430,6 @@ describe('getVersion', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      'cloud:v0.11.2-desktop.2'
 | 
			
		||||
    ],
 | 
			
		||||
@ -500,7 +442,6 @@ describe('getVersion', () => {
 | 
			
		||||
        ['use', 'true'],
 | 
			
		||||
        ['cache-binary', 'true'],
 | 
			
		||||
        ['cleanup', 'true'],
 | 
			
		||||
        ['keep-state', 'false']
 | 
			
		||||
      ]),
 | 
			
		||||
      'cloud:v0.11.2-desktop.2'
 | 
			
		||||
    ],
 | 
			
		||||
 | 
			
		||||
@ -34,9 +34,6 @@ inputs:
 | 
			
		||||
    description: 'Switch to this builder instance'
 | 
			
		||||
    default: 'true'
 | 
			
		||||
    required: false
 | 
			
		||||
  name:
 | 
			
		||||
    description: 'Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one.'
 | 
			
		||||
    required: false
 | 
			
		||||
  endpoint:
 | 
			
		||||
    description: 'Optional address for docker socket or context from `docker context ls`'
 | 
			
		||||
    required: false
 | 
			
		||||
@ -46,10 +43,6 @@ inputs:
 | 
			
		||||
  append:
 | 
			
		||||
    description: 'Append additional nodes to the builder'
 | 
			
		||||
    required: false
 | 
			
		||||
  keep-state:
 | 
			
		||||
    description: 'Keep BuildKit state on cleanup. This is only useful on persistent self-hosted runners.'
 | 
			
		||||
    default: 'false'
 | 
			
		||||
    required: false
 | 
			
		||||
  cache-binary:
 | 
			
		||||
    description: 'Cache buildx binary to GitHub Actions cache backend'
 | 
			
		||||
    default: 'true'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										38
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								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
											
										
									
								
							
							
								
								
									
										6
									
								
								dist/licenses.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/licenses.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -2358,6 +2358,9 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
 | 
			
		||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dot-object
 | 
			
		||||
MIT
 | 
			
		||||
 | 
			
		||||
encoding
 | 
			
		||||
MIT
 | 
			
		||||
Copyright (c) 2012-2014 Andris Reinman
 | 
			
		||||
@ -3633,6 +3636,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
twirp-ts
 | 
			
		||||
MIT
 | 
			
		||||
 | 
			
		||||
undici
 | 
			
		||||
MIT
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								dist/sourcemap-register.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/sourcemap-register.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -1,9 +1,3 @@
 | 
			
		||||
target "_common" {
 | 
			
		||||
  args = {
 | 
			
		||||
    BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "default" {
 | 
			
		||||
  targets = ["build"]
 | 
			
		||||
}
 | 
			
		||||
@ -17,49 +11,42 @@ group "validate" {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "build" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "build-update"
 | 
			
		||||
  output = ["."]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "build-validate" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "build-validate"
 | 
			
		||||
  output = ["type=cacheonly"]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "format" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "format-update"
 | 
			
		||||
  output = ["."]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "lint" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "lint"
 | 
			
		||||
  output = ["type=cacheonly"]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "vendor" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "vendor-update"
 | 
			
		||||
  output = ["."]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "vendor-validate" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "vendor-validate"
 | 
			
		||||
  output = ["type=cacheonly"]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "test" {
 | 
			
		||||
  inherits = ["_common"]
 | 
			
		||||
  dockerfile = "dev.Dockerfile"
 | 
			
		||||
  target = "test-coverage"
 | 
			
		||||
  output = ["./coverage"]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								package.json
									
									
									
									
									
								
							@ -23,27 +23,27 @@
 | 
			
		||||
  ],
 | 
			
		||||
  "author": "Docker Inc.",
 | 
			
		||||
  "license": "Apache-2.0",
 | 
			
		||||
  "packageManager": "yarn@4.9.2",
 | 
			
		||||
  "packageManager": "yarn@3.6.3",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@actions/core": "^1.11.1",
 | 
			
		||||
    "@docker/actions-toolkit": "^0.63.0",
 | 
			
		||||
    "@docker/actions-toolkit": "^0.48.0",
 | 
			
		||||
    "js-yaml": "^4.1.0"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/js-yaml": "^4.0.9",
 | 
			
		||||
    "@types/node": "^20.19.9",
 | 
			
		||||
    "@types/node": "^20.12.12",
 | 
			
		||||
    "@types/uuid": "^10.0.0",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^7.18.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^7.18.0",
 | 
			
		||||
    "@vercel/ncc": "^0.38.3",
 | 
			
		||||
    "eslint": "^8.57.1",
 | 
			
		||||
    "eslint-config-prettier": "^9.1.2",
 | 
			
		||||
    "eslint-plugin-jest": "^28.14.0",
 | 
			
		||||
    "eslint-plugin-prettier": "^5.5.4",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^7.9.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^7.9.0",
 | 
			
		||||
    "@vercel/ncc": "^0.38.1",
 | 
			
		||||
    "eslint": "^8.57.0",
 | 
			
		||||
    "eslint-config-prettier": "^9.1.0",
 | 
			
		||||
    "eslint-plugin-jest": "^28.5.0",
 | 
			
		||||
    "eslint-plugin-prettier": "^5.1.3",
 | 
			
		||||
    "jest": "^29.7.0",
 | 
			
		||||
    "prettier": "^3.6.2",
 | 
			
		||||
    "ts-jest": "^29.4.1",
 | 
			
		||||
    "prettier": "^3.2.5",
 | 
			
		||||
    "ts-jest": "^29.1.2",
 | 
			
		||||
    "ts-node": "^10.9.2",
 | 
			
		||||
    "typescript": "^5.9.2"
 | 
			
		||||
    "typescript": "^5.4.5"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -25,13 +25,12 @@ export interface Inputs {
 | 
			
		||||
  append: string;
 | 
			
		||||
  cacheBinary: boolean;
 | 
			
		||||
  cleanup: boolean;
 | 
			
		||||
  keepState: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function getInputs(): Promise<Inputs> {
 | 
			
		||||
  return {
 | 
			
		||||
    version: core.getInput('version'),
 | 
			
		||||
    name: await getBuilderName(core.getInput('name'), core.getInput('driver') || 'docker-container'),
 | 
			
		||||
    name: await getBuilderName(core.getInput('driver') || 'docker-container'),
 | 
			
		||||
    driver: core.getInput('driver') || 'docker-container',
 | 
			
		||||
    driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}),
 | 
			
		||||
    buildkitdFlags: core.getInput('buildkitd-flags'),
 | 
			
		||||
@ -42,14 +41,13 @@ export async function getInputs(): Promise<Inputs> {
 | 
			
		||||
    buildkitdConfig: core.getInput('buildkitd-config') || core.getInput('config'),
 | 
			
		||||
    buildkitdConfigInline: core.getInput('buildkitd-config-inline') || core.getInput('config-inline'),
 | 
			
		||||
    append: core.getInput('append'),
 | 
			
		||||
    keepState: core.getBooleanInput('keep-state'),
 | 
			
		||||
    cacheBinary: core.getBooleanInput('cache-binary'),
 | 
			
		||||
    cleanup: core.getBooleanInput('cleanup')
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function getBuilderName(name: string, driver: string): Promise<string> {
 | 
			
		||||
  return driver == 'docker' ? await Docker.context() : name || `builder-${crypto.randomUUID()}`;
 | 
			
		||||
export async function getBuilderName(driver: string): Promise<string> {
 | 
			
		||||
  return driver == 'docker' ? await Docker.context() : `builder-${crypto.randomUUID()}`;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										25
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								src/main.ts
									
									
									
									
									
								
							@ -28,12 +28,6 @@ actionsToolkit.run(
 | 
			
		||||
    const standalone = await toolkit.buildx.isStandalone();
 | 
			
		||||
    stateHelper.setStandalone(standalone);
 | 
			
		||||
 | 
			
		||||
    if (inputs.keepState && inputs.driver !== 'docker-container') {
 | 
			
		||||
      // https://docs.docker.com/reference/cli/docker/buildx/rm/#keep-state
 | 
			
		||||
      throw new Error(`Cannot use keep-state with ${inputs.driver} driver`);
 | 
			
		||||
    }
 | 
			
		||||
    stateHelper.setKeepState(inputs.keepState);
 | 
			
		||||
 | 
			
		||||
    await core.group(`Docker info`, async () => {
 | 
			
		||||
      try {
 | 
			
		||||
        await Docker.printVersion();
 | 
			
		||||
@ -124,9 +118,6 @@ actionsToolkit.run(
 | 
			
		||||
 | 
			
		||||
    if (inputs.driver !== 'docker') {
 | 
			
		||||
      await core.group(`Creating a new builder instance`, async () => {
 | 
			
		||||
        if (await toolkit.builder.exists(inputs.name)) {
 | 
			
		||||
          core.info(`Builder ${inputs.name} already exists, skipping creation`);
 | 
			
		||||
        } else {
 | 
			
		||||
        const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, {
 | 
			
		||||
          cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`],
 | 
			
		||||
          cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`],
 | 
			
		||||
@ -143,7 +134,6 @@ actionsToolkit.run(
 | 
			
		||||
            throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -189,7 +179,6 @@ actionsToolkit.run(
 | 
			
		||||
        throw new Error(`Cannot set buildx as default builder without the Docker CLI`);
 | 
			
		||||
      }
 | 
			
		||||
      await core.group(`Setting buildx as default builder`, async () => {
 | 
			
		||||
        stateHelper.setBuildxIsDefaultBuilder(true);
 | 
			
		||||
        const installCmd = await toolkit.buildx.getCommand(['install']);
 | 
			
		||||
        await Exec.getExecOutput(installCmd.command, installCmd.args, {
 | 
			
		||||
          ignoreReturnCode: true
 | 
			
		||||
@ -259,7 +248,7 @@ actionsToolkit.run(
 | 
			
		||||
        const buildx = new Buildx({standalone: stateHelper.standalone});
 | 
			
		||||
        const builder = new Builder({buildx: buildx});
 | 
			
		||||
        if (await builder.exists(stateHelper.builderName)) {
 | 
			
		||||
          const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName, ...(stateHelper.keepState ? ['--keep-state'] : [])]);
 | 
			
		||||
          const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName]);
 | 
			
		||||
          await Exec.getExecOutput(rmCmd.command, rmCmd.args, {
 | 
			
		||||
            ignoreReturnCode: true
 | 
			
		||||
          }).then(res => {
 | 
			
		||||
@ -290,17 +279,5 @@ actionsToolkit.run(
 | 
			
		||||
        fs.rmSync(stateHelper.certsDir, {recursive: true});
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (stateHelper.buildxIsDefaultBuilder) {
 | 
			
		||||
      await core.group(`Restoring default builder`, async () => {
 | 
			
		||||
        await Exec.getExecOutput('docker', ['buildx', 'uninstall'], {
 | 
			
		||||
          ignoreReturnCode: true
 | 
			
		||||
        }).then(res => {
 | 
			
		||||
          if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
			
		||||
            core.warning(`${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
@ -8,8 +8,6 @@ export const containerName = process.env['STATE_containerName'] || '';
 | 
			
		||||
export const certsDir = process.env['STATE_certsDir'] || '';
 | 
			
		||||
export const tmpDockerContext = process.env['STATE_tmpDockerContext'] || '';
 | 
			
		||||
export const cleanup = /true/i.test(process.env['STATE_cleanup'] || '');
 | 
			
		||||
export const buildxIsDefaultBuilder = /true/i.test(process.env['STATE_buildxIsDefaultBuilder'] || '');
 | 
			
		||||
export const keepState = /true/i.test(process.env['STATE_keepState'] || '');
 | 
			
		||||
 | 
			
		||||
export function setDebug(debug: string) {
 | 
			
		||||
  core.saveState('isDebug', debug);
 | 
			
		||||
@ -42,11 +40,3 @@ export function setTmpDockerContext(tmpDockerContext: string) {
 | 
			
		||||
export function setCleanup(cleanup: boolean) {
 | 
			
		||||
  core.saveState('cleanup', cleanup);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function setBuildxIsDefaultBuilder(buildxIsDefaultBuilder: boolean) {
 | 
			
		||||
  core.saveState('buildxIsDefaultBuilder', buildxIsDefaultBuilder);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function setKeepState(keepState: boolean) {
 | 
			
		||||
  core.saveState('keepState', keepState);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user