89 Commits
Author SHA1 Message Date
Mateusz Burzyński c1f57e52f9 Run typecheck on CI (#478) 2025-05-11 11:01:53 +02:00
Mateusz Burzyński 9d933dcd11 Updated @actions/* and @octokit/* dependencies (#477) 2025-05-11 11:01:10 +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
Vx-VandMateusz Burzyński 6e575506e6 Do not pre-start github API request (#467)
* Do not pre-start github API request

* Create quiet-jeans-poke.md

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2025-05-06 23:07:15 +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
Changwan bd5d1d2a62 Remove unused variable (#460)
* unused variable

* double negative var

* Revert "double negative var"

This reverts commit 13cd17e381.
2025-04-22 07:22:46 +02:00
Bjorn Lu 8b16070fe3 Use full git email for github-actions bot (#448)
* Use full git email for github-actions bot

* Create fluffy-clocks-knock.md
2025-03-10 11:42:00 +01:00
Ben McCann 57ab80c611 Improve error message when attempting to publish without publish script defined (#415)
* Improve error message when attempting to publish without publish script defined

* Update src/index.ts

* Update src/index.ts
2024-10-14 18:44:02 +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
Ernesto García f2660aa7e7 Feature: Allow custom branch (#255) 2024-03-19 08:57:05 +10:00
Mateusz Burzyński 49f9bd750b Upgrade @octokit/plugin-throttling and fix type errors (#294) 2023-05-14 16:56:41 +02:00
Mateusz Burzyński 4e64830a00 Update Jest 2023-05-09 17:32:35 +02:00
Viktor VarlandandMateusz Burzyński db8a1099bc Wire up @octokit/plugin-throttling with all GitHub Octokit instances (#291)
* fix: use throttling-wired octokit everywhere

* test: fix run.test.ts

* Update .changeset/new-worms-knock.md

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2023-05-09 17:21:08 +02:00
Viktor VarlandandMateusz Burzyński 8b2818674d Use logging provided by @actions/core (#289)
* chore: migrate to logging from @actions/core

* Update src/index.ts

* Update .changeset/blue-hornets-marry.md

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2023-05-08 23:42:00 +02:00
Viktor VarlandandMateusz Burzyński 225a1e8cbc Add a throttling plugin to the used Octokit instance to retry requests after hitting secondary rate limits (#286)
* fix: prevent hitting github secondary rate limits

Adds the octokit plugin for throttling / rate-limiting to fix the
problem where action runs get blocked with a 403 error[1].

The `github.getOctokit`[2] function accepts a list of plugins, so this
passes in the `throttling` plugin[3] to be hooked into the octokit
instance.

It also needs some configuration to setup the `throttle` mechanisms,
passed in to the `getOctokit` function.

[1]: https://github.com/changesets/action/issues/192
[2]: https://github.com/actions/toolkit/blob/main/packages/github/src/github.ts#LL18C40-L18C40
[3]: https://github.com/octokit/plugin-throttling.js

* refactor: change rate limit callback signatures

Based on additional docs, the callbacks seem to have changes to their
signatures[1]. This change aligns this implementation with the docs[2].

[1]: https://octokit.github.io/rest.js/v19#throttling
[2]: https://github.com/octokit/plugin-throttling.js/blob/v5.1.1/src/index.ts#L90-L91

* chore: add changeset

* wire up typed throttle options

* Upgrade TS

* refactor: use console based logging

* Update .changeset/rotten-carrots-pump.md

---------

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2023-05-06 10:52:18 +02:00
Mateusz Burzyński b78f480998 Upgrade @actions/* dependencies (#123)
* Upgrade `@actions/*` dependencies

* bumps deps again

* add changeset
2022-11-08 10:26:23 +01:00
Ian SandersandMateusz Burzyński bff53cc50c Add is:pull-request to search query when looking for existing PR (#228)
* Add `is:pull-request` to search query when looking for existing PR

* Create sharp-pens-matter.md

* Update .changeset/sharp-pens-matter.md

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2022-11-02 10:23:46 +01:00
David GlasserandMateusz Burzyński 8c3f5f5637 Skip creating a PR when all existing changesets are empty (#206)
* Don't create a PR if all changesets are empty

Fixes #205.

Note that this maintains the previous behavior that if there are any
changesets (even empty ones), the action does not publish packages.

* Create three-needles-protect.md

* Update .changeset/three-needles-protect.md

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2022-08-18 23:10:27 +02:00
Nicola MolinariandMateusz Burzyński 521c27bf86 Automatically adjust GitHub PR message if it exceeds a size limit of 60k characters by omitting some of the changelog information (#157)
* fix: body max length

* docs: improve logs

* docs: changeset

* refactor: changeset message to omit some info if message exceeds size limit

* refactor: minor adjustments based on feedback

* Apply nits from code review

* Fixed tests

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2022-05-10 11:06:04 +02:00
David RegisterandMateusz Burzyński 993a0a090d Added pullRequestNumber to the action's outputs (#167)
* feat: set pullRequesstNumber as action output

* chore: add changeset

* fix: feedback from pr review

* Update .changeset/long-mayflies-yell.md

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2022-04-07 19:10:26 +02:00
Russell Bicknell 52c9ce75d9 Change directory to cwd before running git user setup. (#161) 2022-03-15 15:07:12 +01:00
David RegisterandMateusz Burzyński 1ed9bc24b7 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>
2022-01-23 14:25:45 +01:00
An PhiandMateusz Burzyński 5c0997b25e Added createGithubReleases input option (defaults to true) to control whether to create Github releases during publish or not (#130)
* allow skipping creation of Github releases

* fixes for PR review

* minor improvements

* add changeset

* nits

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2022-01-23 11:07:42 +01:00
Jack LeslieandMitchell Hamilton d3db9eceaf Added setupGitUser option to enable or disable setting up a default git user (#131)
* custom git user option

* Create two-dolls-promise.md

* Update two-dolls-promise.md

* change input name and update default

* Update .changeset/two-dolls-promise.md

Co-authored-by: Mitchell Hamilton <mitchell@hamil.town>
2022-01-07 15:27:29 +01:00
Mateusz BurzyńskiandDhruvdutt Jadhav 19373036c4 Setup the git user in the local config instead of the global one (#128)
* Update gitUtils.ts

* add changeset

Co-authored-by: Dhruvdutt Jadhav <dhruvdutt.jadhav@razorpay.com>
2021-12-23 11:21:40 +01:00
Mateusz BurzyńskiandNicola Molinari 05c863d3f9 Switch to Changesets-based release process (#118)
* Switch to Changesets-based release process

* Bump version

* drop unused variable

* Update .github/workflows/version-or-publish.yml

Co-authored-by: Nicola Molinari <nicola.molinari@commercetools.com>

* Push also to a release line branch when releasing

* Change node version used in the version-or-publish workflow

* Switch to using the local action

Co-authored-by: Nicola Molinari <nicola.molinari@commercetools.com>

* build the action before trying to use it the workflow

* Add changeset and actually setup Changesets, lol

Co-authored-by: Nicola Molinari <nicola.molinari@commercetools.com>
2021-11-25 17:51:48 +01:00
Nicola MolinariandMateusz Burzyński 21240c3cd1 Fixed authToken detection in the user .npmrc (allow for leading whitespace) (#116)
* fix: adjust regex to include leading whitespaces

* tweak regexp

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2021-11-11 17:26:06 +01:00
Mateusz Burzyński 8090f2a918 Add authToken for the npm registry to user-level .npmrc if it is not there (#110) 2021-11-09 06:28:22 +01:00
Mateusz Burzyński c3d88279fd Add hasChangesets output (#102) 2021-08-19 08:32:25 +02:00
Jon RohanandMateusz Burzyński c291823920 Set the name of created releases - which ends up as its title in the UI (#84)
* Sending name: argument to createRelease

* Rebuild the dist file

Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
2021-04-07 18:26:15 +02:00
Mateusz Burzyński aacbc22392 Avoid changing HEAD when executing publish (#81) 2021-03-23 11:04:41 +01:00
Mateusz Burzyński b5c0c12a1d Throw custom error for MODULE_NOT_FOUND when loading @changesets/cli (#76) 2021-03-22 11:35:40 +10:00
Jacob Gillespie 640c4a5d64 Switch to using resolve-from rather than require.resolve (#71) 2021-02-16 00:36:35 +01:00
Jacob Gillespie bf4c612018 Require @changesets/cli resolving from cwd (#67)
* Resolve @changesets/cli with resolve-from

* Use require.resolve directly

* Add documentation section to README

* Add custom version command docs for Yarn 2
2021-02-15 18:51:03 +01:00
Mateusz Burzyński 6c6b3b9bb0 Fixed an issue with the action crashing on commit attempts in projects with commit: true (#61) 2020-11-30 08:10:04 +01:00
Mateusz Burzyński bfeb9e077e Fixed an issue with treating single package repositories without changesets as versioned at all times (#41) 2020-07-07 10:06:02 +10:00
Mateusz Burzyński 2c7afd615c Upgrade @actions/* packages (#40) 2020-07-06 20:33:19 +10:00
Mateusz Burzyński d846247242 Remove leftover comment 2020-07-06 11:29:23 +02:00
Mateusz Burzyński cd904b92c7 Fixed an issue with ignored package being included in PR body incorrectly (#38) 2020-07-06 19:08:41 +10:00