From 9199c83f6e0ae778a3f6064dd2b28f923cef0b02 Mon Sep 17 00:00:00 2001
From: CrazyMax <crazy-max@users.noreply.github.com>
Date: Tue, 22 Jun 2021 17:25:52 +0200
Subject: [PATCH] Use `core.getBooleanInput`

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
---
 __tests__/context.test.ts | 68 +++++++++++++++++++++++++++++++++------
 dist/index.js             |  8 ++---
 src/context.ts            |  8 ++---
 3 files changed, 66 insertions(+), 18 deletions(-)

diff --git a/__tests__/context.test.ts b/__tests__/context.test.ts
index 6c0fe87..e3d8686 100644
--- a/__tests__/context.test.ts
+++ b/__tests__/context.test.ts
@@ -143,6 +143,10 @@ describe('getArgs', () => {
       '0.4.1',
       new Map<string, string>([
         ['context', '.'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -155,6 +159,10 @@ describe('getArgs', () => {
       '0.4.2',
       new Map<string, string>([
         ['build-args', 'MY_ARG=val1,val2,val3\nARG=val'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -169,6 +177,10 @@ describe('getArgs', () => {
       '0.4.2',
       new Map<string, string>([
         ['tags', 'name/app:7.4, name/app:latest'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -184,7 +196,11 @@ describe('getArgs', () => {
       new Map<string, string>([
         ['context', '.'],
         ['labels', 'org.opencontainers.image.title=buildkit\norg.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit'],
-        ['outputs', 'type=local,dest=./release-out']
+        ['outputs', 'type=local,dest=./release-out'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -199,7 +215,11 @@ describe('getArgs', () => {
       '0.4.1',
       new Map<string, string>([
         ['context', '.'],
-        ['platforms', 'linux/amd64,linux/arm64']
+        ['platforms', 'linux/amd64,linux/arm64'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -211,7 +231,11 @@ describe('getArgs', () => {
     [
       '0.4.1',
       new Map<string, string>([
-        ['context', '.']
+        ['context', '.'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -225,6 +249,10 @@ describe('getArgs', () => {
       new Map<string, string>([
         ['context', '.'],
         ['secrets', 'GIT_AUTH_TOKEN=abcdefghijklmno=0123456789'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -238,7 +266,11 @@ describe('getArgs', () => {
       '0.4.2',
       new Map<string, string>([
         ['github-token', 'abcdefghijklmno0123456789'],
-        ['outputs', '.']
+        ['outputs', '.'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -257,7 +289,10 @@ describe('getArgs', () => {
         ['secrets', 'GIT_AUTH_TOKEN=abcdefghijklmno=0123456789'],
         ['file', './test/Dockerfile'],
         ['builder', 'builder-git-context-2'],
-        ['push', 'true']
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'true'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -288,7 +323,10 @@ bbbb
 ccc"`],
         ['file', './test/Dockerfile'],
         ['builder', 'builder-git-context-2'],
-        ['push', 'true']
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'true'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -322,7 +360,10 @@ bbbb
 ccc`],
         ['file', './test/Dockerfile'],
         ['builder', 'builder-git-context-2'],
-        ['push', 'true']
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'true'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -348,7 +389,10 @@ ccc`],
         ['file', './test/Dockerfile'],
         ['builder', 'builder-git-context-2'],
         ['network', 'host'],
-        ['push', 'true']
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'true'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -367,7 +411,11 @@ ccc`],
       new Map<string, string>([
         ['context', '.'],
         ['labels', 'org.opencontainers.image.title=filter_results_top_n\norg.opencontainers.image.description=Reference implementation of operation "filter results (top-n)"'],
-        ['outputs', 'type=local,dest=./release-out']
+        ['outputs', 'type=local,dest=./release-out'],
+        ['load', 'false'],
+        ['no-cache', 'false'],
+        ['push', 'false'],
+        ['pull', 'false']
       ]),
       [
         'buildx',
@@ -592,7 +640,7 @@ describe('setOutput', () => {
   });
 });
 
-// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
+// See: https://github.com/actions/toolkit/blob/a1b068ec31a042ff1e10a522d8fdf0b8869d53ca/packages/core/src/core.ts#L89
 function getInputName(name: string): string {
   return `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
 }
diff --git a/dist/index.js b/dist/index.js
index 68e67e5..87e8064 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -13553,13 +13553,13 @@ function getInputs(defaultContext) {
             context: core.getInput('context') || defaultContext,
             file: core.getInput('file'),
             labels: yield getInputList('labels', true),
-            load: /true/i.test(core.getInput('load')),
+            load: core.getBooleanInput('load'),
             network: core.getInput('network'),
-            noCache: /true/i.test(core.getInput('no-cache')),
+            noCache: core.getBooleanInput('no-cache'),
             outputs: yield getInputList('outputs', true),
             platforms: yield getInputList('platforms'),
-            pull: /true/i.test(core.getInput('pull')),
-            push: /true/i.test(core.getInput('push')),
+            pull: core.getBooleanInput('pull'),
+            push: core.getBooleanInput('push'),
             secrets: yield getInputList('secrets', true),
             secretFiles: yield getInputList('secret-files', true),
             ssh: yield getInputList('ssh'),
diff --git a/src/context.ts b/src/context.ts
index 1c85b69..aa0629a 100644
--- a/src/context.ts
+++ b/src/context.ts
@@ -74,13 +74,13 @@ export async function getInputs(defaultContext: string): Promise<Inputs> {
     context: core.getInput('context') || defaultContext,
     file: core.getInput('file'),
     labels: await getInputList('labels', true),
-    load: /true/i.test(core.getInput('load')),
+    load: core.getBooleanInput('load'),
     network: core.getInput('network'),
-    noCache: /true/i.test(core.getInput('no-cache')),
+    noCache: core.getBooleanInput('no-cache'),
     outputs: await getInputList('outputs', true),
     platforms: await getInputList('platforms'),
-    pull: /true/i.test(core.getInput('pull')),
-    push: /true/i.test(core.getInput('push')),
+    pull: core.getBooleanInput('pull'),
+    push: core.getBooleanInput('push'),
     secrets: await getInputList('secrets', true),
     secretFiles: await getInputList('secret-files', true),
     ssh: await getInputList('ssh'),