Compare commits
	
		
			34 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					6524bf65af | ||
| 
						 | 
					8d5e0747fc | ||
| 
						 | 
					7199e57b35 | ||
| 
						 | 
					db63cee3de | ||
| 
						 | 
					043ebe137f | ||
| 
						 | 
					686da9073d | ||
| 
						 | 
					a3d74876b8 | ||
| 
						 | 
					4dcdbcec48 | ||
| 
						 | 
					1a8ac74316 | ||
| 
						 | 
					e827ebe8ba | ||
| 
						 | 
					adacc1474e | ||
| 
						 | 
					0f069ddc17 | ||
| 
						 | 
					d036b3238c | ||
| 
						 | 
					460e45646d | ||
| 
						 | 
					93aa1c807f | ||
| 
						 | 
					d391aad55c | ||
| 
						 | 
					e5b688ea46 | ||
| 
						 | 
					c47758b77c | ||
| 
						 | 
					8fea382513 | ||
| 
						 | 
					2874e980e8 | ||
| 
						 | 
					8026d2bc36 | ||
| 
						 | 
					e51aab53e9 | ||
| 
						 | 
					fd7390e14d | ||
| 
						 | 
					910a304005 | ||
| 
						 | 
					3623ee443e | ||
| 
						 | 
					e0e5ecf670 | ||
| 
						 | 
					5334dd0cdd | ||
| 
						 | 
					214bb6dac1 | ||
| 
						 | 
					818c69a4ea | ||
| 
						 | 
					b467d6aa7a | ||
| 
						 | 
					7594cf3831 | ||
| 
						 | 
					988b5a0280 | ||
| 
						 | 
					2c215620b8 | ||
| 
						 | 
					3382292cd5 | 
							
								
								
									
										3
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@@ -25,8 +25,9 @@ jobs:
 | 
				
			|||||||
          - ""
 | 
					          - ""
 | 
				
			||||||
          - "latest"
 | 
					          - "latest"
 | 
				
			||||||
          - "v0.4.1"
 | 
					          - "v0.4.1"
 | 
				
			||||||
 | 
					          - "cloud:latest"
 | 
				
			||||||
 | 
					          - "cloud:v0.11.2-desktop.2"
 | 
				
			||||||
          - "lab:latest"
 | 
					          - "lab:latest"
 | 
				
			||||||
          - "lab:v0.11.2-desktop.2"
 | 
					 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      -
 | 
					      -
 | 
				
			||||||
        name: Checkout
 | 
					        name: Checkout
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								.github/workflows/publish.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								.github/workflows/publish.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					name: publish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  release:
 | 
				
			||||||
 | 
					    types:
 | 
				
			||||||
 | 
					      - published
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  publish:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    permissions:
 | 
				
			||||||
 | 
					      contents: read
 | 
				
			||||||
 | 
					      id-token: write
 | 
				
			||||||
 | 
					      packages: write
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      -
 | 
				
			||||||
 | 
					        name: Checkout
 | 
				
			||||||
 | 
					        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
									
									
								
							@@ -28,7 +28,7 @@ jobs:
 | 
				
			|||||||
          targets: test
 | 
					          targets: test
 | 
				
			||||||
      -
 | 
					      -
 | 
				
			||||||
        name: Upload coverage
 | 
					        name: Upload coverage
 | 
				
			||||||
        uses: codecov/codecov-action@v4
 | 
					        uses: codecov/codecov-action@v5
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          file: ./coverage/clover.xml
 | 
					          files: ./coverage/clover.xml
 | 
				
			||||||
          token: ${{ secrets.CODECOV_TOKEN }}
 | 
					          token: ${{ secrets.CODECOV_TOKEN }}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -101,7 +101,13 @@ The following inputs can be used as `step.with` keys:
 | 
				
			|||||||
| `cache-binary`               | Bool     | `true`             | Cache buildx binary to GitHub Actions cache backend                                                                                                                          |
 | 
					| `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                                                                                                                    |
 | 
					| `cleanup`                    | Bool     | `true`             | Cleanup temp files and remove builder at the end of a job                                                                                                                    |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_\* `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive_
 | 
					> [!IMPORTANT]
 | 
				
			||||||
 | 
					> If you set the `buildkitd-flags` input, the default flags (`--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host`)
 | 
				
			||||||
 | 
					> will be reset. If you want to retain the default behavior, make sure to
 | 
				
			||||||
 | 
					> include these flags in your custom `buildkitd-flags` value.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> [!NOTE]
 | 
				
			||||||
 | 
					> `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### outputs
 | 
					### outputs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
 | 
					import {beforeEach, describe, expect, jest, test} from '@jest/globals';
 | 
				
			||||||
import * as fs from 'fs';
 | 
					import * as fs from 'fs';
 | 
				
			||||||
import * as path from 'path';
 | 
					import * as path from 'path';
 | 
				
			||||||
import * as uuid from 'uuid';
 | 
					 | 
				
			||||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
 | 
					import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
 | 
				
			||||||
import {Context} from '@docker/actions-toolkit/lib/context';
 | 
					import {Context} from '@docker/actions-toolkit/lib/context';
 | 
				
			||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
 | 
					import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
 | 
				
			||||||
@@ -26,8 +25,12 @@ jest.spyOn(Context, 'tmpName').mockImplementation((): string => {
 | 
				
			|||||||
  return tmpName;
 | 
					  return tmpName;
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jest.mock('uuid');
 | 
					jest.mock('crypto', () => {
 | 
				
			||||||
jest.spyOn(uuid, 'v4').mockReturnValue('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d');
 | 
					  return {
 | 
				
			||||||
 | 
					    ...(jest.requireActual('crypto') as object),
 | 
				
			||||||
 | 
					    randomUUID: jest.fn(() => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d')
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jest.spyOn(Docker, 'context').mockImplementation((): Promise<string> => {
 | 
					jest.spyOn(Docker, 'context').mockImplementation((): Promise<string> => {
 | 
				
			||||||
  return Promise.resolve('default');
 | 
					  return Promise.resolve('default');
 | 
				
			||||||
@@ -226,6 +229,24 @@ describe('getCreateArgs', () => {
 | 
				
			|||||||
        '--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
 | 
					        '--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
 | 
				
			||||||
        '--config', tmpName,
 | 
					        '--config', tmpName,
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      10,
 | 
				
			||||||
 | 
					      'v0.10.3',
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'false'],
 | 
				
			||||||
 | 
					        ['driver', 'cloud'],
 | 
				
			||||||
 | 
					        ['buildkitd-flags', '--allow-insecure-entitlement network.host'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true'],
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      [
 | 
				
			||||||
 | 
					        'create',
 | 
				
			||||||
 | 
					        '--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
 | 
				
			||||||
 | 
					        '--driver', 'cloud',
 | 
				
			||||||
 | 
					        '--buildkitd-flags', '--allow-insecure-entitlement network.host',
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  ])(
 | 
					  ])(
 | 
				
			||||||
    '[%d] given buildx %s and %p as inputs, returns %p',
 | 
					    '[%d] given buildx %s and %p as inputs, returns %p',
 | 
				
			||||||
@@ -302,6 +323,140 @@ describe('getAppendArgs', () => {
 | 
				
			|||||||
  );
 | 
					  );
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe('getVersion', () => {
 | 
				
			||||||
 | 
					  beforeEach(() => {
 | 
				
			||||||
 | 
					    process.env = Object.keys(process.env).reduce((object, key) => {
 | 
				
			||||||
 | 
					      if (!key.startsWith('INPUT_')) {
 | 
				
			||||||
 | 
					        object[key] = process.env[key];
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return object;
 | 
				
			||||||
 | 
					    }, {});
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // prettier-ignore
 | 
				
			||||||
 | 
					  test.each([
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      0,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true'],
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      ''
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      1,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'latest'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true']
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'latest'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      2,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'edge'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true']
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'edge'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      3,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'v0.19.2'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true']
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'v0.19.2'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      4,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'latest'],
 | 
				
			||||||
 | 
					        ['driver', 'cloud'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true']
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'cloud:latest'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      5,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'edge'],
 | 
				
			||||||
 | 
					        ['driver', 'cloud'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true']
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'cloud:edge'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      6,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['driver', 'cloud'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true'],
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'cloud:latest'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      7,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'cloud:v0.11.2-desktop.2'],
 | 
				
			||||||
 | 
					        ['driver', 'cloud'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true'],
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'cloud:v0.11.2-desktop.2'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    [
 | 
				
			||||||
 | 
					      8,
 | 
				
			||||||
 | 
					      new Map<string, string>([
 | 
				
			||||||
 | 
					        ['version', 'cloud:v0.11.2-desktop.2'],
 | 
				
			||||||
 | 
					        // defaults
 | 
				
			||||||
 | 
					        ['install', 'false'],
 | 
				
			||||||
 | 
					        ['use', 'true'],
 | 
				
			||||||
 | 
					        ['cache-binary', 'true'],
 | 
				
			||||||
 | 
					        ['cleanup', 'true'],
 | 
				
			||||||
 | 
					      ]),
 | 
				
			||||||
 | 
					      'cloud:v0.11.2-desktop.2'
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					  ])(
 | 
				
			||||||
 | 
					    '[%d] given %p as inputs, returns version %p',
 | 
				
			||||||
 | 
					    async (num: number, inputs: Map<string, string>, expected: string) => {
 | 
				
			||||||
 | 
					      inputs.forEach((value: string, name: string) => {
 | 
				
			||||||
 | 
					        setInput(name, value);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      const inp = await context.getInputs();
 | 
				
			||||||
 | 
					      expect(context.getVersion(inp)).toEqual(expected);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
 | 
					// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
 | 
				
			||||||
function getInputName(name: string): string {
 | 
					function getInputName(name: string): string {
 | 
				
			||||||
  return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
 | 
					  return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,6 @@ inputs:
 | 
				
			|||||||
    required: false
 | 
					    required: false
 | 
				
			||||||
  buildkitd-flags:
 | 
					  buildkitd-flags:
 | 
				
			||||||
    description: 'BuildKit daemon flags'
 | 
					    description: 'BuildKit daemon flags'
 | 
				
			||||||
    default: '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
 | 
					 | 
				
			||||||
    required: false
 | 
					    required: false
 | 
				
			||||||
  buildkitd-config:
 | 
					  buildkitd-config:
 | 
				
			||||||
    description: 'BuildKit daemon config file'
 | 
					    description: 'BuildKit daemon config file'
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								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
											
										
									
								
							@@ -25,10 +25,9 @@
 | 
				
			|||||||
  "license": "Apache-2.0",
 | 
					  "license": "Apache-2.0",
 | 
				
			||||||
  "packageManager": "yarn@3.6.3",
 | 
					  "packageManager": "yarn@3.6.3",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@actions/core": "^1.10.1",
 | 
					    "@actions/core": "^1.11.1",
 | 
				
			||||||
    "@docker/actions-toolkit": "^0.35.0",
 | 
					    "@docker/actions-toolkit": "^0.48.0",
 | 
				
			||||||
    "js-yaml": "^4.1.0",
 | 
					    "js-yaml": "^4.1.0"
 | 
				
			||||||
    "uuid": "^10.0.0"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@types/js-yaml": "^4.0.9",
 | 
					    "@types/js-yaml": "^4.0.9",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
import * as uuid from 'uuid';
 | 
					import * as crypto from 'crypto';
 | 
				
			||||||
import * as core from '@actions/core';
 | 
					import * as core from '@actions/core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
 | 
					import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
 | 
				
			||||||
@@ -8,6 +8,7 @@ import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
 | 
				
			|||||||
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder';
 | 
					import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const builderNodeEnvPrefix = 'BUILDER_NODE';
 | 
					export const builderNodeEnvPrefix = 'BUILDER_NODE';
 | 
				
			||||||
 | 
					const defaultBuildkitdFlags = '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface Inputs {
 | 
					export interface Inputs {
 | 
				
			||||||
  version: string;
 | 
					  version: string;
 | 
				
			||||||
@@ -32,7 +33,7 @@ export async function getInputs(): Promise<Inputs> {
 | 
				
			|||||||
    name: await getBuilderName(core.getInput('driver') || 'docker-container'),
 | 
					    name: await getBuilderName(core.getInput('driver') || 'docker-container'),
 | 
				
			||||||
    driver: core.getInput('driver') || 'docker-container',
 | 
					    driver: core.getInput('driver') || 'docker-container',
 | 
				
			||||||
    driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}),
 | 
					    driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}),
 | 
				
			||||||
    buildkitdFlags: core.getInput('buildkitd-flags') || '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
 | 
					    buildkitdFlags: core.getInput('buildkitd-flags'),
 | 
				
			||||||
    platforms: Util.getInputList('platforms'),
 | 
					    platforms: Util.getInputList('platforms'),
 | 
				
			||||||
    install: core.getBooleanInput('install'),
 | 
					    install: core.getBooleanInput('install'),
 | 
				
			||||||
    use: core.getBooleanInput('use'),
 | 
					    use: core.getBooleanInput('use'),
 | 
				
			||||||
@@ -46,17 +47,19 @@ export async function getInputs(): Promise<Inputs> {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function getBuilderName(driver: string): Promise<string> {
 | 
					export async function getBuilderName(driver: string): Promise<string> {
 | 
				
			||||||
  return driver == 'docker' ? await Docker.context() : `builder-${uuid.v4()}`;
 | 
					  return driver == 'docker' ? await Docker.context() : `builder-${crypto.randomUUID()}`;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
 | 
					export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
 | 
				
			||||||
  const args: Array<string> = ['create', '--name', inputs.name, '--driver', inputs.driver];
 | 
					  const args: Array<string> = ['create', '--name', inputs.name, '--driver', inputs.driver];
 | 
				
			||||||
  if (await toolkit.buildx.versionSatisfies('>=0.3.0')) {
 | 
					  if (await toolkit.buildx.versionSatisfies('>=0.3.0')) {
 | 
				
			||||||
    await Util.asyncForEach(inputs.driverOpts, async driverOpt => {
 | 
					    await Util.asyncForEach(inputs.driverOpts, async (driverOpt: string) => {
 | 
				
			||||||
      args.push('--driver-opt', driverOpt);
 | 
					      args.push('--driver-opt', driverOpt);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    if (driverSupportsFlags(inputs.driver) && inputs.buildkitdFlags) {
 | 
					    if (inputs.buildkitdFlags) {
 | 
				
			||||||
      args.push('--buildkitd-flags', inputs.buildkitdFlags);
 | 
					      args.push('--buildkitd-flags', inputs.buildkitdFlags);
 | 
				
			||||||
 | 
					    } else if (driverSupportsBuildkitdFlags(inputs.driver)) {
 | 
				
			||||||
 | 
					      args.push('--buildkitd-flags', defaultBuildkitdFlags);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (inputs.platforms.length > 0) {
 | 
					  if (inputs.platforms.length > 0) {
 | 
				
			||||||
@@ -65,12 +68,10 @@ export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<A
 | 
				
			|||||||
  if (inputs.use) {
 | 
					  if (inputs.use) {
 | 
				
			||||||
    args.push('--use');
 | 
					    args.push('--use');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (driverSupportsFlags(inputs.driver)) {
 | 
					  if (inputs.buildkitdConfig) {
 | 
				
			||||||
    if (inputs.buildkitdConfig) {
 | 
					    args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.buildkitdConfig));
 | 
				
			||||||
      args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.buildkitdConfig));
 | 
					  } else if (inputs.buildkitdConfigInline) {
 | 
				
			||||||
    } else if (inputs.buildkitdConfigInline) {
 | 
					    args.push('--config', toolkit.buildkit.config.resolveFromString(inputs.buildkitdConfigInline));
 | 
				
			||||||
      args.push('--config', toolkit.buildkit.config.resolveFromString(inputs.buildkitdConfigInline));
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (inputs.endpoint) {
 | 
					  if (inputs.endpoint) {
 | 
				
			||||||
    args.push(inputs.endpoint);
 | 
					    args.push(inputs.endpoint);
 | 
				
			||||||
@@ -83,14 +84,16 @@ export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit
 | 
				
			|||||||
  if (node.name) {
 | 
					  if (node.name) {
 | 
				
			||||||
    args.push('--node', node.name);
 | 
					    args.push('--node', node.name);
 | 
				
			||||||
  } else if (inputs.driver == 'kubernetes' && (await toolkit.buildx.versionSatisfies('<0.11.0'))) {
 | 
					  } else if (inputs.driver == 'kubernetes' && (await toolkit.buildx.versionSatisfies('<0.11.0'))) {
 | 
				
			||||||
    args.push('--node', `node-${uuid.v4()}`);
 | 
					    args.push('--node', `node-${crypto.randomUUID()}`);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (node['driver-opts'] && (await toolkit.buildx.versionSatisfies('>=0.3.0'))) {
 | 
					  if (node['driver-opts'] && (await toolkit.buildx.versionSatisfies('>=0.3.0'))) {
 | 
				
			||||||
    await Util.asyncForEach(node['driver-opts'], async driverOpt => {
 | 
					    await Util.asyncForEach(node['driver-opts'], async (driverOpt: string) => {
 | 
				
			||||||
      args.push('--driver-opt', driverOpt);
 | 
					      args.push('--driver-opt', driverOpt);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    if (driverSupportsFlags(inputs.driver) && node['buildkitd-flags']) {
 | 
					    if (node['buildkitd-flags']) {
 | 
				
			||||||
      args.push('--buildkitd-flags', node['buildkitd-flags']);
 | 
					      args.push('--buildkitd-flags', node['buildkitd-flags']);
 | 
				
			||||||
 | 
					    } else if (driverSupportsBuildkitdFlags(inputs.driver)) {
 | 
				
			||||||
 | 
					      args.push('--buildkitd-flags', defaultBuildkitdFlags);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (node.platforms) {
 | 
					  if (node.platforms) {
 | 
				
			||||||
@@ -110,6 +113,20 @@ export async function getInspectArgs(inputs: Inputs, toolkit: Toolkit): Promise<
 | 
				
			|||||||
  return args;
 | 
					  return args;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function driverSupportsFlags(driver: string): boolean {
 | 
					function driverSupportsBuildkitdFlags(driver: string): boolean {
 | 
				
			||||||
  return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes';
 | 
					  return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes';
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function getVersion(inputs: Inputs): string {
 | 
				
			||||||
 | 
					  const version = inputs.version;
 | 
				
			||||||
 | 
					  if (inputs.driver === 'cloud') {
 | 
				
			||||||
 | 
					    if (!version || version === 'latest') {
 | 
				
			||||||
 | 
					      return 'cloud:latest';
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (version.startsWith('cloud:') || version.startsWith('lab:')) {
 | 
				
			||||||
 | 
					      return version;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return `cloud:${version}`;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return version;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										44
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								src/main.ts
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
 | 
					import * as crypto from 'crypto';
 | 
				
			||||||
import * as fs from 'fs';
 | 
					import * as fs from 'fs';
 | 
				
			||||||
import * as yaml from 'js-yaml';
 | 
					import * as yaml from 'js-yaml';
 | 
				
			||||||
import * as uuid from 'uuid';
 | 
					 | 
				
			||||||
import * as core from '@actions/core';
 | 
					import * as core from '@actions/core';
 | 
				
			||||||
import * as actionsToolkit from '@docker/actions-toolkit';
 | 
					import * as actionsToolkit from '@docker/actions-toolkit';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -12,6 +12,7 @@ import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
 | 
				
			|||||||
import {Util} from '@docker/actions-toolkit/lib/util';
 | 
					import {Util} from '@docker/actions-toolkit/lib/util';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder';
 | 
					import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder';
 | 
				
			||||||
 | 
					import {ContextInfo} from '@docker/actions-toolkit/lib/types/docker/docker';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import * as context from './context';
 | 
					import * as context from './context';
 | 
				
			||||||
import * as stateHelper from './state-helper';
 | 
					import * as stateHelper from './state-helper';
 | 
				
			||||||
@@ -21,6 +22,7 @@ actionsToolkit.run(
 | 
				
			|||||||
  async () => {
 | 
					  async () => {
 | 
				
			||||||
    const inputs: context.Inputs = await context.getInputs();
 | 
					    const inputs: context.Inputs = await context.getInputs();
 | 
				
			||||||
    stateHelper.setCleanup(inputs.cleanup);
 | 
					    stateHelper.setCleanup(inputs.cleanup);
 | 
				
			||||||
 | 
					    const version = context.getVersion(inputs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const toolkit = new Toolkit();
 | 
					    const toolkit = new Toolkit();
 | 
				
			||||||
    const standalone = await toolkit.buildx.isStandalone();
 | 
					    const standalone = await toolkit.buildx.isStandalone();
 | 
				
			||||||
@@ -36,16 +38,16 @@ actionsToolkit.run(
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let toolPath;
 | 
					    let toolPath;
 | 
				
			||||||
    if (Util.isValidRef(inputs.version)) {
 | 
					    if (Util.isValidRef(version)) {
 | 
				
			||||||
      if (standalone) {
 | 
					      if (standalone) {
 | 
				
			||||||
        throw new Error(`Cannot build from source without the Docker CLI`);
 | 
					        throw new Error(`Cannot build from source without the Docker CLI`);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      await core.group(`Build buildx from source`, async () => {
 | 
					      await core.group(`Build buildx from source`, async () => {
 | 
				
			||||||
        toolPath = await toolkit.buildxInstall.build(inputs.version, !inputs.cacheBinary);
 | 
					        toolPath = await toolkit.buildxInstall.build(version, !inputs.cacheBinary);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    } else if (!(await toolkit.buildx.isAvailable()) || inputs.version) {
 | 
					    } else if (!(await toolkit.buildx.isAvailable()) || version) {
 | 
				
			||||||
      await core.group(`Download buildx from GitHub Releases`, async () => {
 | 
					      await core.group(`Download buildx from GitHub Releases`, async () => {
 | 
				
			||||||
        toolPath = await toolkit.buildxInstall.download(inputs.version || 'latest', !inputs.cacheBinary);
 | 
					        toolPath = await toolkit.buildxInstall.download(version || 'latest', !inputs.cacheBinary);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (toolPath) {
 | 
					    if (toolPath) {
 | 
				
			||||||
@@ -74,18 +76,36 @@ actionsToolkit.run(
 | 
				
			|||||||
    // https://github.com/docker/buildx/blob/b96ad59f64d40873e4959336d294b648bb3937fe/builder/builder.go#L489
 | 
					    // https://github.com/docker/buildx/blob/b96ad59f64d40873e4959336d294b648bb3937fe/builder/builder.go#L489
 | 
				
			||||||
    // https://github.com/docker/setup-buildx-action/issues/105
 | 
					    // https://github.com/docker/setup-buildx-action/issues/105
 | 
				
			||||||
    if (!standalone && inputs.driver == 'docker-container' && (await Docker.context()) == 'default' && inputs.endpoint.length == 0) {
 | 
					    if (!standalone && inputs.driver == 'docker-container' && (await Docker.context()) == 'default' && inputs.endpoint.length == 0) {
 | 
				
			||||||
      const contextInfo = await Docker.contextInspect('default');
 | 
					      let defaultContextWithTLS: boolean = false;
 | 
				
			||||||
      core.debug(`context info: ${JSON.stringify(contextInfo, undefined, 2)}`);
 | 
					      await core.group(`Inspecting default docker context`, async () => {
 | 
				
			||||||
      const hasTLSData = Object.keys(contextInfo.Endpoints).length > 0 && Object.values(contextInfo.Endpoints)[0].TLSData;
 | 
					        await Docker.getExecOutput(['context', 'inspect', '--format=json', 'default'], {
 | 
				
			||||||
      const hasTLSMaterial = Object.keys(contextInfo.TLSMaterial).length > 0 && Object.values(contextInfo.TLSMaterial)[0].length > 0;
 | 
					          ignoreReturnCode: true,
 | 
				
			||||||
      if (hasTLSData || hasTLSMaterial) {
 | 
					          silent: true
 | 
				
			||||||
        const tmpDockerContext = `buildx-${uuid.v4()}`;
 | 
					        }).then(res => {
 | 
				
			||||||
 | 
					          if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
 | 
					            core.info(`Cannot inspect default docker context: ${res.stderr.trim()}`);
 | 
				
			||||||
 | 
					          } else {
 | 
				
			||||||
 | 
					            try {
 | 
				
			||||||
 | 
					              const contextInfo = (<Array<ContextInfo>>JSON.parse(res.stdout.trim()))[0];
 | 
				
			||||||
 | 
					              core.info(JSON.stringify(JSON.parse(res.stdout.trim()), undefined, 2));
 | 
				
			||||||
 | 
					              const hasTLSData = Object.keys(contextInfo.Endpoints).length > 0 && Object.values(contextInfo.Endpoints)[0].TLSData !== undefined;
 | 
				
			||||||
 | 
					              const hasTLSMaterial = Object.keys(contextInfo.TLSMaterial).length > 0 && Object.values(contextInfo.TLSMaterial)[0].length > 0;
 | 
				
			||||||
 | 
					              defaultContextWithTLS = hasTLSData || hasTLSMaterial;
 | 
				
			||||||
 | 
					            } catch (e) {
 | 
				
			||||||
 | 
					              core.info(`Unable to parse default docker context info: ${e}`);
 | 
				
			||||||
 | 
					              core.info(res.stdout.trim());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      if (defaultContextWithTLS) {
 | 
				
			||||||
 | 
					        const tmpDockerContext = `buildx-${crypto.randomUUID()}`;
 | 
				
			||||||
        await core.group(`Creating temp docker context (TLS data loaded in default one)`, async () => {
 | 
					        await core.group(`Creating temp docker context (TLS data loaded in default one)`, async () => {
 | 
				
			||||||
          await Docker.getExecOutput(['context', 'create', tmpDockerContext], {
 | 
					          await Docker.getExecOutput(['context', 'create', tmpDockerContext], {
 | 
				
			||||||
            ignoreReturnCode: true
 | 
					            ignoreReturnCode: true
 | 
				
			||||||
          }).then(res => {
 | 
					          }).then(res => {
 | 
				
			||||||
            if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
					            if (res.stderr.length > 0 && res.exitCode != 0) {
 | 
				
			||||||
              core.warning(`cannot create docker context ${tmpDockerContext}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
 | 
					              core.warning(`Cannot create docker context ${tmpDockerContext}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              core.info(`Setting builder endpoint to ${tmpDockerContext} context`);
 | 
					              core.info(`Setting builder endpoint to ${tmpDockerContext} context`);
 | 
				
			||||||
              inputs.endpoint = tmpDockerContext;
 | 
					              inputs.endpoint = tmpDockerContext;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										105
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										105
									
								
								yarn.lock
									
									
									
									
									
								
							@@ -12,9 +12,9 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/artifact@npm:^2.1.8":
 | 
					"@actions/artifact@npm:^2.1.11":
 | 
				
			||||||
  version: 2.1.8
 | 
					  version: 2.1.11
 | 
				
			||||||
  resolution: "@actions/artifact@npm:2.1.8"
 | 
					  resolution: "@actions/artifact@npm:2.1.11"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/core": ^1.10.0
 | 
					    "@actions/core": ^1.10.0
 | 
				
			||||||
    "@actions/github": ^5.1.1
 | 
					    "@actions/github": ^5.1.1
 | 
				
			||||||
@@ -26,19 +26,18 @@ __metadata:
 | 
				
			|||||||
    "@octokit/request-error": ^5.0.0
 | 
					    "@octokit/request-error": ^5.0.0
 | 
				
			||||||
    "@protobuf-ts/plugin": ^2.2.3-alpha.1
 | 
					    "@protobuf-ts/plugin": ^2.2.3-alpha.1
 | 
				
			||||||
    archiver: ^7.0.1
 | 
					    archiver: ^7.0.1
 | 
				
			||||||
    crypto: ^1.0.1
 | 
					 | 
				
			||||||
    jwt-decode: ^3.1.2
 | 
					    jwt-decode: ^3.1.2
 | 
				
			||||||
    twirp-ts: ^2.5.0
 | 
					    twirp-ts: ^2.5.0
 | 
				
			||||||
    unzip-stream: ^0.3.1
 | 
					    unzip-stream: ^0.3.1
 | 
				
			||||||
  checksum: 51a47c21bcdac705abb61dbaef923f2760354c39bcad44a31b129e18bf31f646e5148f92ee7e1198275d1dba7bebfd1d1500ad7f62f6de1e65b57b2d092d5341
 | 
					  checksum: dbdafaad11cc573768a00f6b8a7f5109f587eb9461564ae8f15ea8fd1d6a719041df45a92ec204a43a8a1e7ce2c21d8e4229543579b89a3ca8ea30dedddf2fc9
 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/cache@npm:^3.2.4":
 | 
					"@actions/cache@npm:^3.3.0":
 | 
				
			||||||
  version: 3.2.4
 | 
					  version: 3.3.0
 | 
				
			||||||
  resolution: "@actions/cache@npm:3.2.4"
 | 
					  resolution: "@actions/cache@npm:3.3.0"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/core": ^1.10.0
 | 
					    "@actions/core": ^1.11.1
 | 
				
			||||||
    "@actions/exec": ^1.0.1
 | 
					    "@actions/exec": ^1.0.1
 | 
				
			||||||
    "@actions/glob": ^0.1.0
 | 
					    "@actions/glob": ^0.1.0
 | 
				
			||||||
    "@actions/http-client": ^2.1.1
 | 
					    "@actions/http-client": ^2.1.1
 | 
				
			||||||
@@ -47,12 +46,11 @@ __metadata:
 | 
				
			|||||||
    "@azure/ms-rest-js": ^2.6.0
 | 
					    "@azure/ms-rest-js": ^2.6.0
 | 
				
			||||||
    "@azure/storage-blob": ^12.13.0
 | 
					    "@azure/storage-blob": ^12.13.0
 | 
				
			||||||
    semver: ^6.3.1
 | 
					    semver: ^6.3.1
 | 
				
			||||||
    uuid: ^3.3.3
 | 
					  checksum: f0761b1491b7706a80b44d68ed52eb48c04653fc939525a7c7b606e9d9251c40c7e4ac20846ab92ac32db6869e1a6f0f574bd6b7fec1ab9378c8e199c5acc9c9
 | 
				
			||||||
  checksum: 5bf5f7541bea4906b553440a9ffee5699e11dfb729365c6cb0bbd37e147a1a0993369fdad16bfa3e2b01ec7fa57dac66276278bfd4a389009246a75ea953e61d
 | 
					 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/core@npm:^1.10.0, @actions/core@npm:^1.10.1, @actions/core@npm:^1.2.6":
 | 
					"@actions/core@npm:^1.10.0, @actions/core@npm:^1.2.6":
 | 
				
			||||||
  version: 1.10.1
 | 
					  version: 1.10.1
 | 
				
			||||||
  resolution: "@actions/core@npm:1.10.1"
 | 
					  resolution: "@actions/core@npm:1.10.1"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
@@ -62,6 +60,16 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@actions/core@npm:^1.11.1":
 | 
				
			||||||
 | 
					  version: 1.11.1
 | 
				
			||||||
 | 
					  resolution: "@actions/core@npm:1.11.1"
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    "@actions/exec": ^1.1.1
 | 
				
			||||||
 | 
					    "@actions/http-client": ^2.0.1
 | 
				
			||||||
 | 
					  checksum: 9ac7a3e0b478bfefd862dcb4ddaa1d8c3f9076bb1931d3d280918d1749e7783480c6a009c1b009c8bf5093e2d77d9f4e023d70416145bf246f0071736d4ef839
 | 
				
			||||||
 | 
					  languageName: node
 | 
				
			||||||
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/exec@npm:^1.0.0, @actions/exec@npm:^1.0.1, @actions/exec@npm:^1.1.1":
 | 
					"@actions/exec@npm:^1.0.0, @actions/exec@npm:^1.0.1, @actions/exec@npm:^1.1.1":
 | 
				
			||||||
  version: 1.1.1
 | 
					  version: 1.1.1
 | 
				
			||||||
  resolution: "@actions/exec@npm:1.1.1"
 | 
					  resolution: "@actions/exec@npm:1.1.1"
 | 
				
			||||||
@@ -105,7 +113,7 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0, @actions/http-client@npm:^2.2.1":
 | 
					"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0":
 | 
				
			||||||
  version: 2.2.1
 | 
					  version: 2.2.1
 | 
				
			||||||
  resolution: "@actions/http-client@npm:2.2.1"
 | 
					  resolution: "@actions/http-client@npm:2.2.1"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
@@ -115,6 +123,16 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@actions/http-client@npm:^2.2.3":
 | 
				
			||||||
 | 
					  version: 2.2.3
 | 
				
			||||||
 | 
					  resolution: "@actions/http-client@npm:2.2.3"
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    tunnel: ^0.0.6
 | 
				
			||||||
 | 
					    undici: ^5.25.4
 | 
				
			||||||
 | 
					  checksum: 5d395df575d30ae599efa10dd715e72944b015e753db61f0a823f737acbb0e99743d4a9f25e812b18ec8cc34f86c73565d075c449e01ffa891577b6595212dde
 | 
				
			||||||
 | 
					  languageName: node
 | 
				
			||||||
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3":
 | 
					"@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3":
 | 
				
			||||||
  version: 1.1.3
 | 
					  version: 1.1.3
 | 
				
			||||||
  resolution: "@actions/io@npm:1.1.3"
 | 
					  resolution: "@actions/io@npm:1.1.3"
 | 
				
			||||||
@@ -1071,23 +1089,23 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@docker/actions-toolkit@npm:^0.35.0":
 | 
					"@docker/actions-toolkit@npm:^0.48.0":
 | 
				
			||||||
  version: 0.35.0
 | 
					  version: 0.48.0
 | 
				
			||||||
  resolution: "@docker/actions-toolkit@npm:0.35.0"
 | 
					  resolution: "@docker/actions-toolkit@npm:0.48.0"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/artifact": ^2.1.8
 | 
					    "@actions/artifact": ^2.1.11
 | 
				
			||||||
    "@actions/cache": ^3.2.4
 | 
					    "@actions/cache": ^3.3.0
 | 
				
			||||||
    "@actions/core": ^1.10.1
 | 
					    "@actions/core": ^1.11.1
 | 
				
			||||||
    "@actions/exec": ^1.1.1
 | 
					    "@actions/exec": ^1.1.1
 | 
				
			||||||
    "@actions/github": ^6.0.0
 | 
					    "@actions/github": ^6.0.0
 | 
				
			||||||
    "@actions/http-client": ^2.2.1
 | 
					    "@actions/http-client": ^2.2.3
 | 
				
			||||||
    "@actions/io": ^1.1.3
 | 
					    "@actions/io": ^1.1.3
 | 
				
			||||||
    "@actions/tool-cache": ^2.0.1
 | 
					    "@actions/tool-cache": ^2.0.1
 | 
				
			||||||
    "@azure/storage-blob": ^12.15.0
 | 
					    "@azure/storage-blob": ^12.15.0
 | 
				
			||||||
    "@octokit/core": ^5.1.0
 | 
					    "@octokit/core": ^5.1.0
 | 
				
			||||||
    "@octokit/plugin-rest-endpoint-methods": ^10.4.0
 | 
					    "@octokit/plugin-rest-endpoint-methods": ^10.4.0
 | 
				
			||||||
    async-retry: ^1.3.3
 | 
					    async-retry: ^1.3.3
 | 
				
			||||||
    csv-parse: ^5.5.6
 | 
					    csv-parse: ^5.6.0
 | 
				
			||||||
    gunzip-maybe: ^1.4.2
 | 
					    gunzip-maybe: ^1.4.2
 | 
				
			||||||
    handlebars: ^4.7.8
 | 
					    handlebars: ^4.7.8
 | 
				
			||||||
    he: ^1.2.0
 | 
					    he: ^1.2.0
 | 
				
			||||||
@@ -1096,7 +1114,7 @@ __metadata:
 | 
				
			|||||||
    semver: ^7.6.3
 | 
					    semver: ^7.6.3
 | 
				
			||||||
    tar-stream: ^3.1.7
 | 
					    tar-stream: ^3.1.7
 | 
				
			||||||
    tmp: ^0.2.3
 | 
					    tmp: ^0.2.3
 | 
				
			||||||
  checksum: 27fa4a500e94beff376bc322cc1074c82b20f6ceb0104c43ed5efc613763c8b7ea37b231c32c4dfcb5f7ce8a14948eecc799aa363d60d11d848466d5718d63f0
 | 
					  checksum: 273eefbb19fd9e098d889cdaa2fbe0ff5a9b0d12d2f941dc4b6914240ee78d2d63db4fa0c39850585e9db1d69d2553ec9d3b935627d0fe1d8ab2ad2f3a84c0a5
 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -3045,27 +3063,20 @@ __metadata:
 | 
				
			|||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
 | 
					"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
 | 
				
			||||||
  version: 7.0.3
 | 
					  version: 7.0.6
 | 
				
			||||||
  resolution: "cross-spawn@npm:7.0.3"
 | 
					  resolution: "cross-spawn@npm:7.0.6"
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    path-key: ^3.1.0
 | 
					    path-key: ^3.1.0
 | 
				
			||||||
    shebang-command: ^2.0.0
 | 
					    shebang-command: ^2.0.0
 | 
				
			||||||
    which: ^2.0.1
 | 
					    which: ^2.0.1
 | 
				
			||||||
  checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52
 | 
					  checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b
 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"crypto@npm:^1.0.1":
 | 
					"csv-parse@npm:^5.6.0":
 | 
				
			||||||
  version: 1.0.1
 | 
					  version: 5.6.0
 | 
				
			||||||
  resolution: "crypto@npm:1.0.1"
 | 
					  resolution: "csv-parse@npm:5.6.0"
 | 
				
			||||||
  checksum: 087fe3165bd94c333a49e6ed66a0193911f63eac38a24f379b3001a5fe260a59c413646e53a0f67875ba13902b2686d81dc703cb2c147a4ec727dcdc04e5645e
 | 
					  checksum: 173e176bdaf212bab37d0f6d39a06d039d24a1c0ee40b9f1023ebf8b36095934807deeb493c0fb58592b39b0682ccd0be5c9e8d2b137c08807e7031595ea7a51
 | 
				
			||||||
  languageName: node
 | 
					 | 
				
			||||||
  linkType: hard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"csv-parse@npm:^5.5.6":
 | 
					 | 
				
			||||||
  version: 5.5.6
 | 
					 | 
				
			||||||
  resolution: "csv-parse@npm:5.5.6"
 | 
					 | 
				
			||||||
  checksum: ee06f97f674487dc1d001b360de8ea510a41b9d971abf43bcf9c3be22c83a3634df0d3ebfbe52fd49d145077066be7ff9f25de3fc6b71aefb973099b04147a25
 | 
					 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -3167,8 +3178,8 @@ __metadata:
 | 
				
			|||||||
  version: 0.0.0-use.local
 | 
					  version: 0.0.0-use.local
 | 
				
			||||||
  resolution: "docker-setup-buildx@workspace:."
 | 
					  resolution: "docker-setup-buildx@workspace:."
 | 
				
			||||||
  dependencies:
 | 
					  dependencies:
 | 
				
			||||||
    "@actions/core": ^1.10.1
 | 
					    "@actions/core": ^1.11.1
 | 
				
			||||||
    "@docker/actions-toolkit": ^0.35.0
 | 
					    "@docker/actions-toolkit": ^0.48.0
 | 
				
			||||||
    "@types/js-yaml": ^4.0.9
 | 
					    "@types/js-yaml": ^4.0.9
 | 
				
			||||||
    "@types/node": ^20.12.12
 | 
					    "@types/node": ^20.12.12
 | 
				
			||||||
    "@types/uuid": ^10.0.0
 | 
					    "@types/uuid": ^10.0.0
 | 
				
			||||||
@@ -3185,7 +3196,6 @@ __metadata:
 | 
				
			|||||||
    ts-jest: ^29.1.2
 | 
					    ts-jest: ^29.1.2
 | 
				
			||||||
    ts-node: ^10.9.2
 | 
					    ts-node: ^10.9.2
 | 
				
			||||||
    typescript: ^5.4.5
 | 
					    typescript: ^5.4.5
 | 
				
			||||||
    uuid: ^10.0.0
 | 
					 | 
				
			||||||
  languageName: unknown
 | 
					  languageName: unknown
 | 
				
			||||||
  linkType: soft
 | 
					  linkType: soft
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -5534,9 +5544,9 @@ __metadata:
 | 
				
			|||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"path-to-regexp@npm:^6.2.0":
 | 
					"path-to-regexp@npm:^6.2.0":
 | 
				
			||||||
  version: 6.2.2
 | 
					  version: 6.3.0
 | 
				
			||||||
  resolution: "path-to-regexp@npm:6.2.2"
 | 
					  resolution: "path-to-regexp@npm:6.3.0"
 | 
				
			||||||
  checksum: b7b0005c36f5099f9ed1fb20a820d2e4ed1297ffe683ea1d678f5e976eb9544f01debb281369dabdc26da82e6453901bf71acf2c7ed14b9243536c2a45286c33
 | 
					  checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250
 | 
				
			||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -6670,16 +6680,7 @@ __metadata:
 | 
				
			|||||||
  languageName: node
 | 
					  languageName: node
 | 
				
			||||||
  linkType: hard
 | 
					  linkType: hard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"uuid@npm:^10.0.0":
 | 
					"uuid@npm:^3.3.2":
 | 
				
			||||||
  version: 10.0.0
 | 
					 | 
				
			||||||
  resolution: "uuid@npm:10.0.0"
 | 
					 | 
				
			||||||
  bin:
 | 
					 | 
				
			||||||
    uuid: dist/bin/uuid
 | 
					 | 
				
			||||||
  checksum: 4b81611ade2885d2313ddd8dc865d93d8dccc13ddf901745edca8f86d99bc46d7a330d678e7532e7ebf93ce616679fb19b2e3568873ac0c14c999032acb25869
 | 
					 | 
				
			||||||
  languageName: node
 | 
					 | 
				
			||||||
  linkType: hard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"uuid@npm:^3.3.2, uuid@npm:^3.3.3":
 | 
					 | 
				
			||||||
  version: 3.4.0
 | 
					  version: 3.4.0
 | 
				
			||||||
  resolution: "uuid@npm:3.4.0"
 | 
					  resolution: "uuid@npm:3.4.0"
 | 
				
			||||||
  bin:
 | 
					  bin:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user