fixed: Sort order in releases #129

This commit is contained in:
Arunavo Ray
2025-10-27 07:54:38 +05:30
parent ab4bbea9fd
commit af9bc861cf

View File

@@ -1992,12 +1992,20 @@ export async function mirrorGitHubReleasesToGitea({
let mirroredCount = 0; let mirroredCount = 0;
let skippedCount = 0; let skippedCount = 0;
// Sort releases by created_at to ensure we get the most recent ones const getReleaseTimestamp = (release: typeof releases.data[number]) => {
const sortedReleases = releases.data.sort((a, b) => const sourceDate = release.created_at ?? release.published_at ?? "";
new Date(b.created_at).getTime() - new Date(a.created_at).getTime() const timestamp = sourceDate ? new Date(sourceDate).getTime() : 0;
).slice(0, releaseLimit); return Number.isFinite(timestamp) ? timestamp : 0;
};
for (const release of sortedReleases) { // Capture the latest releases, then process them oldest-to-newest so Gitea mirrors keep chronological order
const releasesToProcess = releases.data
.slice()
.sort((a, b) => getReleaseTimestamp(b) - getReleaseTimestamp(a))
.slice(0, releaseLimit)
.sort((a, b) => getReleaseTimestamp(a) - getReleaseTimestamp(b));
for (const release of releasesToProcess) {
try { try {
// Check if release already exists // Check if release already exists
const existingReleasesResponse = await httpGet( const existingReleasesResponse = await httpGet(