Fix github-release action when the dev tag is missing (#6098)
There was a missing rest field access. In addition createTag doesn't actually create a tag, it creates a tag object. A tag object is an object which references a commit or other kind of object and has various kinds of metadata. You need to store it in a reference stored in refs/tags/ to actually show as tag in the git ui. The code to update the tag however creates a lightweight tag (which is a file in refs/tags/ which directly references a commit rather than a tag object) as such do the same when creating the initial dev tag by using createRef with a commit id as object sha. See also https://git-scm.com/book/en/v2/Git-Internals-Git-References for the difference between a lightweight tag and an annotated tag.
This commit is contained in:
8
.github/actions/github-release/main.js
vendored
8
.github/actions/github-release/main.js
vendored
@@ -57,13 +57,11 @@ async function runOnce() {
|
|||||||
console.log("ERROR: ", JSON.stringify(e.data, null, 2));
|
console.log("ERROR: ", JSON.stringify(e.data, null, 2));
|
||||||
core.info(`creating dev tag`);
|
core.info(`creating dev tag`);
|
||||||
try {
|
try {
|
||||||
await octokit.git.createTag({
|
await octokit.rest.git.createRef({
|
||||||
owner,
|
owner,
|
||||||
repo,
|
repo,
|
||||||
tag: 'dev',
|
ref: 'refs/tags/dev',
|
||||||
message: 'dev release',
|
sha,
|
||||||
object: sha,
|
|
||||||
type: 'commit',
|
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// we might race with others, so assume someone else has created the
|
// we might race with others, so assume someone else has created the
|
||||||
|
|||||||
Reference in New Issue
Block a user