Skip to content
This repository has been archived by the owner on Aug 15, 2024. It is now read-only.

Commit

Permalink
feat!: v4 release (#871)
Browse files Browse the repository at this point in the history
Any advanced configuration should be done via a
release-please-config.json.

Fixes #859
Fixes #858
Fixes #857
Fixes #852

feat!: remove most configuration options in favor of manifest
configuration to configure the release-please-action
refactor!: rewrite in typescript
feat!: remove command option in favor of setting `release-type` and
`skip-github-release`/`skip-github-pull-request`
feat!: run on node20
deps!: upgrade release-please to v16
  • Loading branch information
chingor13 authored Nov 29, 2023
1 parent 1ddb669 commit 9cf05a0
Show file tree
Hide file tree
Showing 15 changed files with 4,473 additions and 3,237 deletions.
8 changes: 8 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
**/node_modules
**/coverage
test/fixtures
build/
docs/
protos/
samples/generated/
dist/
12 changes: 12 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"extends": "./node_modules/gts",
"root": true,
"overrides": [
{
"files": "test/*.ts",
"rules": {
"node/no-unpublished-import": 0
}
}
]
}
9 changes: 4 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,19 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node: [18, 20]
node: [20]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node }}
- run: node --version
# The first installation step ensures that all of our production
# dependencies work on the given Node.js version, this helps us find
# dependencies that don't match our engines field:
- run: npm install --production --engine-strict --ignore-scripts --no-package-lock
# Clean up the production install, before installing dev/production:
- run: rm -rf node_modules
- run: npm install
- run: npm ci
- run: npm test
windows:
runs-on: windows-latest
Expand All @@ -31,13 +30,13 @@ jobs:
- uses: actions/setup-node@v1
with:
node-version: 20
- run: npm install
- run: npm ci
- run: npm test
build-dist:
runs-on: ubuntu-latest
strategy:
matrix:
node: [18, 20]
node: [20]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
coverage
node_modules
.DS_Store
build/
450 changes: 214 additions & 236 deletions README.md

Large diffs are not rendered by default.

147 changes: 17 additions & 130 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,58 +6,16 @@ inputs:
description: 'GitHub token for creating and grooming release PRs, defaults to using secrets.GITHUB_TOKEN'
required: false
default: ${{ github.token }}
fork:
description: 'should the PR be proposed from a fork, Default to false'
required: false
default: false
clean:
description: 'Should stale release PRs be closed post release? Defaults to true'
required: false
default: true
package-name:
description: 'name of the distributions releases are being created for, e.g., "name" in package.json, or "setup.py"'
required: false
release-type:
description: 'what type of release is this, one of (ruby, python, node, terraform-module)'
required: true
bump-minor-pre-major:
description: 'should breaking changes before 1.0.0 produce minor bumps'
required: false
default: false
bump-patch-for-minor-pre-major:
description: 'should feat changes before 1.0.0 produce patch bumps instead of minor bumps'
required: false
default: false
default: ''
path:
description: "create a release from a path other than the repository's root"
required: false
default: ''
changelog-path:
description: 'specify a CHANGELOG path other than the root CHANGELOG.md'
required: false
default: ''
changelog-host:
description: 'The proto://host where commits live.'
required: false
default: ${{ github.server_url }}
command:
description: 'release-please command to run, either "github-release", or "release-pr" (defaults to running both)'
required: false
default: ''
version-file:
description: 'provide a path to a version file to increment (used by ruby releaser)'
required: false
default: ''
extra-files:
description: 'extra files to bump using the generic updater'
required: false
default: ''
default-branch:
description: 'branch to open pull release PR against (detected by default)'
required: false
default: ''
changelog-types:
description: 'changlelog commit types'
target-branch:
description: branch to open pull release PR against (detected by default)
required: false
default: ''
config-file:
Expand All @@ -68,10 +26,10 @@ inputs:
description: 'where can the manifest file be found in the project?'
required: false
default: ''
signoff:
description: 'Add [`Signed-off-by`](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff) line at the end of the commit log message using the user and email provided. (format "Name \<email@example.com\>")'
repo-url:
description: 'configure github repository URL. Default `process.env.GITHUB_REPOSITORY`'
required: false
default: ''
default: ${{ github.repository }}
github-api-url:
description: 'configure github API URL. Default `https://api.github.com`'
required: false
Expand All @@ -80,93 +38,22 @@ inputs:
description: 'configure github GraphQL URL. Default `https://api.github.com`'
required: false
default: ${{ github.graphql_url }}
repo-url:
description: 'configure github repository URL. Default `process.env.GITHUB_REPOSITORY`'
required: false
default: ''
monorepo-tags:
description: 'add prefix to tags and branches, allowing multiple libraries to be released from the same repository'
fork:
description: 'If true, send the PR from a fork. This requires the token to be a user that can create forks (e.g. not the default GITHUB_TOKEN)'
required: false
default: false
pull-request-title-pattern:
description: 'add title pattern to make release PR, defaults to using "chore${scope}: release${component} ${version}"'
required: false
pull-request-header:
description: 'set release PR header, defaults to using ":robot: I have created a release *beep* *boop*"'
required: false
draft:
description: 'mark release as a draft'
required: false
draft-pull-request:
description: 'mark pull request as a draft'
required: false
changelog-notes-type:
description: "Strategy for building the changelog contents(see https://github.com/googleapis/release-please/blob/main/docs/customizing.md#changelog-types). Default `default`. Called `changelog-type` in release-please documentation."
required: false
versioning-strategy:
description: 'Override method of determining SemVer version bumps based on commits (drr https://github.com/googleapis/release-please/blob/main/docs/customizing.md#versioning-strategies). Default `default`'
required: false
release-as:
description: 'manually set version to this value, ignoring conventional commits. Absence defaults to conventional commits derived next version. Once the release PR is merged you should either remove this or update it to a higher version. Otherwise subsequent `manifest-pr` runs will continue to use this version even though it was already set in the last release.'
proxy-server:
description: 'set proxy sever when you run this action behind a proxy. format is host:port e.g. proxy-host.com:8080'
required: false
default: ''
skip-github-release:
description: 'Skip creating GitHub Releases. Default `false`'
required: false
prerelease:
description: 'If set, create releases that are pre-major or pre-release version marked as pre-release on Github. Defaults `false`'
required: false
component:
description: 'name of the component used for branch naming and release tagging, defaults to a normalized version based on the package name'
required: false
include-v-in-tag:
description: 'include "v" in tag versions. Default `true`'
required: false
tag-separator:
description: 'configures separator character used in release tag'
required: false
snapshot-labels:
description: 'sets java snapshot pull request labels other than `autorelease: snapshot` '
required: false
bootstrap-sha:
description: 'if this is the first time running `manifest-pr` on a repo this key will limit how far back (exclusive) to pull commits for conventional commit parsing (see the manifest releaser docs https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md)'
required: false
last-release-sha:
description: 'overrides the commit sha release-please will use from which to gather commits for the current release (see the manifest releaser docs https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md)'
description: 'if set to true, then do not try to tag releases'
required: false
always-link-local:
description: 'when using the `node-workspace` plugin, setting to false will only bump your local dependencies within the SemVer range (see the manifest releaser docs)[https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md) . Default `true`.'
required: false
separate-pull-requests:
description: 'create separate pull requests for each package instead of a single manifest release pull request (see the manifest releaser docs https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md). Default `false`.'
required: false
plugins:
description: 'see https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md#plugins'
required: false
labels:
description: 'list of labels to apply to the release pull requests, defaults to `autorelease: pending`'
required: false
release-labels:
description: 'set a pull request label other than `autorelease: tagged`'
required: false
skip-labeling:
description: 'if set, labels will not be applied to pull requests. Default `false`.'
required: false
sequential-calls:
description: 'issue GitHub API requests sequentially rather than concurrently (see the manifest releaser docs https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md). Default `false`'
required: false
group-pull-request-title-pattern:
description: 'sets the manifest pull request title for when releasing multiple packages grouped together in the one pull request'
required: false
release-search-depth:
description: 'when searching for the latest release SHAs, only consider the last N releases'
required: false
commit-search-depth:
description: 'when fetching the list of commits to consider, only consider the last N commits'
required: false
proxy-server:
description: 'set proxy sever when you run this action behind a proxy. format is host:port e.g. proxy-host.com:8080'
default: false
skip-github-pull-request:
description: 'if set to true, then do not try to open pull requests'
required: false

default: false
runs:
using: 'node16'
using: 'node20'
main: 'dist/index.js'
Loading

0 comments on commit 9cf05a0

Please sign in to comment.