Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/binary-compatible-builds/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Set up a CentOS 6 container to build releases in'
description: 'Set up a CentOS 6 container to build releases in'

runs:
using: node12
using: node16
main: 'main.js'
inputs:
name:
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/github-release/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ inputs:
description: ''
required: true
runs:
using: 'node12'
using: 'node16'
main: 'main.js'
42 changes: 25 additions & 17 deletions .github/actions/github-release/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ async function runOnce() {
core.info(`name: ${name}`);
core.info(`token: ${token}`);

const octokit = new github.GitHub(token);
const octokit = github.getOctokit(token);

// For the `dev` release we may need to update the tag to point to the new
// commit on this branch. All other names should already have tags associated
Expand All @@ -43,20 +43,10 @@ async function runOnce() {

if (tag === null || tag.data.object.sha !== sha) {
core.info(`updating existing tag or creating new one`);
// Delete the previous release for this tag, if any
try {
core.info(`fetching release for ${name}`);
const release = await octokit.repos.getReleaseByTag({ owner, repo, tag: name });
core.info(`deleting release ${release.data.id}`);
await octokit.repos.deleteRelease({ owner, repo, release_id: release.data.id });
} catch (e) {
// ignore, there may not have been a release
console.log("ERROR: ", JSON.stringify(e, null, 2));
}

try {
core.info(`updating dev tag`);
await octokit.git.updateRef({
await octokit.rest.git.updateRef({
owner,
repo,
ref: 'tags/dev',
Expand All @@ -80,6 +70,13 @@ async function runOnce() {
// tag by this point.
}
}

console.log("double-checking tag is correct");
tag = await octokit.request("GET /repos/:owner/:repo/git/refs/tags/:name", { owner, repo, name });
if (tag.data.object.sha !== sha) {
console.log("tag: ", JSON.stringify(tag.data, null, 2));
throw new Error("tag didn't work");
}
} else {
core.info(`existing tag works`);
}
Expand All @@ -91,12 +88,12 @@ async function runOnce() {
let release = null;
try {
core.info(`fetching release`);
release = await octokit.repos.getReleaseByTag({ owner, repo, tag: name });
release = await octokit.rest.repos.getReleaseByTag({ owner, repo, tag: name });
} catch (e) {
console.log("ERROR: ", JSON.stringify(e, null, 2));
core.info(`creating a release`);
try {
release = await octokit.repos.createRelease({
release = await octokit.rest.repos.createRelease({
owner,
repo,
tag_name: name,
Expand All @@ -105,19 +102,30 @@ async function runOnce() {
} catch(e) {
console.log("ERROR: ", JSON.stringify(e, null, 2));
core.info(`fetching one more time`);
release = await octokit.repos.getReleaseByTag({ owner, repo, tag: name });
release = await octokit.rest.repos.getReleaseByTag({ owner, repo, tag: name });
}
}
console.log("found release: ", JSON.stringify(release.data, null, 2));

// Upload all the relevant assets for this release as just general blobs.
for (const file of glob.sync(files)) {
const size = fs.statSync(file).size;
const name = path.basename(file);
for (const asset of release.data.assets) {
if (asset.name !== name)
continue;
console.log(`deleting prior asset ${asset.id}`);
await octokit.rest.repos.deleteReleaseAsset({
owner,
repo,
asset_id: asset.id,
});
}
core.info(`upload ${file}`);
await octokit.repos.uploadReleaseAsset({
await octokit.rest.repos.uploadReleaseAsset({
data: fs.createReadStream(file),
headers: { 'content-length': size, 'content-type': 'application/octet-stream' },
name: path.basename(file),
name,
url: release.data.upload_url,
});
}
Expand Down
Loading