5 Commits
Author SHA1 Message Date
Sam LanningandMateusz Burzyński 7ed1955546 Fixed situations in which cwd was specified as a relative path and used with (default) commitMode: git-cli (#486)
* fix: use latest ghcommit and fix cwd for git-cli

- `cwd` was not working correctly when commitMode was set to `git-cli`,
  as it was attempting to resolve the `cwd` twice.
  (This problem only occured when specifying a relative path for `cwd`.)
- Update `ghcommit`, and avoid calling `process.chdir()` to change the
  working directory. Instead, we now pass the `cwd` option everywhere.

fixes #475

* simplify

* Apply suggestions from code review

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2025-05-16 11:25:00 +02:00
Sam LanningandMateusz Burzyński 022692ba02 Fix PRs sometimes not getting reopened with commitMode: github-api (#488)
* Fix PRs sometimes not getting reopened

There was a race-condition that means sometimes
existing PRs would not be found,
and new PRs would be opened.
This has now been fixed by fetching existing PRs
before making any changes.

fixes #487

* Apply suggestions from code review

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2025-05-15 21:46:15 +02:00
Sam LanningandMateusz Burzyński 3c24abeab2 Make git add work consistently with subdirectories (#473)
* Make git add work consistently with subdirectories

Currently, depending on your `commitMode`,
when running the action with `cwd` set to a subdirectory of a repo,
the action will either:

- `git-cli`: add the files changed in the subdirectory only
- `github-api`: add files changed anywhere in the repository

This commit brings github-api in line with git-cli,
so that it only adds files in the current working directory.

* Explicitly set `cwd` for all exec calls

* Avoid using `ExecOptions` from `@actions/exec`

* Rename type

* remove redundant `filter`

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2025-05-10 12:34:27 +02:00
Sam LanningandMateusz Burzyński 207dc3da2d Introduce an option to use the GitHub API to commit changes, for GPG (#391)
* Create tags on GitHub using API

To allow for signed tags to be created,
rather than use the git CLI to push tags,
manually push each tag using the GitHub API,
which will sign the tag using the built-in GitHub GPG key.

* Use ghcommit to push changes

To allow for all commits to be signed,
use the GitHub API to push changes.

* Add changeset version

* Allow tag publish to fail, assume it was manually published

* Add to changeset

* Update @s0/ghcommit

* Update ghcommit to fix missing ref bug

* Make using GitHub API Optional

Change this to a minor version bump,
with a new feature that allows for using the
GitHub API to create tags and commits.

* Use a strategy pattern for GitHub API vs CLI usage

* refactor git interactions

* fix mock thing

* usechangesets pkg

* switch to `commitMode`

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2025-05-02 15:32:14 +02:00
48ab0d2f2e Switch to pull request list API instead of search (#393)
* Switch to pull request list API instead of search

To reduce the amount of rate-limit that we use,
switch to a cheaper API for determining whether
an existing PR exists for a given branch.

* Ensure PR remains open when updating description

* Update .changeset/clean-bees-count.md

Co-authored-by: willo-icon <161356817+willo-icon@users.noreply.github.com>

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: willo-icon <161356817+willo-icon@users.noreply.github.com>
2024-08-26 18:38:29 +02:00