mirror of
https://github.com/joaquinjsb/gitea-release-please-action
synced 2026-05-12 16:31:35 +02:00
feat: handle creating releases (#3)
This commit is contained in:
1
.github/workflows/update-pr.yaml
vendored
1
.github/workflows/update-pr.yaml
vendored
@@ -11,3 +11,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
release-type: node
|
release-type: node
|
||||||
|
package-name: release-please-action
|
||||||
|
|||||||
@@ -3,10 +3,13 @@ description: 'automated releases based on conventional commits'
|
|||||||
author: 'Ben Coe <bencoe@google.com>'
|
author: 'Ben Coe <bencoe@google.com>'
|
||||||
inputs:
|
inputs:
|
||||||
token:
|
token:
|
||||||
description: 'token for creating and grooming release PRs (probably secrets.GITHUB_TOKEN)'
|
description: 'GitHub token for creating and grooming release PRs, e.g., secrets.GITHUB_TOKEN'
|
||||||
|
required: true
|
||||||
|
package-name:
|
||||||
|
description: 'name of the distributions releases are being created for, e.g., "name" in package.json, or "setup.py"'
|
||||||
required: true
|
required: true
|
||||||
release-type:
|
release-type:
|
||||||
description: 'what type of release is this, e.g., nodejs, java'
|
description: 'what type of release is this, one of (ruby, python, node, terraform-module)'
|
||||||
required: true
|
required: true
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node12'
|
||||||
|
|||||||
1295
dist/index.js
vendored
1295
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
18
index.js
18
index.js
@@ -1,17 +1,27 @@
|
|||||||
const core = require('@actions/core')
|
const core = require('@actions/core')
|
||||||
|
const { GitHubRelease } = require('release-please/build/src/github-release')
|
||||||
const { ReleasePRFactory } = require('release-please/build/src/release-pr-factory')
|
const { ReleasePRFactory } = require('release-please/build/src/release-pr-factory')
|
||||||
|
|
||||||
const RELEASE_LABEL = 'autorelease: pending'
|
const RELEASE_LABEL = 'autorelease: pending'
|
||||||
|
|
||||||
const action = core.getInput('action')
|
|
||||||
|
|
||||||
async function main () {
|
async function main () {
|
||||||
const token = core.getInput('token')
|
const token = core.getInput('token')
|
||||||
const releaseType = core.getInput('release-type')
|
const releaseType = core.getInput('release-type')
|
||||||
const name = core.getInput('name')
|
const packageName = core.getInput('package-name')
|
||||||
|
|
||||||
|
// First we check for any merged release PRs (PRs merged with the label
|
||||||
|
// "autorelease: pending"):
|
||||||
|
const gr = new GitHubRelease({
|
||||||
|
label: RELEASE_LABEL,
|
||||||
|
repoUrl: process.env.GITHUB_REPOSITORY,
|
||||||
|
packageName
|
||||||
|
})
|
||||||
|
await gr.createRelease()
|
||||||
|
|
||||||
|
// Next we check for PRs merged since the last release, and groom the
|
||||||
|
// release PR:
|
||||||
const release = ReleasePRFactory.build(releaseType, {
|
const release = ReleasePRFactory.build(releaseType, {
|
||||||
packageName: name || 'unknown',
|
packageName: packageName,
|
||||||
apiUrl: 'https://api.github.com',
|
apiUrl: 'https://api.github.com',
|
||||||
repoUrl: process.env.GITHUB_REPOSITORY,
|
repoUrl: process.env.GITHUB_REPOSITORY,
|
||||||
token: token,
|
token: token,
|
||||||
|
|||||||
Reference in New Issue
Block a user