@ivangabriele/semantic-release-config-dist

4.1.5 • Public • Published

My Semantic Release Configuration

MIT License GitHub Check Workflow Status NPM Version

A basic configuration for Semantic Release when using a single package repository (no monorepo) and NPM or Yarn as package manager fully released from a root /dist folder.

Usage

Run:

npm i -DE @ivangabriele/semantic-release-config-dist semantic-release

or:

yarn add -DE @ivangabriele/semantic-release-config-dist semantic-release

Extend it in your package.json:

{
  // ...
  "release": {
    "extends": "@ivangabriele/semantic-release-config-dist"
  }
}

Then add a manually triggered workflow in Github Actions (i.e.: .github\workflows\release.yml):

name: Release

on: workflow_dispatch

jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    permissions:
      contents: write
      id-token: write
      issues: write
      pull-requests: write
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          persist-credentials: false
      - name: Setup
        uses: actions/setup-node@v4
        with:
          cache: yarn
          node-version: 20
      - name: Install
        run: yarn --immutable
      - name: Build
        run: yarn build
      - name: Release
        run: yarn semantic-release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
      - name: Get new version
        run: echo "NEW_VERSION=$(npm pkg get version | sed 's/"//g')" >> "$GITHUB_ENV"
      - name: Create pull request
        uses: peter-evans/create-pull-request@v6
        with:
          branch: ci-release-v${{ env.NEW_VERSION }}
          commit-message: 'ci(release): v${{ env.NEW_VERSION }}'
          title: 'ci(release): v${{ env.NEW_VERSION }}'
          token: ${{ secrets.GITHUB_TOKEN }}

Package Sidebar

Install

npm i @ivangabriele/semantic-release-config-dist

Weekly Downloads

4

Version

4.1.5

License

MIT

Unpacked Size

13.4 kB

Total Files

5

Last publish

Collaborators

  • ivangabriele