From 55ce0d9d1782257968c825b936c44084dcc140aa Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Fri, 11 Jan 2019 16:50:41 +0100 Subject: Add pre-publish check to ensure publisher is logged in to docker cmdline --- packages/monorepo-scripts/src/prepublish_checks.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/monorepo-scripts/src/prepublish_checks.ts b/packages/monorepo-scripts/src/prepublish_checks.ts index 82eaf5cf9..61ac76823 100644 --- a/packages/monorepo-scripts/src/prepublish_checks.ts +++ b/packages/monorepo-scripts/src/prepublish_checks.ts @@ -17,6 +17,18 @@ async function prepublishChecksAsync(): Promise { await checkChangelogFormatAsync(updatedPublicPackages); await checkGitTagsForNextVersionAndDeleteIfExistAsync(updatedPublicPackages); await checkPublishRequiredSetupAsync(); + await checkDockerHubSetupAsync(); +} + +async function checkDockerHubSetupAsync(): Promise { + try { + utils.log('Checking that the user is logged in to docker command...'); + await execAsync(`echo "$DOCKER_PASS" | docker login -u $DOCKER_USERNAME --password-stdin`); + } catch (err) { + throw new Error( + 'Failed to log you into the `docker` commandline tool. Make sure you have environment variables `DOCKER_USERNAME` and `DOCKER_PASS` set.', + ); + } } async function checkGitTagsForNextVersionAndDeleteIfExistAsync(updatedPublicPackages: Package[]): Promise { -- cgit v1.2.3