Skip to content

Commit

Permalink
ci: add packages release workflow (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
sawaYch committed Mar 31, 2024
1 parent 017f3ef commit f695552
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .github/changeset-version.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// ORIGINALLY FROM CLOUDFLARE WRANGLER:
// https://github.com/cloudflare/wrangler2/blob/main/.github/changeset-version.js

const { exec } = require("child_process");

// This script is used by the `release.yml` workflow to update the version of the packages being released.
// The standard step is only to run `changeset version` but this does not update the package-lock.json file.
// So we also run `npm install`, which does this update.
// This is a workaround until this is handled automatically by `changeset version`.
// See https://github.com/changesets/changesets/issues/421.
exec("npx changeset version")
exec("npm install")
57 changes: 57 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Release next-youtube-livechat

on:
push:
branches:
- master
paths:
- packages\next-youtube-livechat
workflow_dispatch: {}

jobs:
release:
name: Create a PR for release workflow
runs-on: ubuntu-latest
permissions:
contents: write
deployments: write
packages: write
pull-requests: write
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
fetch-depth: 2

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

- name: Restore project deps
run: npm ci

- name: Build the package next-youtube-livechat
run: cd packages/next-youtube-livechat && npm run build

- name: Lint check
run: npm run lint

- name: Code format check
run: npm run format

- name: Typescript check
run: npm run typecheck

- name: Create Version PR or Publish to NPM
id: changesets
uses: changesets/action@v1.4.7
with:
commit: "chore(release): version packages"
title: "chore(release): version packages"
version: node .github/changeset-version.js
publish: npx changeset publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
NODE_ENV: "production"
4 changes: 4 additions & 0 deletions packages/next-youtube-livechat/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.prettierignore
**/.next/**
**/_next/**
**/dist/**

0 comments on commit f695552

Please sign in to comment.