From 16077aaddced38b3624b63bfc92ce8328b1c0ed4 Mon Sep 17 00:00:00 2001 From: Boaz Yaniv Date: Mon, 2 Dec 2019 18:54:32 +0900 Subject: [PATCH] Allow to run GoReleaser from a subdirectory (#45) --- README.md | 11 ++++++----- action.yml | 3 +++ lib/main.js | 5 +++++ src/main.ts | 6 ++++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f1e92fa..478192e 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,12 @@ jobs: Following inputs can be used as `step.with` keys -| Name | Type | Default | Description | -|---------------|---------|-----------|------------------------------------------| -| `version` | String | `latest` | GoReleaser version. Example: `v0.117.0` | -| `args` | String | | Arguments to pass to GoReleaser | -| `key` | String | | Private key to import | +| Name | Type | Default | Description | +|---------------|---------|-----------|-------------------------------------------| +| `version` | String | `latest` | GoReleaser version. Example: `v0.117.0` | +| `args` | String | | Arguments to pass to GoReleaser | +| `key` | String | | Private key to import | +| `workdir` | String | `.` | Working directory (below repository root) | ### Signing diff --git a/action.yml b/action.yml index ec276db..f037074 100644 --- a/action.yml +++ b/action.yml @@ -14,6 +14,9 @@ inputs: description: 'Arguments to pass to GoReleaser' key: description: 'Private key to import' + workdir: + description: 'Working directory (below repository root)' + default: '.' runs: using: 'node12' diff --git a/lib/main.js b/lib/main.js index e980c23..30b5d00 100644 --- a/lib/main.js +++ b/lib/main.js @@ -26,7 +26,12 @@ function run(silent) { const version = core.getInput('version') || 'latest'; const args = core.getInput('args'); const key = core.getInput('key'); + const workdir = core.getInput('workdir') || '.'; const goreleaser = yield installer.getGoReleaser(version); + if (workdir && workdir !== '.') { + console.log(`📂 Using ${workdir} as working directory...`); + process.chdir(workdir); + } let snapshot = ''; if (!process.env.GITHUB_REF || !process.env.GITHUB_REF.startsWith('refs/tags/')) { console.log(`⚠️ No tag found. Snapshot forced`); diff --git a/src/main.ts b/src/main.ts index cd7a1fe..4bfec50 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,8 +8,14 @@ export async function run(silent?: boolean) { const version = core.getInput('version') || 'latest'; const args = core.getInput('args'); const key = core.getInput('key'); + const workdir = core.getInput('workdir') || '.'; const goreleaser = await installer.getGoReleaser(version); + if (workdir && workdir !== '.') { + console.log(`📂 Using ${workdir} as working directory...`) + process.chdir(workdir); + } + let snapshot = ''; if (!process.env.GITHUB_REF || !process.env.GITHUB_REF.startsWith('refs/tags/')) { console.log(`⚠️ No tag found. Snapshot forced`);