Skip to content

Commit

Permalink
feat: ✨ replace semantic-release with changesets
Browse files Browse the repository at this point in the history
  • Loading branch information
AkashRajpurohit committed Mar 29, 2024
1 parent d750e68 commit 187fee7
Show file tree
Hide file tree
Showing 8 changed files with 1,429 additions and 1,218 deletions.
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
13 changes: 13 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": [
"@changesets/changelog-github",
{
"repo": "AkashRajpurohit/utils"
}
],
"commit": false,
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch"
}
5 changes: 5 additions & 0 deletions .changeset/gorgeous-knives-explode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@akashrajpurohit/utils": minor
---

feat: :sparkles: replace semantic-release with changesets
63 changes: 4 additions & 59 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
name: CI
name: CI ⚙️

on:
push:
branches:
- main
- feat/*
- fix/*
workflow_dispatch:

permissions:
pull-requests: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand Down Expand Up @@ -76,57 +75,3 @@ jobs:
with:
name: coverage
path: coverage/

release:
# Release only when code is pushed to main branch and [skip ci] is not present
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && !contains(github.event.head_commit.message, '[skip ci]')}}
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
needs: [test]
steps:
- name: Checkout 🧳
uses: actions/checkout@v4

- name: Install Node.js 🔥
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install pnpm 👀
uses: pnpm/action-setup@v3
id: pnpm-install
with:
version: 8
run_install: false

- name: Get pnpm store directory 🏪
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Setup pnpm cache 💰
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies ⏬
run: pnpm install --no-frozen-lockfile

- name: Build ⏰
run: pnpm build
env:
NODE_ENV: production

- name: Release 🚀
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: pnpm semantic-release
73 changes: 73 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Release 🚀

on:
push:
branches:
- main
workflow_dispatch:

permissions:
pull-requests: write
contents: write
issues: write
id-token: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && !contains(github.event.head_commit.message, '[skip ci]')}}
runs-on: ubuntu-latest
steps:
- name: Checkout 🧳
uses: actions/checkout@v4

- name: Install Node.js 🔥
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install pnpm 👀
uses: pnpm/action-setup@v3
id: pnpm-install
with:
version: 8
run_install: false

- name: Get pnpm store directory 🏪
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Setup pnpm cache 💰
uses: actions/cache@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies ⏬
run: pnpm install --no-frozen-lockfile

- name: Test 🔫
run: pnpm run test:coverage

- name: Build ⏰
run: pnpm build
env:
NODE_ENV: production

- name: Release 🚀
id: changesets
uses: changesets/action@v1
with:
version: pnpm changeset version
publish: pnpm changeset publish
commit: 'ci: :package: release'
title: 'ci: :package: release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
73 changes: 0 additions & 73 deletions .releaserc

This file was deleted.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@akashrajpurohit/utils",
"version": "0.0.0-development",
"version": "2.2.0",
"description": "Common utils for my projects",
"repository": {
"type": "git",
Expand Down Expand Up @@ -44,14 +44,14 @@
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:watch": "vitest watch",
"semantic-release": "semantic-release"
"changeset": "changeset"
},
"devDependencies": {
"@biomejs/biome": "^1.6.2",
"@types/node": "^20.11.30",
"@vitest/coverage-v8": "^1.4.0",
"conventional-changelog-conventionalcommits": "^7.0.2",
"semantic-release": "^23.0.6",
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.1",
"tsup": "^8.0.2",
"typedoc": "^0.25.12",
"typescript": "^5.4.3",
Expand Down
Loading

0 comments on commit 187fee7

Please # to comment.