{"id":20334906,"url":"https://github.com/mdb/ensure-unpublished-release-action","last_synced_at":"2026-03-11T03:02:10.591Z","repository":{"id":36975246,"uuid":"425228027","full_name":"mdb/ensure-unpublished-release-action","owner":"mdb","description":"A GitHub Action that checks whether a given GitHub release tag does not already exist.","archived":false,"fork":false,"pushed_at":"2026-03-05T04:13:38.000Z","size":4995,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-05T09:37:34.133Z","etag":null,"topics":["github-actions","github-releases","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-06T11:35:59.000Z","updated_at":"2026-03-05T04:13:36.000Z","dependencies_parsed_at":"2026-01-05T19:06:45.941Z","dependency_job_id":null,"html_url":"https://github.com/mdb/ensure-unpublished-release-action","commit_stats":{"total_commits":108,"total_committers":2,"mean_commits":54.0,"dds":0.01851851851851849,"last_synced_commit":"fab75a611f0112f518ec4a4c2ad684f76c5d4e37"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":"actions/typescript-action","purl":"pkg:github/mdb/ensure-unpublished-release-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Fensure-unpublished-release-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Fensure-unpublished-release-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Fensure-unpublished-release-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Fensure-unpublished-release-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdb","download_url":"https://codeload.github.com/mdb/ensure-unpublished-release-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdb%2Fensure-unpublished-release-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30368552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["github-actions","github-releases","typescript"],"created_at":"2024-11-14T20:38:34.005Z","updated_at":"2026-03-11T03:02:10.586Z","avatar_url":"https://github.com/mdb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![build-and-test](https://github.com/mdb/ensure-unpublished-release-action/actions/workflows/test.yml/badge.svg)](https://github.com/mdb/ensure-unpublished-release-action/actions/workflows/test.yml)\n\n# ensure-unpublished-release-action\n\nA GitHub Action that checks if a given GitHub release tag already exists.\n\nIn default configuration, `ensure-unpublished-release-action` succeeds if the\nprovided release tag is unique and does not already exist, and fails if the tag\nhas already been published as a GitHub release.\n\nThe action produces an `exists` output whose value is `true` or `false`.\n\n## Usage\n\n```yaml\n- uses: mdb/ensure-unpublished-release-action\n  with:\n    # Required; a GitHub release tag (typically the release name).\n    #\n    # Example:\n    # tag: ${{ env.VERSION }}\n    tag:\n\n    # Required; a GitHub access token (typically `secrets.GITHUB_TOKEN`).\n    #\n    # Example:\n    # token: ${{ secrets.GITHUB_TOKEN }}\n    token:\n\n    # Optional; if the specified skip-commit-message-pattern is present in the\n    # specified commit-message, do not fail, regardless of whether the release\n    # exists or not.\n    # If set, requires commit-message.\n    #\n    # Example:\n    # skip-commit-message-pattern: [skip ensure-version]\n    skip-commit-message-pattern:\n\n    # Optional; the commit message (typically ${{ github.event.head_commit.message }}).\n    # Required if skip-commit-message-pattern is set.\n    #\n    # Example:\n    # commit-message: ${{ steps.commit-details.outputs.commit-message }}\n    commit-message:\n\n    # Optional; If any of the specified newline-separated list of skip-authors\n    # matches the specified author, do not fail, regardless of whether the release\n    # exists or not.\n    #\n    # Example:\n    # skip-authors: |\n    #   dependabot[bot]\n    #   Ian Mackaye\n    #   Jeff Nelson\n    skip-authors:\n\n    # Optional; the commit author.\n    # Required if skip-authors is set.\n    #\n    # Example:\n    # author: ${{ steps.commit-details.outputs.author }}\n    author:\n```\n\n## Example\n\n```yaml\nname: Check that release version does not already exist\non:\n  pull_request:\n\njobs:\n  ensure-unpublished-version:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v5\n\n      - name: Get package.json version\n        run: echo \"PACKAGE_VERSION=$(jq -r .version package.json)\" \u003e\u003e $GITHUB_ENV\n\n      # Fail the build if package.json's 'version' property specifies\n      # a value associated with an already-existing release:\n      - uses: mdb/ensure-unpublished-release-action@v1\n        with:\n          tag: ${{ env.PACKAGE_VERSION }}\n          token: ${{ secrets.GITHUB_TOKEN }}\n```\n\nExample failure:\n\n![failure example](example_failure.png)\n\nSee `ensure-unpublished-release-action`'s own `.github/workflows` for an additional example.\n\n## Development\n\nInstall dependencies:\n\n```\nnpm install\n```\n\nFormat code, lint, compile TypeScript, package code for distribution, and run tests:\n\n```\nnpm run all\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdb%2Fensure-unpublished-release-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdb%2Fensure-unpublished-release-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdb%2Fensure-unpublished-release-action/lists"}