{"id":19615493,"url":"https://github.com/nickliffen/compare-releases","last_synced_at":"2026-01-27T14:31:42.958Z","repository":{"id":47082689,"uuid":"405014347","full_name":"NickLiffen/compare-releases","owner":"NickLiffen","description":"A GitHub Action that compares releases across repositories, and tells you which release is newer by timestamp","archived":false,"fork":false,"pushed_at":"2024-07-01T07:04:51.000Z","size":506,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T02:03:43.949Z","etag":null,"topics":["actions","compare","releases"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NickLiffen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-10T08:45:02.000Z","updated_at":"2025-02-01T18:58:16.000Z","dependencies_parsed_at":"2023-01-23T20:31:32.109Z","dependency_job_id":"d9e23246-ab9b-4213-be54-a86f7e63e04b","html_url":"https://github.com/NickLiffen/compare-releases","commit_stats":{"total_commits":14,"total_committers":3,"mean_commits":4.666666666666667,"dds":0.3571428571428571,"last_synced_commit":"a9a25a3748ebeb94b82e30ac4c36d9018729ee8c"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickLiffen%2Fcompare-releases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickLiffen%2Fcompare-releases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickLiffen%2Fcompare-releases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NickLiffen%2Fcompare-releases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NickLiffen","download_url":"https://codeload.github.com/NickLiffen/compare-releases/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239854209,"owners_count":19708025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","compare","releases"],"created_at":"2024-11-11T10:56:59.658Z","updated_at":"2026-01-27T14:31:42.926Z","avatar_url":"https://github.com/NickLiffen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compare Releases Across Repositories\n\nThis action compares two repositories, specifically the latest release. It will return data on which repository has released last.\n\nThe latest release is defined as when the `createdAt` timestamp is placed on the releases. E.g. when the release gets published.\n\nPurposes when this may be useful:\n\n- You are trying to keep in sync across two repositories.\n- You don't have access to programmatically subscribe to webhooks of a public repository, so you need to cron and check when the last time a release was made on a repository.\n- You need to trigger a workflow/pipeline/script when your repository is behind in a release.\n\nThe initial motivation for this repository was to be kept updated when a new release of a CLI tool got released, so we could make it into a container and keep that container updated with the latest version of the release. We didn't have access to webhooks on the repository, so doing this seemed the best approach without building a super complex solution.\n\n## Inputs\n\nPlease see the table below for the inputs. All are required.\n\n| Input Name            | Description                                                          | Required? |\n| --------------------- | -------------------------------------------------------------------- | --------- |\n| destinationRepository | The repository you need to check the release for. Format. `Org/Repo` | true      |\n| sourceRepository      | Normally, the repository this action will run in. Format. `Org/Repo` | true      |\n| token                 | A token which has access to the `repo` scope                         | true      |\n\nThinking of it in `git` terms. The `destination*` is the `base` branch, and the `source` is the `compare` branch.\n\n## Outputs\n\nThere are two outputs. `repo` and `tagName`.\n\nThe `repo` output is a string structured as the repository which has the latest release.\n\nThe `tagName` output is a string structured as the latest tag on the destination repository.\n\nTo access these outputs you can do something as such:\n\n```\n${{ steps.compare-releases.outputs.repo }}\n${{ steps.compare-releases.outputs.tagName }}\n```\n\nThe `repo` is formated in this string format:\n\n```\nOrgName/RepoName e.g. GitHub/octokit\n```\n\nIf there has been any error, an error will be thrown and the action will fail with an appropriate error message.\n\n## Example usage\n\n### Workflow steps\n\n```yaml\n- name: Compare The Latest Releases Between Two Repositories\n  uses: NickLiffen/compare-releases@v1\n  with:\n    destinationRepository: GitHub/fetch\n    sourceRepository: NickLiffen/GSSAR\n    token: ${{ secrets.GITHUBREADONLY }}\n```\n\nThe above example workflow will compare and see if the `destinationRepository` of `GitHub/fetch` has a newer release then the `sourceRepository` of `NickLiffen/GSSAR`. It will return whatever repository has a newer release.\n\n## Contribution\n\nContributions are welcome! Log an issue and lets chat.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickliffen%2Fcompare-releases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickliffen%2Fcompare-releases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickliffen%2Fcompare-releases/lists"}