Skip to content

Commit

Permalink
ci: canary release
Browse files Browse the repository at this point in the history
  • Loading branch information
dalechyn committed Oct 20, 2024
1 parent 03b987e commit 2cb5815
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 0 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/canary.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Release (Canary)
on:
workflow_dispatch:

jobs:
canary:
name: Release canary
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Clone repository
uses: actions/checkout@v4

- name: Install dependencies
uses: ./.github/actions/install-dependencies

- name: Setup .npmrc file
uses: actions/setup-node@v4
with:
registry-url: 'https://registry.npmjs.org'

- name: Set version
run: |
cd src
npm --no-git-tag-version version $(npm pkg get version | sed 's/"//g')-$(git branch --show-current | tr -cs '[:alnum:]-' '-' | tr '[:upper:]' '[:lower:]' | sed 's/-$//').$(date +'%Y%m%dT%H%M%S')
bun ../scripts/postversion.ts
- name: Build
run: pnpm build

- name: Publish to npm
run: |
cd src
npm publish --tag $(git branch --show-current | tr -cs '[:alnum:]-' '-' | tr '[:upper:]' '[:lower:]' | sed 's/-$//')
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
8 changes: 8 additions & 0 deletions scripts/postversion.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { join } from 'node:path'

// Writes the current package.json version to `./src/version.ts`.
const versionFilePath = join(import.meta.dir, '../src/version.ts')
const packageJsonPath = join(import.meta.dir, '../src/package.json')
const packageVersion = (await Bun.file(packageJsonPath).json()).version

Bun.write(versionFilePath, `export const version = '${packageVersion}'\n`)
1 change: 1 addition & 0 deletions src/version.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const version = '0.0.0'

0 comments on commit 2cb5815

Please sign in to comment.