mirror of
https://github.com/joaquinjsb/gitea-release-please-action
synced 2026-05-13 11:41:35 +02:00
feat: allow github-release/release-pr to be run separately (#70)
This commit is contained in:
@@ -50,6 +50,7 @@ Automate releases with Conventional Commit Messages.
|
|||||||
| `upload_url` | Directly related to [**Create a release**](https://developer.github.com/v3/repos/releases/#response-4) API |
|
| `upload_url` | Directly related to [**Create a release**](https://developer.github.com/v3/repos/releases/#response-4) API |
|
||||||
| `tag_name` | Directly related to [**Create a release**](https://developer.github.com/v3/repos/releases/#response-4) API |
|
| `tag_name` | Directly related to [**Create a release**](https://developer.github.com/v3/repos/releases/#response-4) API |
|
||||||
| `fork` | Should the PR be created from a fork (does not work with `secrets.GITHUB_TOKEN`) |
|
| `fork` | Should the PR be created from a fork (does not work with `secrets.GITHUB_TOKEN`) |
|
||||||
|
| `command` | release-please command to run, either `github-release`, or `release-pr` (_defaults to running both_) |
|
||||||
|
|
||||||
### Release types supported
|
### Release types supported
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ inputs:
|
|||||||
changelog-types:
|
changelog-types:
|
||||||
description: 'changlelog commit types'
|
description: 'changlelog commit types'
|
||||||
require: false
|
require: false
|
||||||
|
command:
|
||||||
|
description: 'release-please command to run, either "github-release", or "release-pr" (defaults to running both)'
|
||||||
|
require: false
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node12'
|
||||||
main: 'dist/index.js'
|
main: 'dist/index.js'
|
||||||
|
|||||||
7
dist/index.js
vendored
7
dist/index.js
vendored
@@ -2235,15 +2235,17 @@ async function main () {
|
|||||||
const token = core.getInput('token')
|
const token = core.getInput('token')
|
||||||
const fork = core.getInput('fork') ? true : undefined
|
const fork = core.getInput('fork') ? true : undefined
|
||||||
const changelogTypes = core.getInput('changelog-types')
|
const changelogTypes = core.getInput('changelog-types')
|
||||||
|
const command = core.getInput('command') ? core.getInput('command') : undefined
|
||||||
|
|
||||||
// Parse the changelogTypes if there are any
|
// Parse the changelogTypes if there are any
|
||||||
let changelogSections = undefined
|
let changelogSections
|
||||||
if (changelogTypes) {
|
if (changelogTypes) {
|
||||||
changelogSections = JSON.parse(changelogTypes)
|
changelogSections = JSON.parse(changelogTypes)
|
||||||
}
|
}
|
||||||
|
|
||||||
// First we check for any merged release PRs (PRs merged with the label
|
// First we check for any merged release PRs (PRs merged with the label
|
||||||
// "autorelease: pending"):
|
// "autorelease: pending"):
|
||||||
|
if (!command || command === 'github-release') {
|
||||||
const gr = new GitHubRelease({
|
const gr = new GitHubRelease({
|
||||||
label: RELEASE_LABEL,
|
label: RELEASE_LABEL,
|
||||||
repoUrl: process.env.GITHUB_REPOSITORY,
|
repoUrl: process.env.GITHUB_REPOSITORY,
|
||||||
@@ -2259,9 +2261,11 @@ async function main () {
|
|||||||
core.setOutput('upload_url', upload_url)
|
core.setOutput('upload_url', upload_url)
|
||||||
core.setOutput('tag_name', tag_name)
|
core.setOutput('tag_name', tag_name)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Next we check for PRs merged since the last release, and groom the
|
// Next we check for PRs merged since the last release, and groom the
|
||||||
// release PR:
|
// release PR:
|
||||||
|
if (!command || command === 'release-pr') {
|
||||||
const release = ReleasePRFactory.buildStatic(releaseType, {
|
const release = ReleasePRFactory.buildStatic(releaseType, {
|
||||||
monorepoTags,
|
monorepoTags,
|
||||||
packageName,
|
packageName,
|
||||||
@@ -2276,6 +2280,7 @@ async function main () {
|
|||||||
})
|
})
|
||||||
await release.run()
|
await release.run()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
main().catch(err => {
|
main().catch(err => {
|
||||||
core.setFailed(`release-please failed: ${err.message}`)
|
core.setFailed(`release-please failed: ${err.message}`)
|
||||||
|
|||||||
7
index.js
7
index.js
@@ -13,15 +13,17 @@ async function main () {
|
|||||||
const token = core.getInput('token')
|
const token = core.getInput('token')
|
||||||
const fork = core.getInput('fork') ? true : undefined
|
const fork = core.getInput('fork') ? true : undefined
|
||||||
const changelogTypes = core.getInput('changelog-types')
|
const changelogTypes = core.getInput('changelog-types')
|
||||||
|
const command = core.getInput('command') ? core.getInput('command') : undefined
|
||||||
|
|
||||||
// Parse the changelogTypes if there are any
|
// Parse the changelogTypes if there are any
|
||||||
let changelogSections = undefined
|
let changelogSections
|
||||||
if (changelogTypes) {
|
if (changelogTypes) {
|
||||||
changelogSections = JSON.parse(changelogTypes)
|
changelogSections = JSON.parse(changelogTypes)
|
||||||
}
|
}
|
||||||
|
|
||||||
// First we check for any merged release PRs (PRs merged with the label
|
// First we check for any merged release PRs (PRs merged with the label
|
||||||
// "autorelease: pending"):
|
// "autorelease: pending"):
|
||||||
|
if (!command || command === 'github-release') {
|
||||||
const gr = new GitHubRelease({
|
const gr = new GitHubRelease({
|
||||||
label: RELEASE_LABEL,
|
label: RELEASE_LABEL,
|
||||||
repoUrl: process.env.GITHUB_REPOSITORY,
|
repoUrl: process.env.GITHUB_REPOSITORY,
|
||||||
@@ -37,9 +39,11 @@ async function main () {
|
|||||||
core.setOutput('upload_url', upload_url)
|
core.setOutput('upload_url', upload_url)
|
||||||
core.setOutput('tag_name', tag_name)
|
core.setOutput('tag_name', tag_name)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Next we check for PRs merged since the last release, and groom the
|
// Next we check for PRs merged since the last release, and groom the
|
||||||
// release PR:
|
// release PR:
|
||||||
|
if (!command || command === 'release-pr') {
|
||||||
const release = ReleasePRFactory.buildStatic(releaseType, {
|
const release = ReleasePRFactory.buildStatic(releaseType, {
|
||||||
monorepoTags,
|
monorepoTags,
|
||||||
packageName,
|
packageName,
|
||||||
@@ -54,6 +58,7 @@ async function main () {
|
|||||||
})
|
})
|
||||||
await release.run()
|
await release.run()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
main().catch(err => {
|
main().catch(err => {
|
||||||
core.setFailed(`release-please failed: ${err.message}`)
|
core.setFailed(`release-please failed: ${err.message}`)
|
||||||
|
|||||||
Reference in New Issue
Block a user