npm / template-oss

a template package for npm CLI team development
Other
26 stars 19 forks source link

fix: Use `include-workspace-root` for `/main` in Post Dependabot #462

Closed hashtagchris closed 4 months ago

hashtagchris commented 4 months ago

steps.metadata.outputs.directory is set to /main, not /, when package.json is at the root of the repository. I suspect adding target-branch to dependabot.yml (#330) added a main segment to Dependabot PR branch names, which changed the value of steps.metadata.outputs.directory.

By fixing this issue, we shouldn't need to routinely use stafftools to fix up template-oss Dependabot PRs. 🤞🏼

I couldn't quickly find a bump @npmcli/template-oss Dependabot PR for a workspace to inspect steps.metadata.outputs.directory and fix workspaces support. If that's important, we may want to either enable Dependabot for npm/cli or create a separate template-oss-test repo. It's not clear if Dependabot will create a PR for workspace/test-workspace upon our next release.

Example Dependabot PR branch names

The first PR updates just @npmcli/template-oss. The second updates multiple dependencies including @npmcli/template-oss.

PR branch name segments steps.metadata.outputs.directory
https://github.com/npm/agent/pull/110 dependabot/npm_and_yarn/main/npmcli/template-oss-4.23.0 5 /main
https://github.com/npm/statusboard/pull/877 dependabot/npm_and_yarn/main/dependency-updates-4de8b5bfcf 4 /

References

Failed "Post Dependabot" run: https://github.com/npm/agent/actions/runs/9963674341/job/27530225303

Fix manually tested here: https://github.com/npm/agent/pull/110/commits/ef85b0854e5ee9c26c289ceeba083edc3339a2bb

branchNameToDirectoryName

Bug report: https://github.com/dependabot/fetch-metadata/issues/540

wraithgar commented 4 months ago

stafftools will still need to be ran on dependabot PRs that update .github/workflows since dependabot PRs don't have access to push to that directory.