mirror of
https://github.com/ButlerLogic/action-autotag.git
synced 2024-09-20 02:50:04 +07:00
Updated octokit methods.
This commit is contained in:
parent
d5e17eef8c
commit
3071dd056e
52
lib/main.js
52
lib/main.js
@ -1,5 +1,5 @@
|
|||||||
const github = require('@actions/github')
|
|
||||||
const core = require('@actions/core')
|
const core = require('@actions/core')
|
||||||
|
const { GitHub, context } = require('@actions/github')
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
@ -26,7 +26,7 @@ async function run() {
|
|||||||
core.setFailed('Invalid or missing GITHUB_TOKEN.')
|
core.setFailed('Invalid or missing GITHUB_TOKEN.')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const pkg_root = core.getInput('package_root', { required: false })
|
const pkg_root = core.getInput('package_root', { required: false })
|
||||||
const pkgfile = path.join(process.env.GITHUB_WORKSPACE, pkg_root, 'package.json')
|
const pkgfile = path.join(process.env.GITHUB_WORKSPACE, pkg_root, 'package.json')
|
||||||
@ -39,15 +39,22 @@ async function run() {
|
|||||||
core.setOutput('version', pkg.version)
|
core.setOutput('version', pkg.version)
|
||||||
core.debug(` Detected version ${pkg.version}`)
|
core.debug(` Detected version ${pkg.version}`)
|
||||||
|
|
||||||
// Check for existing tag
|
// Get authenticated GitHub client (Ocktokit): https://github.com/actions/toolkit/tree/master/packages/github#usage
|
||||||
const git = new github.GitHub(process.env.INPUT_GITHUB_TOKEN || process.env.GITHUB_TOKEN)
|
const github = new GitHub(process.env.GITHUB_TOKEN || process.env.INPUT_GITHUB_TOKEN)
|
||||||
const owner = process.env.GITHUB_REPOSITORY.split('/').shift()
|
|
||||||
const repo = process.env.GITHUB_REPOSITORY.split('/').pop()
|
// Get owner and repo from context of payload that triggered the action
|
||||||
|
const { owner, repo } = context.repo
|
||||||
|
|
||||||
|
// // Check for existing tag
|
||||||
|
// const git = new github.GitHub(process.env.INPUT_GITHUB_TOKEN || process.env.GITHUB_TOKEN)
|
||||||
|
// const owner = process.env.GITHUB_REPOSITORY.split('/').shift()
|
||||||
|
// const repo = process.env.GITHUB_REPOSITORY.split('/').pop()
|
||||||
|
|
||||||
let tags
|
let tags
|
||||||
try {
|
try {
|
||||||
tags = await git.repos.listTags({
|
tags = await github.repos.listTags({
|
||||||
...repo,
|
owner,
|
||||||
|
repo,
|
||||||
per_page: 100,
|
per_page: 100,
|
||||||
})
|
})
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -56,9 +63,10 @@ async function run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tagPrefix = core.getInput('tag_prefix', { required: false })
|
||||||
|
const tagSuffix = core.getInput('tag_suffix', { required: false })
|
||||||
|
|
||||||
const getTagName = version => {
|
const getTagName = version => {
|
||||||
const tagPrefix = core.getInput('tag_prefix', { required: false })
|
|
||||||
const tagSuffix = core.getInput('tag_suffix', { required: false })
|
|
||||||
return `${tagPrefix}${version}${tagSuffix}`
|
return `${tagPrefix}${version}${tagSuffix}`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,8 +87,9 @@ async function run() {
|
|||||||
try {
|
try {
|
||||||
latestTag = tags.data.shift()
|
latestTag = tags.data.shift()
|
||||||
|
|
||||||
let changelog = await git.repos.compareCommits({
|
let changelog = await github.repos.compareCommits({
|
||||||
...repo,
|
owner,
|
||||||
|
repo,
|
||||||
base: latestTag.name,
|
base: latestTag.name,
|
||||||
head: 'master',
|
head: 'master',
|
||||||
})
|
})
|
||||||
@ -107,15 +116,16 @@ async function run() {
|
|||||||
try {
|
try {
|
||||||
tagMsg = tagMsg.trim().length > 0 ? tagMsg : `Version ${pkg.version}`
|
tagMsg = tagMsg.trim().length > 0 ? tagMsg : `Version ${pkg.version}`
|
||||||
|
|
||||||
newTag = await git.git.createTag({
|
newTag = await github.git.createTag({
|
||||||
...repo,
|
owner,
|
||||||
|
repo,
|
||||||
tag: tagName,
|
tag: tagName,
|
||||||
message: tagMsg,
|
message: tagMsg,
|
||||||
object: process.env.GITHUB_SHA,
|
object: process.env.GITHUB_SHA,
|
||||||
type: 'commit',
|
type: 'commit'
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(`Created new tag: ${newTag.data.tag}` + os.EOL)
|
core.warning(`Created new tag: ${newTag.data.tag}`)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
core.setFailed(e.message)
|
core.setFailed(e.message)
|
||||||
return
|
return
|
||||||
@ -123,16 +133,18 @@ async function run() {
|
|||||||
|
|
||||||
let newReference
|
let newReference
|
||||||
try {
|
try {
|
||||||
newReference = await git.git.createRef({
|
newReference = await github.git.createRef({
|
||||||
...repo,
|
owner,
|
||||||
|
repo,
|
||||||
ref: `refs/tags/${newTag.data.tag}`,
|
ref: `refs/tags/${newTag.data.tag}`,
|
||||||
sha: newTag.data.sha,
|
sha: newTag.data.sha,
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log(`Reference ${newReference.data.ref} available at ${newReference.data.url}` + os.EOL)
|
core.warning(`Reference ${newReference.data.ref} available at ${newReference.data.url}` + os.EOL)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
core.warning({
|
core.warning({
|
||||||
...repo,
|
owner,
|
||||||
|
repo,
|
||||||
ref: `refs/tags/${newTag.data.tag}`,
|
ref: `refs/tags/${newTag.data.tag}`,
|
||||||
sha: newTag.data.sha,
|
sha: newTag.data.sha,
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user