{"id":18285906,"url":"https://github.com/exodusmovement/lerna-release-action","last_synced_at":"2026-03-16T13:44:19.234Z","repository":{"id":231562204,"uuid":"587167932","full_name":"ExodusMovement/lerna-release-action","owner":"ExodusMovement","description":"Selectively release packages from a lerna monorepo","archived":false,"fork":false,"pushed_at":"2024-10-17T15:30:27.000Z","size":12908,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-30T15:25:14.939Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ExodusMovement.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-10T05:40:36.000Z","updated_at":"2024-10-21T22:10:58.000Z","dependencies_parsed_at":"2024-06-07T09:02:28.506Z","dependency_job_id":"022ad8bf-b177-4345-ac37-46694eaa8bb9","html_url":"https://github.com/ExodusMovement/lerna-release-action","commit_stats":null,"previous_names":["exodusmovement/lerna-release-action"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExodusMovement%2Flerna-release-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExodusMovement%2Flerna-release-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExodusMovement%2Flerna-release-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExodusMovement%2Flerna-release-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExodusMovement","download_url":"https://codeload.github.com/ExodusMovement/lerna-release-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223174747,"owners_count":17100272,"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":[],"created_at":"2024-11-05T13:18:09.289Z","updated_at":"2026-03-16T13:44:19.228Z","avatar_url":"https://github.com/ExodusMovement.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Checks](https://github.com/ExodusMovement/lerna-release-action/actions/workflows/checks.yml/badge.svg)](https://github.com/ExodusMovement/lerna-release-action/actions/workflows/checks.yml)\n\n## ExodusMovement/lerna-release-action\n\nAction that allows selectively releasing packages in a lerna monorepo. It works around lerna's opinionated releasing of every dependant if a package changed. This comes with its own dangers and should be used with caution. The action creates\na release PR that is assigned to the user that dispatched the workflow.\n\n### Version workflow\n\n```yaml\nname: Version\non:\n  workflow_dispatch:\n    inputs:\n      packages:\n        description: 'Selected packages as comma separated string, e.g. @exodus/storage-spec,@exodus/formatting or just storage-spec,formatting'\n        type: string\n        required: true\n\njobs:\n  version:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n        with:\n          fetch-depth: 0\n      - uses: actions/setup-node@v3\n        with:\n          node-version-file: '.nvmrc'\n      - name: Install dependencies\n        run: yarn install\n      - uses: ExodusMovement/lerna-release-action/version@master\n        name: Version\n        with:\n          github-token: ${{ secrets.GH_AUTOMATION_PAT }} # should not be the default GITHUB_TOKEN, otherwise subsequent automation will not run (such as checks on the release PR)\n          packages: ${{ inputs.packages }}\n```\n\n#### Enabling auto-merge\n\nThe Version action can enable auto-merge on the created pull request. This is possible when the repository allows auto-merge, squash merging is enabled and has branch protection rules set up.\n\nTo use it, set the `auto-merge` input of the action to `true`.\n\n```yaml\n- uses: ExodusMovement/lerna-release-action/version@master\n  name: Version\n  with:\n    # other inputs here\n    auto-merge: true\n```\n\n### Publish workflow\n\n```yaml\nname: Publish\non:\n  pull_request:\n    types:\n      - closed\n  workflow_dispatch:\n\njobs:\n  publish:\n    runs-on: ubuntu-latest\n  steps:\n    - uses: actions/checkout@v3\n      with:\n        ref: ${{ github.event.pull_request.head.sha }}\n    - uses: actions/setup-node@v3\n      with:\n        node-version-file: '.nvmrc'\n    - name: Install dependencies\n      run: yarn install\n    - name: Build\n      run: yarn build\n    - name: Publish\n      uses: ExodusMovement/lerna-release-action/publish@master\n```\n\n### Version dispatch workflow\n\nAutomatically start versioning of packages when a PR is merged. Requires using `ExodusMovement/lerna-package-name-action` to label PRs, as these package labels will be used to determine the packages to be versioned.\n\n```yaml\nname: Version dispatch\non:\n  pull_request:\n    types:\n      - closed\n\njobs:\n  invoke-versioning:\n    if: contains(github.event.pull_request.labels.*.name , 'publish-on-merge') == false \u0026\u0026 contains(github.event.pull_request.labels.*.name , 'skip-release') == false\n    name: Invoke version workflow\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: ExodusMovement/lerna-release-action/version-dispatch@master\n        with:\n          version-workflow-id: version.yaml\n          github-token: ${{ secrets.GH_AUTOMATION_PAT }}\n          exclude-commit-types: chore,docs,test,ci\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexodusmovement%2Flerna-release-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexodusmovement%2Flerna-release-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexodusmovement%2Flerna-release-action/lists"}