Skip to content

nvie/pkg.pr.new

 
 

Repository files navigation

pkg.pr.new

We call it "Continuous Releases" too.

With pkg.pr.new, each of your commits and pull requests would trigger an instant release. This enables users to access features and bug-fixes without the need to wait for release cycles using npm or pull request merges.

  • 🚀 Instant Builds
  • 🛠️ Github Workflows Friendly
  • 📦️ No Configuration
  • 🔩 Single Command
  • ✉️ Pull Request Comments
  • 🔥 Check Runs

pkg.pr.new is aiming to reduce the number of these comments :)

This was fixed in #18. Can we release that fix?

Will ask the maintainer to release ;)

Setup

The Github Application is available here.

After installing on your repository, you can run npx pkg-pr-new pulibsh with GITHUB_TOKEN in your workflows and then you have continuous releases!

npm install --save-dev pkg-pr-new

Examples

  • Release each commit and pull request:
name: Publish Any Commit
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - run: corepack enable
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: "pnpm"

      - name: Install dependencies
        run: pnpm install

      - name: Build
        run: pnpm build

      - run: pnpm pkg-pr-new publish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN is provided automatically in any repository
  • Release approved pull requests only:
name: Publish Approved Pull Requests
on:
  pull_request_review:
    types: [submitted]

jobs:
  approved:
    if: github.event.review.state == 'APPROVED'
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - run: corepack enable
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: "pnpm"

      - name: Install dependencies
        run: pnpm install

      - run: pnpm pkg-pr-new publish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Releasing approved pull requests is the recommended way of having continuous releases. This ensures users always install approved and safe packages.

Publishing is only available in workflows and it supports any workflow trigger event, more information here.

About

Continuous Releases for your libraries!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.6%
  • JavaScript 0.4%