Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support to ignore pre-releases #1039

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -118,6 +118,7 @@ You can configure Release Drafter using the following key in your `.github/relea
| `change-template` | Optional | The template to use for each merged pull request. Use [change template variables](#change-template-variables) to insert values. Default: `"* $TITLE (#$NUMBER) @$AUTHOR"`. |
| `change-title-escapes` | Optional | Characters to escape in `$TITLE` when inserting into `change-template` so that they are not interpreted as Markdown format characters. Default: `""` |
| `no-changes-template` | Optional | The template to use for when there’s no changes. Default: `"* No changes"`. |
| `use-latest-public` | Optional | If `true`, compile a list since the latest public release and ignore pre-release. Default: `true`. |
| `references` | Optional | The references to listen for configuration updates to `.github/release-drafter.yml`. Refer to [References](#references) to learn more about this |
| `categories` | Optional | Categorize pull requests using labels. Refer to [Categorize Pull Requests](#categorize-pull-requests) to learn more about this option. |
| `exclude-labels` | Optional | Exclude pull requests using labels. Refer to [Exclude Pull Requests](#exclude-pull-requests) to learn more about this option. |
Expand Down
1 change: 1 addition & 0 deletions index.js
Expand Up @@ -165,6 +165,7 @@ module.exports = (app, { getRouter }) => {
context,
targetCommitish,
filterByCommitish,
config,
})

const { commits, pullRequests: mergedPullRequests } =
Expand Down
1 change: 1 addition & 0 deletions lib/default-config.js
Expand Up @@ -6,6 +6,7 @@ const DEFAULT_CONFIG = Object.freeze({
'change-template': `* $TITLE (#$NUMBER) @$AUTHOR`,
'change-title-escapes': '',
'no-changes-template': `* No changes`,
'use-latest-public': true,
'version-template': `$MAJOR.$MINOR.$PATCH`,
'version-resolver': {
major: { labels: [] },
Expand Down
14 changes: 13 additions & 1 deletion lib/releases.js
Expand Up @@ -24,6 +24,7 @@ const findReleases = async ({
context,
targetCommitish,
filterByCommitish,
config,
}) => {
let releaseCount = 0
let releases = await context.octokit.paginate(
Expand All @@ -47,9 +48,12 @@ const findReleases = async ({
? releases.filter((r) => targetCommitish.match(`/${r.target_commitish}$`))
: releases
const sortedPublishedReleases = sortReleases(
filteredReleases.filter((r) => !r.draft)
filteredReleases.filter(
(r) => !r.draft && !(config['use-latest-public'] && r.prerelease)
)
)
const draftRelease = filteredReleases.find((r) => r.draft)
const preRelease = filteredReleases.find((r) => r.prerelease)
const lastRelease =
sortedPublishedReleases[sortedPublishedReleases.length - 1]

Expand All @@ -59,6 +63,14 @@ const findReleases = async ({
log({ context, message: `No draft release found` })
}

if (config['use-latest-public']) {
if (preRelease) {
log({ context, message: `Pre-release: ${preRelease.tag_name}` })
} else {
log({ context, message: `No pre-release found` })
}
}

if (lastRelease) {
log({ context, message: `Last release: ${lastRelease.tag_name}` })
} else {
Expand Down
4 changes: 4 additions & 0 deletions lib/schema.js
Expand Up @@ -31,6 +31,10 @@ const schema = (context) => {
DEFAULT_CONFIG['no-changes-template']
),

'use-latest-public': Joi.boolean().default(
DEFAULT_CONFIG['use-latest-public']
),

'version-template': Joi.string().default(
DEFAULT_CONFIG['version-template']
),
Expand Down