handle negative release situation
This commit is contained in:
27
.github/workflows/build.yml
vendored
27
.github/workflows/build.yml
vendored
@@ -153,17 +153,22 @@ jobs:
|
|||||||
const tagName = '${{ steps.version.outputs.version }}';
|
const tagName = '${{ steps.version.outputs.version }}';
|
||||||
const releaseName = `Release ${tagName}`;
|
const releaseName = `Release ${tagName}`;
|
||||||
|
|
||||||
// Fetch the latest release to calculate time since last release
|
let lastReleaseTime;
|
||||||
const latestRelease = await github.rest.repos.getLatestRelease({
|
let hoursSinceLastRelease = 'N/A';
|
||||||
owner: ownerName,
|
|
||||||
repo: repoName,
|
|
||||||
});
|
|
||||||
|
|
||||||
const lastReleaseTime = new Date(latestRelease.data.published_at);
|
try {
|
||||||
const currentTime = new Date();
|
const latestRelease = await github.rest.repos.getLatestRelease({
|
||||||
const hoursSinceLastRelease = ((currentTime - lastReleaseTime) / 3600000).toFixed(2);
|
owner: ownerName,
|
||||||
|
repo: repoName,
|
||||||
|
});
|
||||||
|
|
||||||
|
lastReleaseTime = new Date(latestRelease.data.published_at);
|
||||||
|
const currentTime = new Date();
|
||||||
|
hoursSinceLastRelease = ((currentTime - lastReleaseTime) / 3600000).toFixed(2);
|
||||||
|
} catch (error) {
|
||||||
|
console.log("No previous releases found or error fetching latest release");
|
||||||
|
}
|
||||||
|
|
||||||
// Sponsorship details
|
|
||||||
const sponsorshipDetails = `
|
const sponsorshipDetails = `
|
||||||
Support our project:
|
Support our project:
|
||||||
- Patreon: https://www.patreon.com/debridmediamanager
|
- Patreon: https://www.patreon.com/debridmediamanager
|
||||||
@@ -171,7 +176,6 @@ jobs:
|
|||||||
- PayPal: https://paypal.me/yowmamasita
|
- PayPal: https://paypal.me/yowmamasita
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Query GitHub sponsors
|
|
||||||
async function getGithubSponsors() {
|
async function getGithubSponsors() {
|
||||||
const query = `
|
const query = `
|
||||||
query {
|
query {
|
||||||
@@ -188,7 +192,6 @@ jobs:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await github.graphql(query);
|
const response = await github.graphql(query);
|
||||||
return response.viewer.sponsorshipsAsMaintainer.nodes
|
return response.viewer.sponsorshipsAsMaintainer.nodes
|
||||||
@@ -202,7 +205,6 @@ jobs:
|
|||||||
|
|
||||||
const githubSponsors = await getGithubSponsors();
|
const githubSponsors = await getGithubSponsors();
|
||||||
|
|
||||||
// Constructing the release body
|
|
||||||
const releaseBody = `
|
const releaseBody = `
|
||||||
Release: ${tagName}
|
Release: ${tagName}
|
||||||
Hours since last release: ${hoursSinceLastRelease} hours
|
Hours since last release: ${hoursSinceLastRelease} hours
|
||||||
@@ -212,7 +214,6 @@ jobs:
|
|||||||
Shoutouts to our amazing sponsors! ${githubSponsors.join(', ')}
|
Shoutouts to our amazing sponsors! ${githubSponsors.join(', ')}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// Create a release
|
|
||||||
const response = await github.rest.repos.createRelease({
|
const response = await github.rest.repos.createRelease({
|
||||||
owner: ownerName,
|
owner: ownerName,
|
||||||
repo: repoName,
|
repo: repoName,
|
||||||
|
|||||||
Reference in New Issue
Block a user