Added cwd input option (#134)

* feat: add cwd for projects that not in the root directory

* docs: add cwd to README

* reword the added log

* tweak changeset

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
This commit is contained in:
David Register
2022-01-23 14:25:45 +01:00
committed by GitHub
co-authored by Mateusz Burzyński
parent 5c0997b25e
commit 1ed9bc24b7
4 changed files with 16 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@changesets/action": minor
---
Added `cwd` input option that can be used in projects that are not in the root directory.
+1
View File
@@ -11,6 +11,7 @@ This action for [Changesets](https://github.com/atlassian/changesets) creates a
- commit - The commit message to use. Default to `Version Packages` - commit - The commit message to use. Default to `Version Packages`
- title - The pull request title. Default to `Version Packages` - title - The pull request title. Default to `Version Packages`
- setupGitUser - Sets up the git user for commits as `"github-actions[bot]"`. Default to `true` - setupGitUser - Sets up the git user for commits as `"github-actions[bot]"`. Default to `true`
- cwd - Changes node's `process.cwd()` if the project is not located on the root. Default to `process.cwd()`
### Outputs ### Outputs
+3
View File
@@ -10,6 +10,9 @@ inputs:
version: version:
description: "The command to update version, edit CHANGELOG, read and delete changesets. Default to `changeset version` if not provided" description: "The command to update version, edit CHANGELOG, read and delete changesets. Default to `changeset version` if not provided"
required: false required: false
cwd:
description: Sets the cwd for the node process. Default to `process.cwd()`
required: false
commit: commit:
description: | description: |
The commit message. Default to `Version Packages` The commit message. Default to `Version Packages`
+7 -1
View File
@@ -14,7 +14,7 @@ const getOptionalInput = (name: string) => core.getInput(name) || undefined;
return; return;
} }
let setupGitUser = core.getBooleanInput('setupGitUser'); let setupGitUser = core.getBooleanInput("setupGitUser");
if (setupGitUser) { if (setupGitUser) {
console.log("setting git user"); console.log("setting git user");
@@ -27,6 +27,12 @@ const getOptionalInput = (name: string) => core.getInput(name) || undefined;
`machine github.com\nlogin github-actions[bot]\npassword ${githubToken}` `machine github.com\nlogin github-actions[bot]\npassword ${githubToken}`
); );
const inputCwd = core.getInput("cwd");
if (inputCwd) {
console.log("changing directory to the one given as the input");
process.chdir(inputCwd);
}
let { changesets } = await readChangesetState(); let { changesets } = await readChangesetState();
let publishScript = core.getInput("publish"); let publishScript = core.getInput("publish");