From 7439f8b4676e6b66b67287ce5debbb9b42ae1e5e Mon Sep 17 00:00:00 2001
From: CrazyMax <crazy-max@users.noreply.github.com>
Date: Wed, 28 Apr 2021 00:34:26 +0200
Subject: [PATCH] Remove os limitation

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
---
 .github/docker-login.png | Bin 5134 -> 4404 bytes
 .github/workflows/ci.yml |  18 ++++++++++++++++++
 README.md                |  10 ----------
 __tests__/main.test.ts   |  11 -----------
 dist/index.js            |  26 +++++++++++---------------
 src/docker.ts            |  18 +++++++++---------
 src/main.ts              |   9 ++-------
 7 files changed, 40 insertions(+), 52 deletions(-)

diff --git a/.github/docker-login.png b/.github/docker-login.png
index b6ef96381d555d036a2330619af973f4ef0d5328..02594b90ea5b75259a585b77dde84d9ae0f620c3 100644
GIT binary patch
literal 4404
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

literal 5134
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

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 815134b..ad86ddd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -10,6 +10,24 @@ on:
       - 'releases/v*'
 
 jobs:
+  stop-docker:
+    runs-on: ubuntu-latest
+    steps:
+      -
+        name: Checkout
+        uses: actions/checkout@v2
+      -
+        name: Stop docker
+        run: |
+          sudo systemctl stop docker
+      -
+        name: Login to GitHub Container Registry
+        uses: ./
+        with:
+          registry: ghcr.io
+          username: ${{ github.repository_owner }}
+          password: ${{ secrets.GITHUB_TOKEN }}
+
   dind:
     runs-on: ubuntu-latest
     env:
diff --git a/README.md b/README.md
index 25ef287..542e4bb 100644
--- a/README.md
+++ b/README.md
@@ -8,11 +8,6 @@
 
 GitHub Action to login against a Docker registry.
 
-> :bulb: See also:
-> * [setup-buildx](https://github.com/docker/setup-buildx-action) action
-> * [setup-qemu](https://github.com/docker/setup-qemu-action) action
-> * [build-push](https://github.com/docker/build-push-action) action
-
 ![Screenshot](.github/docker-login.png)
 
 ___
@@ -32,7 +27,6 @@ ___
 * [Customizing](#customizing)
   * [inputs](#inputs)
 * [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot)
-* [Limitation](#limitation)
 
 ## Usage
 
@@ -433,7 +427,3 @@ updates:
     schedule:
       interval: "daily"
 ```
-
-## Limitation
-
-This action is only available for Linux [virtual environments](https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources).
diff --git a/__tests__/main.test.ts b/__tests__/main.test.ts
index 7c8782e..7700ae7 100644
--- a/__tests__/main.test.ts
+++ b/__tests__/main.test.ts
@@ -6,17 +6,6 @@ import * as stateHelper from '../src/state-helper';
 
 import * as core from '@actions/core';
 
-test('errors when not run on linux platform', async () => {
-  const platSpy = jest.spyOn(osm, 'platform');
-  platSpy.mockImplementation(() => 'netbsd');
-
-  const coreSpy: jest.SpyInstance = jest.spyOn(core, 'setFailed');
-
-  await run();
-
-  expect(coreSpy).toHaveBeenCalledWith('Only supported on linux platform');
-});
-
 test('errors without username and password', async () => {
   const platSpy = jest.spyOn(osm, 'platform');
   platSpy.mockImplementation(() => 'linux');
diff --git a/dist/index.js b/dist/index.js
index 24f6bdd..6a66bc3 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -497,18 +497,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
 };
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.run = void 0;
-const os = __importStar(__webpack_require__(87));
 const core = __importStar(__webpack_require__(186));
-const context_1 = __webpack_require__(842);
+const context = __importStar(__webpack_require__(842));
 const docker = __importStar(__webpack_require__(758));
 const stateHelper = __importStar(__webpack_require__(647));
 function run() {
     return __awaiter(this, void 0, void 0, function* () {
         try {
-            if (os.platform() !== 'linux') {
-                throw new Error('Only supported on linux platform');
-            }
-            const { registry, username, password, logout } = context_1.getInputs();
+            const { registry, username, password, logout } = context.getInputs();
             stateHelper.setRegistry(registry);
             stateHelper.setLogout(logout);
             yield docker.login(registry, username, password);
@@ -3069,16 +3065,16 @@ function loginStandard(registry, username, password) {
         loginArgs.push('--username', username);
         loginArgs.push(registry);
         if (registry) {
-            core.info(`🔑 Logging into ${registry}...`);
+            core.info(`Logging into ${registry}...`);
         }
         else {
-            core.info(`🔑 Logging into Docker Hub...`);
+            core.info(`Logging into Docker Hub...`);
         }
         yield execm.exec('docker', loginArgs, true, password).then(res => {
             if (res.stderr != '' && !res.success) {
                 throw new Error(res.stderr);
             }
-            core.info('🎉 Login Succeeded!');
+            core.info(`Login Succeeded!`);
         });
     });
 }
@@ -3090,26 +3086,26 @@ function loginECR(registry, username, password) {
         const region = yield aws.getRegion(registry);
         const accountIDs = yield aws.getAccountIDs(registry);
         if (yield aws.isPubECR(registry)) {
-            core.info(`💡 AWS Public ECR detected with ${region} region`);
+            core.info(`AWS Public ECR detected with ${region} region`);
         }
         else {
-            core.info(`💡 AWS ECR detected with ${region} region`);
+            core.info(`AWS ECR detected with ${region} region`);
         }
         process.env.AWS_ACCESS_KEY_ID = username || process.env.AWS_ACCESS_KEY_ID;
         process.env.AWS_SECRET_ACCESS_KEY = password || process.env.AWS_SECRET_ACCESS_KEY;
-        core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
+        core.info(`Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
         const loginCmds = yield aws.getDockerLoginCmds(cliVersion, registry, region, accountIDs);
-        core.info(`🔑 Logging into ${registry}...`);
+        core.info(`Logging into ${registry}...`);
         loginCmds.forEach((loginCmd, index) => {
             execm.exec(loginCmd, [], true).then(res => {
                 if (res.stderr != '' && !res.success) {
                     throw new Error(res.stderr);
                 }
                 if (loginCmds.length > 1) {
-                    core.info(`🎉 Login Succeeded! (${index}/${loginCmds.length})`);
+                    core.info(`Login Succeeded! (${index}/${loginCmds.length})`);
                 }
                 else {
-                    core.info('🎉 Login Succeeded!');
+                    core.info('Login Succeeded!');
                 }
             });
         });
diff --git a/src/docker.ts b/src/docker.ts
index 19aeb63..9924eb2 100644
--- a/src/docker.ts
+++ b/src/docker.ts
@@ -28,15 +28,15 @@ export async function loginStandard(registry: string, username: string, password
   loginArgs.push(registry);
 
   if (registry) {
-    core.info(`🔑 Logging into ${registry}...`);
+    core.info(`Logging into ${registry}...`);
   } else {
-    core.info(`🔑 Logging into Docker Hub...`);
+    core.info(`Logging into Docker Hub...`);
   }
   await execm.exec('docker', loginArgs, true, password).then(res => {
     if (res.stderr != '' && !res.success) {
       throw new Error(res.stderr);
     }
-    core.info('🎉 Login Succeeded!');
+    core.info(`Login Succeeded!`);
   });
 }
 
@@ -47,27 +47,27 @@ export async function loginECR(registry: string, username: string, password: str
   const accountIDs = await aws.getAccountIDs(registry);
 
   if (await aws.isPubECR(registry)) {
-    core.info(`💡 AWS Public ECR detected with ${region} region`);
+    core.info(`AWS Public ECR detected with ${region} region`);
   } else {
-    core.info(`💡 AWS ECR detected with ${region} region`);
+    core.info(`AWS ECR detected with ${region} region`);
   }
 
   process.env.AWS_ACCESS_KEY_ID = username || process.env.AWS_ACCESS_KEY_ID;
   process.env.AWS_SECRET_ACCESS_KEY = password || process.env.AWS_SECRET_ACCESS_KEY;
 
-  core.info(`⬇️ Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
+  core.info(`Retrieving docker login command through AWS CLI ${cliVersion} (${cliPath})...`);
   const loginCmds = await aws.getDockerLoginCmds(cliVersion, registry, region, accountIDs);
 
-  core.info(`🔑 Logging into ${registry}...`);
+  core.info(`Logging into ${registry}...`);
   loginCmds.forEach((loginCmd, index) => {
     execm.exec(loginCmd, [], true).then(res => {
       if (res.stderr != '' && !res.success) {
         throw new Error(res.stderr);
       }
       if (loginCmds.length > 1) {
-        core.info(`🎉 Login Succeeded! (${index}/${loginCmds.length})`);
+        core.info(`Login Succeeded! (${index}/${loginCmds.length})`);
       } else {
-        core.info('🎉 Login Succeeded!');
+        core.info('Login Succeeded!');
       }
     });
   });
diff --git a/src/main.ts b/src/main.ts
index 06ff25c..f15082e 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,16 +1,11 @@
-import * as os from 'os';
 import * as core from '@actions/core';
-import {getInputs, Inputs} from './context';
+import * as context from './context';
 import * as docker from './docker';
 import * as stateHelper from './state-helper';
 
 export async function run(): Promise<void> {
   try {
-    if (os.platform() !== 'linux') {
-      throw new Error('Only supported on linux platform');
-    }
-
-    const {registry, username, password, logout} = getInputs();
+    const {registry, username, password, logout} = context.getInputs();
     stateHelper.setRegistry(registry);
     stateHelper.setLogout(logout);
     await docker.login(registry, username, password);