Skip to content

Commit e08fc16

Browse files
authored
Merge pull request #54 from crazy-max/fix-node
builder: fix breaking change on node fields
2 parents 2e59ae7 + 9128f56 commit e08fc16

File tree

5 files changed

+31
-36
lines changed

5 files changed

+31
-36
lines changed

__tests__/buildkit/buildkit.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ jest.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<Bu
3232
lastActivity: new Date('2023-01-16 09:45:23 +0000 UTC'),
3333
nodes: [
3434
{
35-
buildkitVersion: 'v0.11.0',
36-
buildkitdFlags: '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
37-
driverOpts: ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
35+
buildkit: 'v0.11.0',
36+
'buildkitd-flags': '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
37+
'driver-opts': ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
3838
endpoint: 'unix:///var/run/docker.sock',
3939
name: 'builder20',
4040
platforms: 'linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6',

__tests__/buildx/builder.test.ts

+17-17
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ jest.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<Bu
3535
lastActivity: new Date('2023-01-16 09:45:23 +0000 UTC'),
3636
nodes: [
3737
{
38-
buildkitVersion: 'v0.11.0',
39-
buildkitdFlags: '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
40-
driverOpts: ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
38+
buildkit: 'v0.11.0',
39+
'buildkitd-flags': '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
40+
'driver-opts': ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
4141
endpoint: 'unix:///var/run/docker.sock',
4242
name: 'builder20',
4343
platforms: 'linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6',
@@ -71,8 +71,8 @@ describe('parseInspect', () => {
7171
"name": "builder-5cb467f7-0940-47e1-b94b-d51f54054d620",
7272
"endpoint": "unix:///var/run/docker.sock",
7373
"status": "running",
74-
"buildkitdFlags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
75-
"buildkitVersion": "v0.10.4",
74+
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
75+
"buildkit": "v0.10.4",
7676
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/arm64,linux/riscv64,linux/386,linux/arm/v7,linux/arm/v6"
7777
}
7878
]
@@ -87,12 +87,12 @@ describe('parseInspect', () => {
8787
{
8888
"name": "builder-5f449644-ff29-48af-8344-abb0292d06730",
8989
"endpoint": "unix:///var/run/docker.sock",
90-
"driverOpts": [
90+
"driver-opts": [
9191
"image=moby/buildkit:latest"
9292
],
9393
"status": "running",
94-
"buildkitdFlags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
95-
"buildkitVersion": "v0.10.4",
94+
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
95+
"buildkit": "v0.10.4",
9696
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/386"
9797
}
9898
]
@@ -107,13 +107,13 @@ describe('parseInspect', () => {
107107
{
108108
"name": "builder-9929e463-7954-4dc3-89cd-514cca29ff800",
109109
"endpoint": "unix:///var/run/docker.sock",
110-
"driverOpts": [
110+
"driver-opts": [
111111
"image=moby/buildkit:master",
112112
"network=host"
113113
],
114114
"status": "running",
115-
"buildkitdFlags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
116-
"buildkitVersion": "3fab389",
115+
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
116+
"buildkit": "3fab389",
117117
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/386"
118118
}
119119
]
@@ -129,7 +129,7 @@ describe('parseInspect', () => {
129129
"name": "default",
130130
"endpoint": "default",
131131
"status": "running",
132-
"buildkitVersion": "20.10.17",
132+
"buildkit": "20.10.17",
133133
"platforms": "linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/arm/v7,linux/arm/v6"
134134
}
135135
]
@@ -144,7 +144,7 @@ describe('parseInspect', () => {
144144
{
145145
"name": "aws_graviton2",
146146
"endpoint": "tcp://1.23.45.67:1234",
147-
"driverOpts": [
147+
"driver-opts": [
148148
"cert=/home/user/.certs/aws_graviton2/cert.pem",
149149
"key=/home/user/.certs/aws_graviton2/key.pem",
150150
"cacert=/home/user/.certs/aws_graviton2/ca.pem"
@@ -163,7 +163,7 @@ describe('parseInspect', () => {
163163
"name": "builder-17cfff01-48d9-4c3d-9332-9992e308a5100",
164164
"endpoint": "unix:///var/run/docker.sock",
165165
"status": "running",
166-
"buildkitdFlags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
166+
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
167167
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/386"
168168
}
169169
],
@@ -179,9 +179,9 @@ describe('parseInspect', () => {
179179
"lastActivity": new Date("2023-01-16T09:45:23.000Z"),
180180
"nodes": [
181181
{
182-
"buildkitVersion": "v0.11.0",
183-
"buildkitdFlags": "--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
184-
"driverOpts": [
182+
"buildkit": "v0.11.0",
183+
"buildkitd-flags": "--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
184+
"driver-opts": [
185185
"BUILDKIT_STEP_LOG_MAX_SIZE=10485760",
186186
"BUILDKIT_STEP_LOG_MAX_SPEED=10485760",
187187
"JAEGER_TRACE=localhost:6831",

src/buildkit/buildkit.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ export class BuildKit {
3939
}
4040

4141
public async getVersion(node: NodeInfo): Promise<string | undefined> {
42-
if (!node.buildkitVersion && node.name) {
42+
if (!node.buildkit && node.name) {
4343
try {
4444
return await this.getVersionWithinImage(node.name);
4545
} catch (e) {
4646
core.warning(e);
4747
}
4848
}
49-
return node.buildkitVersion;
49+
return node.buildkit;
5050
}
5151

5252
private async getVersionWithinImage(nodeName: string): Promise<string> {
@@ -80,7 +80,7 @@ export class BuildKit {
8080
builderInfo = await new Builder({buildx: this.buildx}).inspect(builderName);
8181
}
8282
for (const node of builderInfo.nodes) {
83-
let bkversion = node.buildkitVersion;
83+
let bkversion = node.buildkit;
8484
core.debug(`BuildKit.versionSatisfies ${bkversion}: ${range}`);
8585
if (!bkversion) {
8686
try {

src/buildx/builder.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,19 +80,19 @@ export class Builder {
8080
break;
8181
}
8282
case 'driver options': {
83-
node.driverOpts = (value.match(/(\w+)="([^"]*)"/g) || []).map(v => v.replace(/^(.*)="(.*)"$/g, '$1=$2'));
83+
node['driver-opts'] = (value.match(/(\w+)="([^"]*)"/g) || []).map(v => v.replace(/^(.*)="(.*)"$/g, '$1=$2'));
8484
break;
8585
}
8686
case 'status': {
8787
node.status = value;
8888
break;
8989
}
9090
case 'flags': {
91-
node.buildkitdFlags = value;
91+
node['buildkitd-flags'] = value;
9292
break;
9393
}
9494
case 'buildkit': {
95-
node.buildkitVersion = value;
95+
node.buildkit = value;
9696
break;
9797
}
9898
case 'platforms': {

src/types/builder.ts

+5-10
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,15 @@ export interface BuilderInfo {
2121
nodes: NodeInfo[];
2222
}
2323

24-
export interface NodeInfo {
25-
name?: string;
26-
endpoint?: string;
27-
driverOpts?: Array<string>;
28-
status?: string;
29-
buildkitdFlags?: string;
30-
buildkitVersion?: string;
31-
platforms?: string;
32-
}
33-
3424
export interface Node {
3525
name?: string;
3626
endpoint?: string;
3727
'driver-opts'?: Array<string>;
3828
'buildkitd-flags'?: string;
3929
platforms?: string;
4030
}
31+
32+
export interface NodeInfo extends Node {
33+
status?: string;
34+
buildkit?: string;
35+
}

0 commit comments

Comments
 (0)